Course Syllabus

Note to screen reader users. This page contains interactive tabs. Screen reader will read through each tab in order, regardless of whichever one is currently being displayed. Please contact me if you need assistance.

>>> Take the Syllabus Quiz ASAP <<<

Click here to download a pdf version of the Syllabus

Click here to download a pdf version of the Weekly Schedule

Please note that some content linked on this page may only be available to registered students.

Welcome to Mobile Development

Computing power is everywhere, even in the palms of our hands, in the form of "smart phones." In this course, you will learn the fundamentals of cross-platform mobile application development using Android, via state-of-the-art curriculum created by Google. You'll explore how to use the Android SDK utilizing Jetpack Compose and the Kotlin programming language to create compelling mobile applications that run on any Android device. 

For more information on the course, as well as how to best navigate the many helpful resources provided, please watch the videos on the Front Page.

About the Instructor

Bill Pfeil

My name is Bill Pfeil and I’ll be your instructor for this course. I have a M.S. in Math Education from OSU. I did my undergrad at the University of Arizona in Applied Math and ECE. In between my two degrees I spent 25 years as a software engineer, and have worked on everything from client-server apps to games. I am excited to work with all of you as you learn Mobile Development!

Course Designer: Randy Scovil

Course Name: Mobile Software Development
Course Number: CS 492
Credits: 4
Instructors (for all sections):

Teaching Assistant Name and Contact Info:  Available on the "Where to go for help" tab

This syllabus describes the administrative parts of the course and serves as a contract between student and instructor. Remaining in this course indicates acceptance of these rules.

Remember that in this Capstone course, you are expected to behave professionally. Please use this document throughout the course.


Table of Contents


Course Description

Introduction to concepts and techniques for developing mobile applications. Become familiar with modern mobile structure, implementation, development tools, and workflow.

Prerequisites: CS 344 / CS 374 with C or better.


Communication

  1. Make sure to turn on Canvas Notifications for Announcements. The instructional team will be using Canvas Announcements extensively to communicate with you. It is your responsibility to keep up to date with these announcements and they are considered part of the required learning material.

  2. Please post all course-related questions in the Ed Discussions forum so that the whole class may benefit from your conversation. Not all posts require a reply from the instructor/TA and often it is better for students to hash out an answer to a question.

  1. Office hours will be held online through the class Microsoft Teams Team. To get started on Teams please go to https://is.oregonstate.edu/teams. Be sure to add the class-specific Teams directions are in the first course Module.

  2. Please email (do NOT use Canvas Messaging) your instructor only for matters of a personal or private (grading) nature. The instructor or a TA will reply to most course- related questions within 48 hours, though this may vary on weekends.

  3. Any email sent to the instructor about this course must originate with an OSU supplied email account and contain the tag [CS492] at the beginning of the subject. Failure to comply with this will result in a delayed (or possibly nonexistent) response to your email.

  4. We will strive to return your assignments and grades for course activities to you within 7 days of the due date. You can find a detailed communication policy as well as information on Team Office Hours on the Canvas Syllabus page -> Where to go for help (tab).

Canvas & Ed Discussions

  1. This course will be delivered via Canvas, and you will interact with your classmates and with your instructor through Ed Discussions. Within the course Canvas site, you will access the learning materials, such as the syllabus, modules, assignments, and exams. Class discussions will be on Ed Discussions.

  2. To preview how an online course works, visit the Ecampus Course Demo. For technical assistance, please visit Ecampus Technical Help.

  3. Canvas is optimized for the most recent versions of most popular browsers. If your browser of choice is an out-of-date version, you should update it for use with Canvas, especially for exams. If you are having browser troubles, seek out the Technical Assistance described below.

  4. If your primary device has trouble dealing with Canvas (e.g., as some tablets do), make sure that you have an alternative available for things like exams or quizzes. If you are having device troubles, seek out the Technical Assistance described below. It is your responsibility to make sure that you have a trouble-free device before taking the exam or quiz.

  5. General announcements for the class will be sent as emails through Canvas and posted as Canvas announcements. It is your responsibility to keep up with messages in Canvas Announcements and Inbox Messages.


Time Expectations

This course is online only, and requires approximately 12 hours per week of student work on class material, assignments, and quizzes for a total of 4 credits.


Technical Assistance

If you experience any errors or problems while in your online course, contact 24-7 Canvas Support through the Help link within Canvas. If you experience computer difficulties, need help downloading a browser or plug-in, or need assistance logging into a course, contact the IS Service Desk for assistance. You can call (541) 737-8787 or visit the  IS Service Desk online.


