IT 472 Mobile OS

Official PDF version

Instructor

Distinguished Visiting Professor Keith Sullivan, Hopper Hall 453, x36810,

Grading

Your final grade will be computed as follows:

Plus/minus grades will be assigned based on the following numerical cutoffs:

- +
A 90–92 93–100
B 80–82 83–86 87–89
C 70–72 73–76 77–79
D 60–66 67–69
F 0–59

Examinations: Exams will be practical application of the cumulative information covered to that point in the semester. If a student must miss class on the day of an exam due to a legitimate reason, the student shall request a make-up exam at least 1 week in advance of the scheduled exam date. This request shall be made via email to ensure proper documentation.

 

Final Projects: Each student will design and implement an Android application of their choosing. The project guidelines, requirements, and milestone delivery dates will be distributed during the semester. No late projects will be accepted without prior approval from the instructor. The project grade will be assigned based on the quality of work and the instructor’s estimation of the final product and demonstrated effort, as well as peer evaluations of the final presentation.

 
Assignments: The majority of your grade will come from the completion of programming assignments, each covering a unique topic in mobile development. There will be multiple assignments spread out over the whole semester.  
Homeworks: There will be multiple small homeworks throught the semester to enforce the daily topics covered in class

Updates to the course policy

In case this course policy needs to be changed during the semester, students will be notified by email and verbally during class. The current version will always be posted on the course website.

Collaboration

The guidance in the Honor Concept of the Brigade of Midshipmen and the Computer Science Department Honor Policy must be followed at all times. See https://www.usna.edu/CS/resources/honor.php. Specific instructions for this course:

All collaboration and outside sources should always be cited. The same rules apply for giving and receiving assistance. If you are unsure whether a certain kind of assistance or collaboration is permitted, you should assume it is not, work individually, and seek clarification from your instructor.

Use of Generative AI

The use of generative AI tools to help complete assignments is treated the same as collaboration or assistance with a human (see above) and is therefore prohibited under most circumstances. Please talk with your instructor if you believe there are ways to use generative AI tools without hindering the course learning objectives.

Absences

Students are responsible for all class material including the recommended readings. However, the readings are not exhaustive and students missing class should arrange to copy notes from a classmate.

Remote Classes

Remote classes may be recorded for future reference. Remnote attendees will make every effort to connect to class sessions and give them undivided attention. Remote attendees will adhere to the same uniform and grooming standards as those attending in person.

Late Policy

Late submissions will incur an automatic 15% grade deduction for each 24 hour period after the original due date/time, with the first period beginning one minute after the date/time due. After 72 hours a grade of 0 will be assigned.

 
Each student will have two grace days which they can use to submit an assignment late without incurring a point deduction. Each grace day is equivalent to one 24-hour period. In order to use a grace day, the student must notify the instructor of his/her intention prior to the original assignment due date and time. Once all grace days are used, the normal late submission policy will be applied. Grace days cannot be used for the final project.

Classroom Conduct

Everyone in the classroom will show appropriate respect to each other at all times. All discussions will be civil.

 

The section leader is responsible for recording attendance, bringing the class to attention, notifying the CS department office if the instructor is more than 5 minutes late, and directing the class in useful work in the instructor’s absence.

 
Drinks are permitted, but they must be in closable containers. Food, alcohol, smoking, smokeless tobacco products, and electronic cigarettes are all prohibited. Electronic devices must be silent during class and should never serve as a distraction to other students.

Extra Instruction

Extra instruction (EI) is strongly encouraged and should be scheduled by email. EI is not a substitute lecture; students should come prepared with specific questions or problems.

Course Description

This course will teach students how to write software for mobile devices while reinforcing the principles of good object-oriented software development. To that end, this course will cover the necessary topics required for writing Android applications. We will apply the fundamentals of object-oriented programming using Kotlin. Students will also become well versed in XML, the Android Software Development Kit, the Android Studio IDE, Android application components and features, and other topics of interest. In addition to the basics of Android programming, we will cover several specialized topics on mobile programming, including networking, using location data, streaming media, etc..

Credits

2-2-3

Pre-requisites

IC211 Object Oriented Programming with Java

Learning Objectives

  1. Apply the principles of Object Oriented programming in the development of software for mobile devices.
  2. Understand how code is organized in an Android application, the purpose of each part and their relationship with each other.
  3. Demonstrate an understanding of the major components of Android applications, including Views, Activities, Services, Intents and Receivers.
  4. Design, develop and debug mobile applications for the Android operating system

Student Outcomes

Graduates of the program will have an ability to:

  1. Analysis. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Implementation. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communication. Communicate effectively in a variety of professional contexts.
  4. Ethics. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Teamwork. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.

CS-6. Theory. Apply computer science theory and software development fundamentals to produce computing-based solutions.

IT-6. Requirements. Identify and analyze user needs and to take them into account in the selection, creation, integration, evaluation, and administration of computing based systems.

Textbooks

Because of the speed of technology change, and the inability of traditional publishers to keep up, we do not have a required textbook. Course material will be in the form of web-based lecture notes, sample programs, and in class discussions and demonstrations. Students will occasionally be referred to online materials for additional or alternative sources of information.

Syllabus