GENERAL INFORMATION - http://www.cs.columbia.edu/~nieh/teaching/e6998
Meeting Times and Location:
Spring 2008 M 11:00-12:50pm Location 1127 Mudd|
COMS W3137 Data Structures and Algorithms,
COMS W3157 Advanced Programming,
COMS W3827 Fundamentals of Computer Systems
Study of mobile computing on smartphones with an emphasis on
applications. These handheld Internet devices are poised to become
the future dominant software platform as a result of the rapid
convergence of computers and mobile phones. Topics covered will include
mobile operating systems and development environments, input
modalities and user interfaces for mobile devices, power management issues
for mobile devices, wireless mobile networking, thin clients and mobile Web,
location-aware and other context-aware services, and virtualization.
A course programming project will be required.
This course can be used to satisfy MS track elective requirements for
software systems and network systems tracks. Because this
is a new course, it may not be listed yet in the MS degree track
The Spring 2009 enrollment for this class will be limited. Please
register early if you plan to take this class in Spring 2009. If the
class is full and you would like to take the class, please email the
instructor and come to the first day of class. Undergraduate students
are welcome to enroll. However, Columbia requires undergraduates to
submit an add/drop form with the instructor's signature to the
Registrar's Office to register for the course.
Prof. Jason Nieh,
212-939-7160, office hours: M1PM-3PM CSB 518
646-775-6005, office hours: TR4PM-5PM CSB 521
212-854-4916, office hours: W10AM-12PM, F1PM-3PM TA Rm
- Optional Android Text:
Hello, Android: Introducing Google's Mobile Development Platform, Ed Burnette, The Pragmatic Bookshelf, Raleigh, NC, 2008 (also available from Amazon.com). See Code, Errata, and Discussion.
- Optional iPhone Text:
iPhone SDK Development (only Beta PDF available), Bill Dudney, Chris Adamson, Marcel Molina, The Pragmatic Bookshelf, Raleigh, NC, 2009. See Code, Errata, and Discussion.
- Optional iPhone Text:
iPhone SDK Application Development (available starting January 27), Jonathan Zdziarski, O'Reilly & Associates, Sebastopol, CA, 2009 (also available from Amazon.com). See Code and Errata.
- Computing Requirements:
You do not need to have any special hardware to take this class. You
will be given the option of whether you would like to do assignments
and projects using iPhone, Android, or both. If you would like to
work with Android, there are no special requirements as cross-platform
software is available. If you would like to work with iPhone, you
must either have an Intel-based Mac running Leopard or sign up to use the
Gateway Lab. The
use of the Gateway Lab requires payment of a $275 fee which is added to
your semester tuition bill. Buying a Mac Mini ($579) is perhaps a cost
There will be one or two homework assignments that involve building
small iPhone and Android applications and are assigned to everyone in
The project is an opportunity for you to take an active part in
exploring the subject area, as appropriate for an advanced course.
The project is to build and deploy a iPhone or Android application.
Projects are to be done in teams of your own choosing. There will be
a contest to judge the best application.
There will be a class participation component of the class for
No "extra credit" work
OPEN DOOR POLICY
We would like the course to run smoothly and enjoyably. Feel free to
let us know what you find just, good, and interesting about the
course. Let us know sooner about the reverse. See us, leave us a
note, or send us email.