Learning Resources

Learning Resources

There are no textbooks for this course.

We will be utilizing the free Android Basics with Compose curriculum produced by the Google Developer Relations team. No registration or purchase is necessary. 

Additional resources:  Kotlin Language.


Measurable Student Learning Outcomes

After completion of this course, students will have demonstrated an ability to:

  1. Design and create applications on one or more modern mobile platforms.
  2. Use mobile development tools, such as device emulators, for developing and testing applications.
  3. Apply appropriate design principles to create an effective mobile application interface.
  4. Employ elements of responsive design to create mobile applications that work on different screen sizes.
  5. Use other apps on a mobile device to perform operations such as mapping and content sharing.
  6. Employ different kinds of on-device data storage, such as preferences, on-device databases, and file-based storage.
  7. Evaluate mobile application performance and apply appropriate optimization techniques to allow the application to scale.
  8. Use analytics tools to understand in-app user behavior.

Evaluation of Student Performance

Week Assignment Points ea. # Total Points
Percent of grade
1 Syllabus Quiz 5 1 5 2.50%
1 Assignment 1 15 1 15 7.50%
2 Assignment 2 15 1 15 7.50%
3 Assignment 3 15 1 15 7.50%
4-6 Assignment 4 30 1 30 15.00%
6 Design Review Discussion 20 1 20 10.00%
6-8 Assignment 5 30 1 30 15.00%
1-7 Quizzes 10 7 70 35.00%
Totals 200 100.00%

 


Letter Grade

Grading responsibilities are shared between the instructors and the TAs. See the "Read Me First" tab of the Syllabus page to find out who will be grading your work.

Total Percentage vs. Letter Grade

Letter Grade Range
A 100% to 93%
A- < 93% to 90%
B+ < 90% to 87%
B < 87% to 83%
B- < 83% to 80%
C+ < 80% to 77%
C < 77% to 73%
C- < 73% to 70%
D+ < 70% to 67%
D < 67% to 63%
D- < 63% to 60%
F < 60% to 0%

Course Content

CS 492 Course Content
Module Topic
1 Your first Android app
2 Building app UI
3 Display lists and use Material Design
4 Navigation and app architecture
5 Connect to the internet
6 Sensors and Location Services
7 WorkManager
8 Maps SDK and Firebase
Finals No Final in this Course

 

 


Course Policies

Discussion Participation

Students are expected to participate in all graded discussions. While there is great flexibility in online courses, this is not a self-paced course. You will need to participate in discussions on at least two different days each week, with your first post due on the assignment due date, and replies due several days later.

Late Work Policy

Most assignments allow submissions up to three days after the due date for a reduced maximum score. Each assignment has a due date listed on Canvas. Assignments that may be submitted late also have an available until date, which is 72 hours after the initial due date. For these assignments, the following policy applies:

    • Assignments submitted after the due date will have 5% of total score per day deduction applied.
    • For example, if the assignment is worth 100 points, 5 points will be deducted per day after the due date. If a submission is 2 days late, and the student is awarded 90 points, their final grade on the assignment would be 80 points (2 days late x 5 points deduction per day = 10 point Late Penalty).
    • Allowances can be made IF a student contacts one of the Instructors at least one day IN ADVANCE of the due date. Any allowance for late work is at the discretion of the Instructors.

Makeup Exams

Makeup exams or quizzes will be given only if excused in advance by the instructor. Excused absences will not be given for airline reservations, routine illness (colds, flu, stomach aches), or other common ailments. Excused absences will generally not be given after the absence has occurred, except under very unusual circumstances.


Incompletes

Incomplete (I) grades will be granted only in emergency cases (usually only for a death in the family, major illness or injury, or birth of your child), and if the student has turned in 80% of the points possible (in other words, usually everything but the final week assignments). If you are having any difficulty that might prevent you completing the coursework, please don’t wait until the end of the term; let us know right away.


Statement Regarding Religious Accommodation

Oregon State University is required to provide reasonable accommodations for employee and student sincerely held religious beliefs. It is incumbent on the student making the request to make the faculty member aware of the request as soon as possible prior to the need for the accommodation. See the Religious Accommodation Process for Students.


Guidelines for a Productive and Effective Online Classroom

(Adapted from Dr. Susan Shaw, Oregon State University)

