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 willbecome 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 maybenefit 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, andassignments 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 applicationinterface.
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 andcontent 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 optimizationtechniques 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 theassignments 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 ofStudent 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,
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.