CMSC 436, Fall2023

Programming Handheld Systems

Course Objective:

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.

Students should already have a familiarity with an object oriented programming language, and studied basic algorithms and data structures.

Course projects will be written in Kotlin for the Android platform using the Android SDK.

This course follows all applicable University regulations and policies. See the University's website on Course Related Policies for definitive statements. Please note that many long-term policies are changing due to the COVID-19 pandemic.

Major Scheduled Grading Events:

Minor Scheduled Grading Events:

Tentative Course Topic List

The topics for the class will cover the basic Android platform followed by advanced Android services and classes. We will call out general concepts and approaches that apply to other mobile platforms througout our discussion. Here is the tentative topic list:


For most of the topics in this class, you will learn by doing. So this class will place a substantial emphasis on short and long term programming assignments. The expected work and grading breakdown is shown below. We reserve the right to take into account circumstances other than the ones indicated below in calculating the grade (e.g., class participation, project participation appearance at office hours, etc.).



% each

% total

Weekly Assignments

approx. 10

each week's work is weighted equally


Semester Project




Mid-term Assessment




Final Assessment






Any regrades for project or exams must be requested within one week of the date that your initial grade was given to you.

Academic Dishonesty

The University of Maryland, College Park has a nationally recognized Code of Academic Integrity, administered by the Student Honor Council. This Code sets standards for academic integrity at Maryland for all undergraduate and graduate students. As a student you are responsible for upholding these standards for this course. It is very important for you to be aware of the consequences of cheating, fabrication, facilitation, and plagiarism. For more information on the Code of Academic Integrity, see the Academic Integrity and Student Conduct Codes website for more information.

Here are some highlights of this Code as it applies to this course:

Policies and Responsible Conduct

Cell phones. As a courtesy to your fellow classmates, pagers and cell phones must be off or on vibrate during class.  Having cell phones or pages ring during class repeatedly can result in points being deducted from a student's semester grade.

Office Hours and E-mail.  Questions concerning the content of the course or project should, as a general rule, be directed to the class discussion forum. This allows questions to be answered by whoever is monitoring the forum, and the answer can benefit all students.
The instructors (Dr. Porter and the TAs) are happy to answer questions during office hours and on the discussion forum.  However, office hours and email are not intended as a replacement for attending lectures and recitations. As a result, instructors will only respond to questions, whether during office hours or on the newsgroup, from those students who regularly attend class. Instructors may not respond to electronic questions instantly. However, the instructors will try to respond to email by the next regularly scheduled office hour after it is sent. If a student cannot make it to scheduled office hours, he or she is encouraged to make an appointment by e-mail or after class.

Excused Absences. Any student who needs to be excused for an absence from a single lecture, recitation, or lab due to a medically necessitated absence shall:
  1. Make a reasonable attempt to inform the instructor of his/her illness prior to the class.
  2. Upon returning to the class, present their instructor with a self-signed note attesting to the date of their illness. Each note must contain an acknowledgment by the student that the information provided is true and correct. Providing false information to University officials is prohibited under Part 9(i) of the Code of Student Conduct (V-1.00(B) University of Maryland Code of Student Conduct) and may result in disciplinary action.
The self-documentation may not be used for the Major Scheduled Grading Events as defined below and it may only be used for only 1 class meeting during the semester. Any student who needs to be excused for a prolonged absence (2 or more consecutive class meetings), or for a Major Scheduled Grading Event, must provide written documentation of the illness from the Health Center or from an outside health care provider. This documentation must verify dates of treatment and indicate the time frame that the student was unable to meet academic responsibilities. In addition, it must contain the name and phone number of the medical service provider to be used if verification is needed. No diagnostic information will ever be requested. The Major Scheduled Grading Events for this course include:
  1. Midterm Assessment
  2. Final Assessment

Accommodating Disabilities.  Any student eligible for and requesting reasonable academic accommodations due to a disability must provide the instructor with a letter of accommodation from the Office of Disability Support services (DSS) within the first two weeks of the semester.
Course Evaluations.  I take your feedback seriously. At the end of the semester you will be able to fill out a course evaluation at However, while this feedback may benefit future students it doesn't help you. So if you have a question, concern, suggestion, etc. let me know now, while I still have a chance to address it.

Class Links

Web Accessibility