Students are expected to conduct themselves in the course (e.g., on discussion boards, email) in compliance with the university’s regulations regarding civility. Civility is an essential ingredient for academic discourse. All communications for this course should be conducted constructively, civilly, and respectfully. Differences in beliefs, opinions, and approaches are to be expected. In all you say and do for this course, be professional. Please bring any communications you believe to be in violation of this class policy to the attention of your instructor.

Active interaction with peers and your instructor is essential to success in this online course, paying particular attention to the following:

  • Unless indicated otherwise, please complete the readings and view other instructional materials for each week before participating in the discussion board.
  • Read your posts carefully before submitting them.
  • Be respectful of others and their opinions, valuing diversity in backgrounds, abilities, and experiences.
  • Challenging the ideas held by others is an integral aspect of critical thinking and the academic process. Please word your responses carefully, and recognize that others are expected to challenge your ideas. A positive atmosphere of healthy debate is encouraged.

Establishing a Positive Community

It is important you feel safe and welcome in this course. If somebody is making discriminatory comments against you, sexually harassing you, or excluding you in other ways, contact the instructor, your academic advisor, and/or report what happened at Student Conduct Reporting so we can connect you with resources.


Expectations for Student Conduct

Student conduct is governed by the university’s policies, as explained in the Student Conduct Code ( OSU Student Code of Conduct). Students are expected to conduct themselves in the course (e.g., on discussion boards, email postings) in compliance with the university's regulations regarding civility.


Academic Integrity

Academic Honesty

  • Students are expected to do their own work. The only sources you’re allowed to use code from are the explorations or specifically mentioned sample projects from developer.android.com, and no citation of this code is necessary. Direct use of any other resources is prohibited.
  • Programming assignments present unique challenges for graders. It is often difficult for a grader to distinguish between legitimate help and plagiarism. We use plagiarism-detection software to check your code against the code from other students. It is quite sophisticated and can see through variable name changes and formatting differences.

Honesty is essential for learning to take place. It will form the foundation of your professional integrity in your career.

Specific Examples:

  • You may ask conceptual questions related to optimizing your code on Teams or Ed.
  • You are encouraged to discuss course content with other students, TAs, the instructor, or anyone else who will listen, including general discussion of homework assignments and how to fix specific issues.
  • You may share pseudocode and ideas about how to solve or approach problems. If you are getting odd error messages, you can share the snippet of code that is producing the message; do not share the entire file.
  • You may not post any complete functions/procedures/logic blocks to Teams or Ed.
  • You must write new, original programs, even if you are re-taking the course.
  • If you are retaking the course, you must generate new programming solutions (you may not re-use your own work from previous terms)
  • You may not copy anyone’s (or allow someone to copy your) solutions. It is possible to discuss problems without plagiarizing. One of the best methods of debugging is to explain your solution to someone else.
  • You may not post any exam questions or solutions in any form.
  • You must make any git repo you post this code on private, with the exception of the Portfolio assignment.

If you are found in violation of any of the above policies, whether you are the giver or receiver of help, you will be subject to the University Academic Misconduct process. The first offense usually results in a warning and an assignment penalty (0- grade); the second offense can result in a disciplinary hearing, and possibly removal from the Program.

The bottom line is: Each student is expected to understand all aspects of the programs they submit for credit.

The following are examples of plagiarism, drawn from actual submitted and penalized cases.

  • Student Googled the problem and ended up finding a code written online. Student used the code there to improve their own work.
  • Student worked with a classmate, each tackling one half of the program. Both students modified the identifiers, labels, comments, etc...
  • Student found a solution to the problem online and changed a few variable names and methods and handed it as their own.

Academic Integrity

Integrity is a character-driven commitment to honesty, doing what is right, and guiding others to do what is right. Oregon State University Ecampus students and faculty have a responsibility to act with integrity in all of our educational work, and that integrity enables this community of learners to interact in the spirit of trust, honesty, and fairness across the globe.

Academic misconduct, or violations of academic integrity, can fall into seven broad areas, including but not limited to: cheating; plagiarism; falsification; assisting; tampering; multiple submissions of work; and unauthorized recording and use.

It is important that you understand what student actions are defined as academic misconduct at Oregon State University. The OSU Libraries offer a tutorial on academic misconduct, and you can also refer to the Ecampus Student Conduct Policies and the Office of Student Conduct and Community Standard’s website for more information. More importantly, if you are unsure if something will violate our academic integrity policy, ask your professors, GTAs, academic advisors, or academic integrity officers.


TurnItIn

