Home Contact

CMSC436: Programming Handheld Systems (Spring 2013)

Dept. of Computer Science, University of Maryland, College Park, MD, USA.

Important Updates

  • Jan. 7. This page is created.

About the Course

Welcome to the home-page for the Programming Handheld Systems Course (CMSC 436, Section 0101). Please use the CLASS SCHEDULE link above to access notes, slides, labs, etc.

Handheld systems differ substantially from non-handheld systems, and thus require special programming tools and approaches. Some obvious differences are limited display size, power, memory and CPU speed, and new input modalities. In this course, students study the fundamental principles and concepts that underlie the programming of handheld systems, such as mobile phones, personal digital assistants, and tablet computers.

In this semester, we will focus on the Android platform. In the last two weeks of the course, we will study the Windows Mobile platform.

This course is designed to be extremely practical, i.e., we will implement (in class) the academic concepts that we will cover during lectures. I expect that all students are familiar with Java, possess an understanding of basic object-oriented programming concepts, and have studied basic algorithms and data structures. All course projects will be written in Java using the Android SDK.

Meeting Times & Location

Tue. Thu. - 8:00AM - 9:15AM (CSIC 1121).

Office Hours

Tue. Thu. - 9:15AM - 11:00AM (4115 A. V. Williams Building) Other meetings may be scheduled individually and held over Skype and Phone.

Course TAs

Derek Juba (juba AT cs.umd.edu). Office hours: Tue 9:15AM-10:45AM and Fri 11:00AM-12:30PM in TA room (AVW 1112).
Hao Li (hao.li.ict AT gmail.com). Office hours: Tue. 1:30PM-4:30PM and Wed. 9:00AM-12:00PM in TA room (AVW 1112).

Catalog Course Description

CMSC436 (PermReq) Programming Handheld Systems; (3 credits) Grade Method: REG/P-F/AUD. Prerequisite: Minimum grade of C- in CMSC330. Fundamental principles and concepts that underlie the programming of handheld systems, such as mobile phones, personal digital assistants, and tablet computers. Particular emphasis will be placed on concepts such as limited display size, power, memory and CPU speed; and new input modalities, where handheld systems differ substantially from non-handheld systems, and thus require special programming tools and approaches. Students will apply these concepts and principles in the context of an existing handset programming platform.

Grading

The grade of the course will be determined as follows: 25% midterm exam, 15% quizzes, 25% final exam, 35% labs.