CS 477 Mobile Application Development – Spring 2024
Course Content
This course will teach fundamental programming principles with a focus on the mobile environment and the Android Platform. The course emphasizes practical application of numerous academic concepts. This course is intended to be a project-based course. The introductory weeks focus on essentials needed to work on these projects. Students will complete multiple small labs and one final course project. Each student will design and implement an application for the final project. Course projects will be written in Java for the Android platform using the Android SDK.
Designing applications for a mobile device present unique challenges. User interface, mobile-specific technologies, and the importance of performance require special consideration. The Android SDK has its own interesting aspects to learn: the multi-touch model, accelerometer, important APIs will receive attention. Students will learn important development concepts applicable to any environment as well as Android specific APIs.
Pre-requisites
A C or better in both CS310 and CS367. STRONG programming skills. Completion of one or more CS senior course strongly recommended.
You will need to have a laptop (windows or apple) where you can install
Android Studio. This software and the emulator you may want to use are very space and computation intensive.
Course Outcomes
Upon completion of this course, students should:
- Have a firm grasp of event-based computing models.
- Be able to demonstrate an understanding of and the ability to use different types of components used in mobile platforms.
- Be able to use threading efficiently and correctly in mobile apps.
- Be able to appropriately use different types of data management for mobile devices.
- Be able to appropriately use different types of networking options for mobile devices.
- Have a clear understanding of the creation and use of simple user interfaces.
- Be able to use tools to create apps for a mobile platform.
- Be able to create simple graphics for mobile devices.
- Have an understanding of the importance, role and use of security on mobile devices.
Textbooks
Recommended: Android App Development, H. Franceschi, 2017. Other online textbooks listed on blackboard
Grading
Assignment |
Percent of final grade |
Labs (10+) – Approximately 1 per week related to the lecture |
25% |
Projects (3 weighted equally) |
50% |
Quizzes |
25% |
|
|
- All labs and projects are individual efforts and subject to honor code rules unless explicitly designated otherwise by the instructor.
- There will be a few quizzes (online) during the semester. They will be open notes and use of Android Studio.
- Late work 20%/day (or any part of a day). Max late days for assignments = 3.
- Note, after the first lab, submitted labs and projects that do not install or do not run on a grading phone count as a day late and must be resubmitted for credit. In other work, you cannot get any credit if you don’t eventually submit a running program.
- Students claiming an excused absence must apply in writing and furnish documentary support (such as from a health care professional who treated the student) for any assertion that the absence qualifies as an excused absence. The support should explicitly indicate the dates and times the student was incapacitated due to illness and provide contact information for verification. Self-documentation of illness is not sufficient support to excuse an absence.
Honor Code
All students will abide by GMU's Honor Code. The honor code at George Mason is an important part of our academic culture. A degree from this institution should be a direct measure of your own progress and abilities, and as such at all times we must ensure that all work that should be your own is your own.
We take the honor code quite seriously. Any attempts at copying or sharing code, algorithms, or other violations of the honor code simply will not be tolerated. The penalty for cheating will always be far worse than a zero grade, to ensure it's not worth taking the chance. The usual recommendation is failure in the course. It's a pretty sure-fire way to lose a semester and lose some implicated friends; please don't put yourself through that experience!
This class is more flexible in terms of using online resources than most other classes. There are good tutorials and other resources online. However, your labs and projects should be your own work and not copied from someone else. For the course project, you may work with a student team on the project.
Inclusiona
Every student in this class, regardless of background, sex, gender, race, ethnicity, class, political affiliation, physical or mental ability, veteran status, nationality, or any other identity category, is an equal member of our class. If you encounter any barriers to your inclusion, please contact Prof. White.
Disability
Students with a learning disability or other condition (documented with GMU's Office of Disability Services) that may impact academic performance should speak with the professor ASAP to discuss appropriate accommodations. We are quite happy to assist as is appropriate, but it must be documented ahead of time by ODS.
Privacy and FERPA
Students must use their Masonlive email account to receive important University information, including communications related to this class. The professor and GTA can not respond to messages sent from or send messages to a non -Mason email address.
We will not list your Masonlive email address on any public forum or provide it to any other students. Your Masonlive email address will be provided to grading staff (GTA and graders). If this is an issue, please contact the professor so that we can figure out another option.
Video recordings of class meetings that are shared only with the instructors and students officially enrolled in a class do not violate FERPA or any other privacy expectation.
All course materials posted to Blackboard or other course site are private; by federal law, any materials that identify specific students (via their name, voice, or image) must not be shared with anyone not enrolled in this class.