Your instructor may ask you to submit one or more of your writings to Turnitin, a plagiarism prevention service. Your assignment content will be checked for potential plagiarism against Internet sources, academic journal articles, and the papers of other OSU students, for common or borrowed content. Turnitin generates a report that highlights any potentially unoriginal text in your paper. The report may be submitted directly to your instructor or your instructor may elect to have you submit initial drafts through Turnitin, and you will receive the report allowing you the opportunity to make adjustments and ensure that all source material has been properly cited. Papers you submit through Turnitin for this or any class will be added to the OSU Turnitin database and may be checked against other OSU paper submissions. You will retain all rights to your written work. For further information, visit Academic Integrity for Students: Turnitin – What is it?


Statement Regarding Students with Disabilities

Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval, please contact DAS immediately at 541-737-4098 or at Disability Access Services . DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.


Accessibility of Course Materials

All materials used in this course are accessible. If you require accommodations please contact Disability Access Services (DAS).

Additionally, Canvas, the learning management system through which this course is offered, provides a vendor statement certifying how the platform is accessible to students with disabilities.


Tutoring and Writing Assistance

There are a variety of tutoring and academic skills resources across campus. Here are some of the most common for engineering students.


Ecampus Reach Out for Success

University students encounter setbacks from time to time. If you encounter difficulties and need assistance, it’s important to reach out. Consider discussing the situation with an instructor or academic advisor. Learn about resources that assist with wellness and academic success.

Ecampus students are always encouraged to discuss issues that impact your academic success with the Ecampus Success Team. Email ecampus.success@oregonstate.edu to identify strategies and resources that can support you in your educational goals.

If you feel comfortable sharing how a hardship may impact your performance in this course, please reach out to me as your instructor.

  • For mental health:

Learn about counseling and psychological resources for Ecampus students. If you are in immediate crisis, please contact the Crisis Text Line by texting OREGON to 741-741 or call the National Suicide Prevention Lifeline at 1-800-273-TALK (8255).

