Dept. of CS, Columbia University Spring 2012
Tuesday 6:10-8:00PM, 1220B Seeley W. Mudd Building
Instructors
Li Erran Li, office: Computer
Science Building 457, office hour: Tuesday 5:00-6:00pm
Teaching Assistants
Jaimin Shah, jps2178@columbia.edu, office hour: Tuesday 3:00-4:00pm
Course Description: Despite the tremendous popularity of mobile applications, our user experience is hampered by the limitations of cellular networks, the mobile devices' inability to tap into cloud resources, and the cellular unfriendly application design. This seminar course will study cellular networks and mobile computing with an emphasis on principles and technologies that can greatly improve mobile user experience. Topics covered are as follows.
- Mobile App Development
- Mobile operating systems: iOS and Android
- Development environments: Xcode, Eclipse with Android SDK
- Programming: Objective-C and android programming
- System Support for Mobile App Optimization
- Mobile device power models, energy profiling and ebug debugging
- Core OS topics: virtualization, storage and OS support for power and context management
- Interaction with Cellular Networks
- Basics of 3G/LTE cellular networks
- Mobile application cellular radio resource usage profiling
- Measurement-based cellular network and traffic characterization
- Interaction with the Cloud
- Mobile cloud computing platform services: push notification, iCloud and Google Cloud Messaging
- Mobile cloud computing architecture and programming models
- Mobile Platform Security and Privacy
- Mobile platform security: malware detection, attacks and defenses
- Mobile data and location privacy: attacks, monitoring tools and defenses
The course will be research and project oriented. Students will read a number of research papers on seminal topics as well as more contemporary work in the area. Basic topics such as cellular networks, iOS and Android platform will be presented by the lecturer. For advanced topics, each student will be given one 15 min slot to present an overview. The lecturer will then give an in-depth presentation for the rest of the lecture. A course project will be required. Students will be evaluated by class participation, class presentation, programming assignments and final project.
Grading:
You are required to work on a research project in a team and present your work
at the end of the semester. Grading will be done as follows:
50% -- Project reports, presentation/demo
30% -- Three programming assignments (10% each)
10% -- Paper presentation and summary
10% -- Class discussion participation
Prerequisites: COMS W3137 Data Structures and Algorithms, COMS W3157 Advanced Programming, COMS W3827 Fundamentals of Computer Systems or the equivalent. If you are not sure, please feel free to contact me.