- Time and location: TuTh 12-1:45, Engineering 2, 192
- Instructor: Luca de Alfaro (firstname.lastname@example.org, please include "CMPS 121" in the email subject line)
- Instructor office hours: Thu 2-3:30 (appointment link)
- TA: Huascar Sanchez (email@example.com), office hours: Tuesdays 10:30-11:30 in Baskin Engineering 312C/D.
- Reader: Jon Gill (firstname.lastname@example.org), office hours: Thursdays 2-3 in Baskin Engineering 312 C/D.
- Class discussion group (you need to log in with your @ucsc.edu account) Students should join this group for the duration of the class, as it is what will be used to send announcements.
- Ecommons will be used for assignment submission.
Lectures, Homeworks, and Reading Assignments
- April 3: Lecture 1, and HW1, due April 10 end of day.
- April 5: Lecture 2, with some assigned readings; especially the one on activities is strongly recommended.
- April 10: Lecture 3, and HW2, due April 17 end of day.
- April 12: Lecture 4, and Project Proposal, due April 19 end of day.
- April 17: Lecture 5, and HW3, due May 1 end of day. Please note: the deadline should have been April 24, not May 1. Since the incorrect deadline has been posted, we will honor it, but there will be two homeworks due on May 1, so you are encouraged to turn in HW3 early to get started on HW4.
- April 19: Lecture 6
- April 24: Lecture 7, and HW4, due May 1 end of day.
- April 26: Lecture 8
- May 1: Lecture 9 will be a guest lecture by Sri Kurniawan on UI design and human-computer interaction for mobile devices.
- May 3: Lecture 10
- May 8: Lecture 11
- May 10: Lecture 12
- May 15: Lecture 13, and HW5, due May 29 end of day.
- May 17: Lecture 14
- May 22: Lecture 15
- May 24: Lecture 16
Phone/tablet: You will need an Android device on which you can install Android applications running Android 2.2 or later for the class. See above site for details.
Having a laptop is highly advisable. Mac, Windows, Linux are ok. You will need to be able to install Eclipse and the Android SDK on your laptop/PC.
Students are encouraged to bring the laptop and phone to class, to try out the various techniques / topics that are presented. If you don't have a laptop, you won't be able to show us what is not working in your applications.
The class consists in a hands-on introduction to Android application development. Topics include:
- Introduction to the class, and to creating mobile applications.
- Android apps overall structure.
- Applications and activities.
- Creating user interfaces.
- Activity activation via interests.
- Using the internet.
- Files, preferences, saving state.
- Databases, content providers.
- Working in the background.
- Maps and location-based applications.
- Audio, video, camera.
Possible additional topics if time permits:
- Server-mobile communication: using mobile + cloud.
The class will not cover topics related to game development. We may however have one or two guest lectures on this topic.