The Anytime Anywhere app from OSU Counseling (https://counseling.oregonstate.edu/anytimeanywhere) gives students access to free and confidential mental health and wellness counseling at any time of day, from anywhere in the world, 365 days a year.

  • For financial hardship:

Any student whose academic performance is impacted due to financial stress or the inability to afford groceries, housing, and other necessities for any reason is urged to contact the Director of Care for support (541-737-8748).

Academic Calendar

All students are subject to the registration and refund deadlines as stated in the Academic Calendar.


Student Evaluation of Courses

During Fall, Winter, and Spring term, the online Student Evaluation of Teaching system opens to students the Wednesday of week 8 and closes the Sunday before Finals Week. Students will receive notification, instructions and the link through their ONID email. They may also log into the system via Online Services. Course evaluation results are extremely important and used to help improve courses and the learning experience of future students. Responses are anonymous (unless a student chooses to “sign” their comments, agreeing to relinquish anonymity) and unavailable to instructors until after grades have been posted. The results of scaled questions and signed comments go to both the instructor and their unit head/supervisor. Anonymous (unsigned) comments go to the instructor only.


Student Bill of Rights

Something OSU has twelve established student rights. They include due process in all university disciplinary processes, an equal opportunity to learn, and grading in accordance with the course syllabus:  Student Bill of Rights

Potential Updates to this Syllabus During the Course

Please note: The instructor reserves the right to make changes to this syllabus as needed. All changes will be communicated via email and/or Canvas announcements.


Course Outline By Week

Before term starts / Week 0

Week 1

Week 2

Week 3

Week 4

Week 5

Week 6

Week 7

Week 8

  • Watch, read, and work through Module 8 - Other SDKs and Tools of Interest
  • Review the primary topics in the Explorations for future investigation and implementation in your own apps
  • There is no Quiz for this module

Finals Week

  • There are no exams or finals in this course. You're done!

Course Resources

The "textbook" for this course is the Android Basics with Compose curriculum from Google.  (No registration or cost is required.)  Additional reading and learning materials are provided via Canvas.

Ed Discussion Board

Ed Discussion is the best and fastest way to get help with course-related questions!

CoE Peer Tutoring

Schedule free personalized tutoring with our College of Engineering student tutors.  You can get more information and make an appointment here:  CoE Peer Tutoring (also linked in the navigation panel on the left).

Office Hours - MS Teams (see below for schedule)

MS Teams is where to look for real-time help from peers and the instructional team.

  • The official MS Teams workspace name is: 

    CS_492_40X_U2024

Email Links (Please prefix [CS492] to the email subject line):

GTA and Instructor Office Hours Information

The GTAs and Instructor will hold fixed weekly office hours. Office hours are held via the official MS Teams channel (Office Hours). 

The office hours are as follows:

Listing by Day (all times U.S. Pacific Time, UTC-08:00): 

Day Office Hour Time and Person
Monday Bill Pfeil: 11am - 12pm
Tuesday
Aniket: 1pm - 2pm
Wednesday Disha (week 2-8): 10am - 11 am
Thursday

Disha (week 2-8): 10am - 11 am

Friday

Aniket: 1pm - 2pm

Disha (week 1 only): 10am - 11 am

 *** NO OFFICE HOURS ON SCHOOL HOLIDAYS (including weekends where applicable) ***

This schedule may be adjusted during the term to adjust for demand, or lack thereof.

Communication Policy

    • Please post all course-related questions in the Ed Discussion forum so that the whole class may benefit from your conversation. Not all posts require a reply from the instructor/TA, and often it is better for students to hash out an answer to a question.
    • Office hours will be held online through Microsoft Teams. You can use an app (desktop/mobile), or click https://teams.microsoft.com/. You do not need to do anything to join, you are automagically enrolled and can participate via app or browser.
      • If you wish to use the link on the left side, you may need to adjust your browser settings.  If the team does not appear after clicking that link, visit this link or use one of the apps (desktop/mobile) instead.
    • Please email your instructor only for matters of a personal or private (grading) nature. The instructor or a TA will reply to most course-related questions within 1-2 business days. (Please use email, NOT Canvas Messaging).
    • IMPORTANT: Any email sent to the instructor about this course must originate with an OSU supplied email account and contain the tag [CS492] at the beginning of the subject. Failure to comply with this will result in a delayed (or possibly nonexistent) response to your email.

Grading Info

See "Read Me First" tab.

The College of Engineering (COE) offers a variety of academic support resources for students. There are remote tutoring services available through the COE by appointment and drop-in. There are also tutoring services available through the College of Science. More information about these and other academic support services can be found on the COE’s Academic Support website.

For writing assistance, the Oregon State Online Writing Suite is a great resource for students enrolled in Ecampus courses. If you have additional tutoring needs, or have questions about these services, please contact Casey Patterson at casey.patterson@oregonstate.edu .

Android Development:

Download Android Studio:  https://developer.android.com/studio

This course requires a development environment capable of developing Android apps. The course materials will be based on Android Studio (which is freely available for all major operating systems.)

Current Android Studio specs may be found here:  https://developer.android.com/studio/install

Communication Policy

Grading Info

Student's Last Name Grader
A - Ph Disha Basavaraja Kanavikar
Pi - Z Aniket Chandrashekher Poojari

We will attempt to grade all assignments within 5-7 days of the due date.

GTAs are assigned to grade assignments based on student last names as follows. If you have a question about your grade, please send an email to your grader (click the link above):

Regrading Requests

You can request a regrade on an assignment within 48 hours of receiving your grade by sending an email to your grader (click the link above). Make sure to tag your email with [CS 492]. Include what points were taken off and why you feel your assignment/project does in fact meet the requirements you were penalized for not meeting.

When requesting a regrade, the grade will NEVER be lower than when you made the request, unless we discover a case of academic dishonesty during the regrade. We will not lower a grade for finding something else wrong.

Assignment Extensions, Escalated Grading Questions & General Course Info

For Assignment extensions, escalated grading questions, and other general course information, please email the instructor.

Assignments & Course Content

Ask questions about assignments and course content, on the Ed Discussion Board (do not send direct Teams messages to the Instructor or TAs outside of Office Hours) in order to help make these questions and answers available to everyone. You will also get an answer to your question far faster by posting in the Ed Discussion Board than by emailing or sending a private message, as there are more than a hundred people looking at those discussion boards.

Personal Questions

For anything of a personal nature, including questions about grades or extension requests, please email the instructor or TAs from your OSU email account.

Office Hours & Real-Time Communication

We will conduct office hours using Microsoft Teams using the Team created for this course. The times for office hours are listed on the "Where to go for Help?" tab.

Remember, use Office Hours/Teams for real-time questions and Ed Discussion to post all other assignment-related questions.

Emails

If you email the Instructor or GTAs, use your OSU email account. You must put CS492 in the subject line, or else we may miss it.  Please do not send Teams messages to the GTAs outside of their Office Hours.

Response Time

We will strive to respond to email and Ed Discussion posts within 1-2 business days. Please note that we may not be accessible over the weekend and on holidays.

Course Summary:

Date Details Due