CMSC 436, Fall 2019

Programming Handheld Systems

Location ESJ 2208, TTh 11:00-12:15
Name Office E-mail Office Hours
Adam Porter 5212 IRB by appt.
Vasu Singla 1266 IRB Monday,Friday 3PM - 4PM
Andrej Rasevic 1266 IRB Friday 2PM-4PM
Ishita Verma 1266 IRB Monday, Wednesday : 11:30 AM - 12:30 PM
Abhishek Bassan 1266 IRB Monday, Wednesday 12:30 PM - 1:30 PM
Sai Yerramreddy 1266 IRB Tuesday, Thursday: 2:00PM - 3:00PM



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 Kotlin 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