Instructor: Prof. Tian Guo
TA/SA: Hamid Mansoor, Mario Zyla
Class: Tuesdays and Fridays, 8AM to 9:50AM in FL320
Office Hours:

  • Prof. Guo: Fridays, 10-11AM in Fuller 138. Or by appointment.
  • Hamid (TA): Mondays, 4-6PM, Thursdays, 3-5PM, 5:30-7:30PM, Fuller Zoo Lab
  • Mario (SA): Tuesdays, 4-6PM, Wednesdays, 5-7PM, 6-8PM, Fuller Zoo Lab

This course will provide an in-depth study of design and implementation challenges in building modern mobile applications. Topics to be expected include Android ecosystems, basic Android development based on Java SDK, design considerations of mobile-specific optimizations.Proficiency in Java is strongly recommended. Knowledge of operating systems, computer networks, and Linux command lines are essential.

Announcements

Please refer to here for a complete list of past announcements.

  • Dec 1: uploaded lecture 10, lecture 11, readings 12, and readings 13, and posted Project 4 Part 2 tutorials!
  • Dec 5: uploaded lecture 12; SA office hour on Dec 11 is changed to 6:30pm-8:30pm.

    Schedule

Lecture Description Readings Due
Lecture 1 Intro to Mobile and Ubiquitous Computing
Android Basic
reading 1 group project, proposal/deliverable due Nov. 30/Dec. 13 11:59:59PM
project 1, due Tuesday Oct. 30 11:59:59PM
Lecture 2 Android Basic: part 2 reading 2 topic survey, proposal/deliverable due Nov. 2/Nov. 19 11:59:59PM
Lecture 3 Mobile Data Acquisition: part 1 reading 3 project 2, due Tuesday Nov. 6 11:59:59PM
Lecture 4 Mobile Data Acquisition: part 2 reading 4 Project 1 Part 2 tutorials:
1. React Native Design by Kit Zellerbach
2. Fragment and Animation by Antony Qin
3. Navigation Drawer by Alex Wheeler
4. RecyclerView by Alex Antaya
Lecture 5 Mobile Data Storage: part 1 reading 5 project 3, due Tuesday Nov. 13 11:59:59PM
Lecture 6 Mobile Data Storage: part 2 reading 6 Project 2 Part 2 tutorials:
1. Android Location and OpenWeather API by Kit Zellerbach
2. Using third-party libs: Sensey Library by Kyle Richards
3. Using Google Play Services: Fused Location by Alexander Antaya
Lecture 7 Data manipulation: part 1 reading 7 project 4, due Tuesday Nov. 20 11:59:59PM
Lecture 8 Data manipulation: part 2 reading 8 Project 3 Part 2 tutorials:
1. Using Firebase Database/Storage Tutorial by Hung Hong
2. Redesigning SQLite3 for Custom Storage and List View Display by Kit Zellerbach
3. Integrating User Table That Stores User Preferences by Ryan Racine
4. Storing and Querying Images by Hannah Jauris
Lecture 9 Student Presentations: Topic Survey reading 9 Topic Survey in-class instruction
Lecture 10 Android Internals: part 1 reading 10 Project 4 Part 2 tutorials:
Firebase and GoogleML by Alex Antaya
Lecture 11 Android Internals: part 2 reading 11  
Lecture 12 Mobile-specific optimization: part 1 reading 12  
Lecture 13 Mobile-specific optimization: part 2 reading 13  
Lecture 14 Wrap up reading 14