CMSC 436, Fall 2018

Programming Handheld Systems

Location CSI 1115, TTh 2:00-3:15
Name Office E-mail Office Hours
Adam Porter 4125 AVW by appt.
Kanishka Ganguly 4103 AVW MTu 5PM-6PM
Andrej Rasevic 4103 AVW F 11AM-1PM
Li Zihao 4103 AVW M 4PM-5PM, W 12:30PM-1:30PM,Th 5PM-6PM
Garrett Fitzgerald 4103 AVW F 12PM-2PM
Liu Bowen 4103 AVW M 9AM-11AM
Rachel Baylor 4103 AVW MThF 11AM-12PM
Abhishek Bassan 4103 AVW ThF 1PM-2PM



This course will teach fundamental programming principles with a focus on the mobile environment and the Android Platform. The course will emphasize 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 weekly assignments and one final team project. Each student will work with a team to design and implement an application for the final project. Designing applications for a mobile device presents unique challenges. User interface, mobile-specific technologies, and the importance of performance require special consideration. The Android SDK has it's 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.

Students should already have a familiarity with Java, an understanding of basic Object Oriented Programming, studied basic algorithms and data structures. Course projects will be written in Java using the Android SDK. Some smartphone and tablet devices will be available for student use at various times during the course.

I will make PDF copies of the lecture slides and some in-class assignments available on the Lectures page of the website. There is no assigned textbook.

I strongly encourage students to participate in class discussions on the class Discussion Forum.

Class Links

Web Accessibility