Distinguished Visiting Professor Keith Sullivan, Hopper Hall 453, x36810,
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
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.
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.
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.
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 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 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.
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 (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.
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..
2-2-3
IC211 Object Oriented Programming with Java
Graduates of the program will have an ability to:
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.
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.