Course Syllabus

CMSC 436 / Programming Handheld Systems / Spring 2016

TuTh 12:30 - 1:45 PM, CSIC 2117

Lecturer: Dr. Vibha Sazawal,

Vibha's Office Hours: Wed 10 am - 12 pm, AVW 4401

TA: Ladan Najafazideh. Office Hours Tues 2 pm - 4 pm, 4th Floor TA Room in AVW



This course focuses on design and programming for the Android platform.

This section will be a traditional course with in-class lectures and exercises, and also out-of-class assignments.

Students will have the option to work in pairs on in-class exercises and out-of-class assignments. Exams will be completed individually.

You will also work on one large Android project with a team. Each team will have 4-5 students. Each student will individually pitch a proposed app. I will review the pitches and select the most promising topics. We will then form groups based on your topic preferences.

Finally, in the last two weeks, the students will be presenting lectures on special topics. Every project group will choose among the given topics and prepare slides. I will choose the groups with the best slides to present in class.


Major Grading Events

These dates are firm, so please plan accordingly.

Exam 1 on March 10th, 2016

Exam 2 on May 10th, 2016

Project Presentations during our final exam period, which is Tuesday, May 17th, 2016, from 1:30 to 3:30 PM.

The only excuse for missing major grading events is illness. You must provide documentation of the illness from a health 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 health provider.



I compute letter grades at the end of the semester, and I don't usually have a good idea of what letter grade students have before then. I cannot answer questions like, "What will my grade be if I only do half the assignments?" If you want to meter out your effort to get a certain letter grade, this is not the course for you. Your job is to try your best on everything.
A score of 100% is reserved for perfection. Humans are rarely perfect, so do not expect to get a score of 100% often. I do not list how many points each question is worth on exams. I expect you to be a professional and do a good job on everything.
Grades for individual, pair, and group assignments will be posted in ELMS/Canvas. However, please note that while the raw scores will be accurate, any cumulative grades shown in ELMS are NOT necessarily accurate.
Grading Breakdown
40% Exams

20% Assignments

These are due at the time specified on Canvas. Late homework is accepted only at the instructor's discretion, on a case-by-case basis, and a late penalty may be applied.

If you are working in pairs, please submit your assignment to Canvas individually but put both names on the assignment.

40% Team Project

There are deliverables for the team project throughout the semester.



All class policies may change or be augmented if necessary. You will be given ample notice before changes take effect.

Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide, to the instructor in office hours, a letter of accommodation from the Office of Disability Support Services (DSS) within the first TWO weeks of the semester. I also provide accommodations to parents of young infants. Contact me for more information.

Course evaluations are important and the department and faculty take student feedback seriously.  You can submit your course evaluations within Canvas/ELMS.

Don't cheat. If you're not sure what constitutes cheating, please ask. I will submit academic integrity complaints to the Judicial Programs Office.

Do not use your mobile phone in class. Do not engage in unrelated activities such as email, social media, games, or homework for other classes during 436 class. I reserve the right to ask any student who is disturbing class to leave.

       Check Canvas (ELMS) frequently. You are responsible for content posted here.


 Tentative Schedule

Jan 28th Intro to 436, Logistics
Feb 2-4 Intro to Android Stack, run-time, and build process
Feb 9-11 Activities, Layouts, Listeners and MVC
Feb 16-18 User-Centered Design
Feb 23-25 Android Design Principles and Material Design
Mar 1-3 Design for small screens and multiple screens
Mar 8-10 midterm on March 10th
Mar 15-17 Spring Break
Mar 22-24 Fragments
Mar 29-31 Lists / AppBar / Menus
Apr 5-7 Accessing Data: Content Providers, SQLite
Apr 12-14 RecyclerView, Asynchronous tasks
Apr 19-21 Permissions, Long-running background threads
Apr 26-Apr 28 Group meetings 
May 3rd-5th Student presentations on special topics
May 10th Exam 2
May 17th 1:30 - 3:30PM Project presentations


Course Summary:

Date Details