Course Name: Mobile Software Development

Course Number: CS 492, Section 400, Winter 2021

Credits: 4

Instructor name: Nauman Chaudhry

Instructor email: [email protected]

Teaching Assistant name and contact info: TBD


Course Description

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

Prerequisites: CS 344.


Communication

Please post all course-related questions in the Piazza Forum so that the whole class may benefit from our conversation. Please contact me privately for matters of a personal nature. We will strive to reply to course-related questions within 48 business hours. We will strive to return your assignments and grades for course activities to you within 5 days of the due date. You can find a detailed communication policy as well as information on Slack Office Hours on the Course Homepage.


Course Credits

This course combines approximately 120 hours of instruction, online activities, and assignments for 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

Windmill, E. (2020) Flutter in Action. Manning. ISBN 9781617296147. The full content of the book may be available online for free as a “live book” but for a limited period.

https://livebook.manning.com/book/flutter-in-action

Official Flutter Documentation.

This course requires a development environment with VSCode, the Flutter SDK, and either Android Studio or XCode.


Measurable Student Learning Outcomes

Upon completion of the course, students will have demonstrated the 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

Final grades consist of the following weighted components:

   Quizzes: 5%

o    10 quizzes in all.

o    The 2 quizzes with the lowest grade will be dropped.

o    Grade based on the best 8 quizzes

Projects: 65%

o Project 1: 10%

o    Project 2: 10%

o    Project 3: 12%

o    Project 4: 16%

o Project 5: 17%

Final Exam: 30% (unproctored)


Letter Grade

Grade
Percent Range
A
>= 93%
A-
>= 90% & < 93%
B+
>= 87% & < 90% (e.g., an 89.99% would be a B+)
B
>= 83% & < 87%
B-
>= 80% & < 83%
C+
>= 77% & < 80%
C
>= 73% & < 77%
C-
>= 70% & < 73%
D+
>= 67% & < 70%
D
>= 63% & < 67%
D-
>= 60% & < 63%
F
< 60%

Course Content

Mobile application development tools and workflow

Mobile application structure and implementation

Mobile application performance and scaling

Asynchronous operations

On-device mobile data storage

Mobile interface design principles

Mobile application analytics and user activity tracking


The course material is presented over the course of five Blocks, the culmination of each being a specific, detaile programming assignment geared towards the material covered.

The blocks correspond to the modules as follows:

o Block 1: Modules 1

o Block 2: Module 2, 3

o Block 3: Modules 4, 5, 6

o Block 4: Module 7, 8

o Block 5: Modules 9, 10

   The dates when blocks and assignments will be released, and the due dates for the assignments are provided in the Course Schedule.


The dates when modules and assignments will be released, and the due dates for the assignments are provided in the Course Schedule.

Module
Topic
Reading
Assignments
Learning Activities
1
Introduction, Write Your First
App
Appendix A
Chapter 1
Explorations
Quiz
Project 1
2
Programming Language I
Chapter 2
Explorations
Quiz
Project 2
3
Programming Language II
Chapter 2
Explorations
Quiz
Project 2
4
Mobile Development SDKs
Chapter 1
Chapter 3
Appendix B, C, D, E
Explorations
Quiz
5
Themes, Layouts & Widgets
Chapter 4
Explorations
Quiz



Project 3
6
Advanced Layouts &
Responsive Interfaces
Chapter 5.1
Chapter 7
Explorations
Quiz
Project 3
7
Interactions, Event Handling
& State
Chapter 5
Chapter 8
Explorations
Quiz
Project 4
8
Device Services & Sensors

Explorations
Quiz
Project 4
9
Local & Remote Data
Chapter 9
Chapter 10
Explorations
Quiz
Project 5
10
Runtime Analytics &
Performance
Chapter 11
Explorations
Quiz
Project 5
Finals


Final Exam

Course Policies


Late Work Policy

All assignments must be submitted on Canvas, according to the posted due date and time.


All programming projects will be accepted within 48 hours of the due date, with the following penalties

   Projects submitted within 24 hours of the due date will be accepted with a penalty of 5% of the grade.

Projects submitted within 48 hours of the due date will be accepted with a penalty of 10% of the grade.

Projects submitted later than 48 hours of the due date will not be accepted without a documented medical or family emergency and will receive a grade of 0.

Note the late penalties are off of the total possible points, not the points you earn. E.g., if an assignment has 10 points, then a late submission within 24 hours of the due date will be deducted 1 point.


Quizzes and the Final Exam cannot be submitted later than the posted due date.


Makeup Exams

Makeup exams will be given only for missed exams 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 70% of the points possible (in other words, usually everything but the final exam). If you are having any difficulty that might prevent you completing the coursework, please don’t wait until the end of the term; let me 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

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.


Expectations for Student Conduct

Student conduct is governed by the university’s policies, as explained in the Student Conduct Code (https://beav.es/codeofconduct). 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

The Code of Student Conduct prohibits Academic Misconduct and defines it as:

Any action that misrepresents a student or group’s work, knowledge, or achievement, provides a potential or actual inequitable advantage, or compromises the integrity of the educational process.

To support understanding of what can be included in this definition, the Code further classifies and describes examples of Academic Misconduct, as follows.

Prohibited behaviors include, but are not limited to doing or attempting the following actions:

   Cheating. Unauthorized assistance, or access to or use of unauthorized materials, information, tools, or study aids. Examples include, but are not limited to, unauthorized collaboration or copying on a test or assignment, using prohibited materials and texts, unapproved use of cell phones, internet, or other electronic devices, etc.

Plagiarism. Representing the words or ideas of another person or presenting someone else’s words, data, expressed ideas, or artistry as one’s own. Examples include, but are not limited to, presenting someone else’s opinions and theories as one’s own, using another person’s work or words (including unpublished material) without appropriate source documentation or citation, working jointly on a project and then submitting it as one’s own, etc.

Falsification. Fabrication or invention of any information. Examples include, but are not limited to, falsifying research, inventing or falsely altering data, citing fictitious references, falsely recording or reporting attendance, hours, or engagement in activities such as internships, externships, field experiences, clinical activities, etc.

Assisting. Any action that helps another engage in academic misconduct. Examples include, but are not limited to, providing materials or assistance without approval, altering someone’s work, grades or academic records, taking a test/doing an assignment for someone else, compelling acquisition, selling, bribing, paying or accepting payment for academic work or assistance that contributes to academic misconduct, etc.

Tampering. Interfering with an instructor’s evaluation of work by altering materials or documents, tampering with evaluation tools, or other means of interfering.

Multiple submissions of work. Using or submitting work completed for another or previous class or requirement, without appropriate disclosure, citation, and instructor approval.

Unauthorized recording and use. Recording and/or dissemination of instructional content without the express permission of the instructor(s), or an approved accommodation coordinated via Disability Access Services.


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 OSU Student Code of Conductand 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 http://ds.oregonstate.edu. 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

NetTutor is a leading provider of online tutoring and learner support services fully staffed by experienced, trained and monitored tutors. Students connect to live tutors from any computer that has Internet access. NetTutor provides a virtual whiteboard that allows tutors and students to work on problems in a real time environment. They also have an online writing suite where tutors critique and return essays within 24 to 48 hours. Access NetTutor from within your Canvas class by clicking on the Tools button in your course menu.


The Oregon State Online Writing Suite is also available for students enrolled in Ecampus courses.


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 [email protected] to identify strategies and resources that can support you in your educational goals.


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).


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).


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 receive notification, instructions and the link through their ONID. They may also log into the system via Online Services. Course evaluation results are extremely important and used to help improve courses and the hybrid learning experience for 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.