Course Syllabus
CMSC 436 / Programming Handheld Systems / Spring 2016
TuTh 12:30 - 1:45 PM, CSIC 2117
Lecturer: Dr. Vibha Sazawal, vibha@umiacs.umd.edu
Vibha's Office Hours: Wed 10 am - 12 pm, AVW 4401
TA: Ladan Najafazideh. Office Hours Tues 2 pm - 4 pm, 4th Floor TA Room in AVW
Welcome!
This course focuses on design and programming for the Android platform.
This section will be a traditional course with in-class lectures and exercises, and also out-of-class assignments.
Students will have the option to work in pairs on in-class exercises and out-of-class assignments. Exams will be completed individually.
You will also work on one large Android project with a team. Each team will have 4-5 students. Each student will individually pitch a proposed app. I will review the pitches and select the most promising topics. We will then form groups based on your topic preferences.
Finally, in the last two weeks, the students will be presenting lectures on special topics. Every project group will choose among the given topics and prepare slides. I will choose the groups with the best slides to present in class.
Major Grading Events
These dates are firm, so please plan accordingly.
Exam 1 on March 10th, 2016
Exam 2 on May 10th, 2016
Project Presentations during our final exam period, which is Tuesday, May 17th, 2016, from 1:30 to 3:30 PM.
The only excuse for missing major grading events is illness. You must provide documentation of the illness from a health provider. This documentation must verify dates of treatment and indicate the time frame that the student was unable to meet academic responsibilities. In addition, it must contain the name and phone number of the health provider.
Grading
Policies
All class policies may change or be augmented if necessary. You will be given ample notice before changes take effect.
Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide, to the instructor in office hours, a letter of accommodation from the Office of Disability Support Services (DSS) within the first TWO weeks of the semester. I also provide accommodations to parents of young infants. Contact me for more information.
Course evaluations are important and the department and faculty take student feedback seriously. You can submit your course evaluations within Canvas/ELMS.
Don't cheat. If you're not sure what constitutes cheating, please ask. I will submit academic integrity complaints to the Judicial Programs Office.
Do not use your mobile phone in class. Do not engage in unrelated activities such as email, social media, games, or homework for other classes during 436 class. I reserve the right to ask any student who is disturbing class to leave.
Check Canvas (ELMS) frequently. You are responsible for content posted here.
Tentative Schedule
Jan 28th | Intro to 436, Logistics |
Feb 2-4 | Intro to Android Stack, run-time, and build process |
Feb 9-11 | Activities, Layouts, Listeners and MVC |
Feb 16-18 | User-Centered Design |
Feb 23-25 | Android Design Principles and Material Design |
Mar 1-3 | Design for small screens and multiple screens |
Mar 8-10 | midterm on March 10th |
Mar 15-17 | Spring Break |
Mar 22-24 | Fragments |
Mar 29-31 | Lists / AppBar / Menus |
Apr 5-7 | Accessing Data: Content Providers, SQLite |
Apr 12-14 | RecyclerView, Asynchronous tasks |
Apr 19-21 | Permissions, Long-running background threads |
Apr 26-Apr 28 | Group meetings |
May 3rd-5th | Student presentations on special topics |
May 10th | Exam 2 |
May 17th | 1:30 - 3:30PM Project presentations |
Course Summary:
Date | Details | Due |
---|---|---|
Mon Feb 1, 2016 | Assignment Install SDK and Android Studio | due by 11:59pm |
Assignment Project Pitch | due by 11:59pm | |
Thu Feb 4, 2016 | Assignment First steps | due by 12pm |
Tue Feb 9, 2016 | Assignment 436 Project Topic Preferences | due by 11:59pm |
Thu Feb 11, 2016 | Assignment Android "Building Your First App" Tutorial | due by 11am |
Thu Feb 18, 2016 | Assignment Android Design Principles | due by 11am |
Tue Feb 23, 2016 | Assignment Readings on User-centered Design | due by 11:59pm |
Sun Feb 28, 2016 | Assignment Project Design Document | due by 11:59pm |
Tue Mar 1, 2016 | Assignment Readings on Material Design | due by 11am |
Thu Mar 3, 2016 | Assignment Thumbs Up or Down? | due by 11am |
Tue Mar 8, 2016 | Assignment Readings on Wireframes and Mockups | due by 11am |
Assignment In-class Wireframes Peer Review | due by 12:30pm | |
Thu Mar 10, 2016 | Assignment Exam 1 | due by 1:45pm |
Fri Mar 11, 2016 | Assignment Project Wireframes | due by 11:59pm |
Tue Apr 5, 2016 | Assignment Readings/Videos/Code on Fragments and Supporting Multiple Devicdes | due by 11:59pm |
Thu Apr 7, 2016 | Assignment Readings on Content Providers, Loaders, and SearchView | due by 11:59pm |
Tue Apr 12, 2016 | Assignment More on the App Bar | due by 11:59pm |
Assignment Readings on SQLite | due by 11:59pm | |
Tue Apr 19, 2016 | Assignment AsyncTask, BitmapFactory, and more on SQLite | due by 11:59pm |
Assignment Readings on RecyclerView | due by 11:59pm | |
Assignment Sign-up for Meetings | due by 11:59pm | |
Thu Apr 21, 2016 | Assignment Special Topics Lecture | due by 11:59pm |
Thu Apr 28, 2016 | Assignment Readings on Permissions and Background Threads | due by 11:59pm |
Tue May 10, 2016 | Assignment Exam 2 | due by 1:45pm |
Tue May 17, 2016 | Assignment Final Project Demo and Code Submission | due by 11:59pm |
Assignment Readings on Activities and Resources | ||
Assignment Readings on Layouts and Event Listeners | ||
Assignment Slides on Google Maps and Places APIs | ||
Assignment Slides on PayPal and Firebase | ||
Assignment Software Code Quality Do's and Don'ts |