CMPS 121 - Spring 2018
Mobile Applications

Web Resources
Online Resources

Webcasts credentials

username: cmps-121-1

password: spring18

121 Description: Introduces programming and application development for mobile devices. Covers the SDK and main programming platforms available on mobile devices, methodologies for developing native applications, division of computation between the mobile platform and servers, and mobile-to-server communications. Introduces platforms based on JavaScript and HTML5 for the development of applications that are portable across platforms. Students develop components of applications, leading to fully functional applications by the end of the course. Course based on emulators and SDK tools, so ownership of a cellphone/tablet is not required for the course. Prerequisite(s): courses 12B and 12M. 

Meeting time
MWF 1:20pm - 2:25pm @ Jack Baskin Auditorium 101
Instructor: Dustin Adams (homepage)
Office: E2 249B
Office Hours: Wednesday 3-4pm, Thursday 2-4pm
Phone: 831-459-1339

Teaching Assistants
Joshua Pena -
Chandranil Chakraborttii - 
Madhura Abhyankar - 

TA Office Hours 

Joshua: Monday 1-2pm (Baskin room 119), Friday 10am - 11am (Baskin room 312 C/D)
Chandranil: Tuesday 3:30 - 5:30pm (Engineering 2 room 392)
Madhura: Thursday 12-2pm (Baskin Engineering room 119)

Lab Sections: (Jack Baskin 109)
A: Monday 11:00AM-12:00PM (Joshua)
B: Tuesday 12:00PM-01:00PM (Chandranil, Madhura)
C: Tuesday 01:00PM-02:00PM (Chandranil, Madhura)
D: Wednesday 11:00AM-12:00PM (Madhura, Joshua)
E: Wednesday 12:00PM-01:00PM (Joshua, Chandranil)

Suggested Text: Android Studio 2 Development Essentials, Neil Smyth

Coursework and Evaluation for CMPS 121:

  • Assignments (25%)
  • Project (75%)
    • Bi-weekly updates (5%)
    • Proposal (10%)
    • Interim Presentation (20%)
    • Final demo and presentation (20%)
    • Project report (20%)

***Latework Policy: Late assignments (even by 1 minute) will be accepted up to 3 days after the assignment due date for 80% credit; assignments will not be accepted after 3 day grace period.

Grading scale for 121

A+ 97%-100%
A 93%-96%
A- 90%-92%
B+ 87%-89%
B 83%-86%
B- 80%-82%
C+ 76%-79%
C 70%-75%
C- 67%-69%
D+ 64%-66%
D 61%-63%
D- 58%-60%
F 0%-57%

Letter grade boundaries may be lowered at my discretion in order to eliminate some borderline cases.

Accommodations for Students with Disabilities

UC Santa Cruz is committed to creating an academic environment that supports its diverse student body. If you are a student with a disability who requires accommodations to achieve equal access in this course, please submit your Accommodation Authorization Letter from the Disability Resource Center (DRC) to me privately during my office hours or by appointment, preferably within the first two weeks of the quarter. At this time, I would also like us to discuss ways we can ensure your full participation in the course. I encourage all students who may benefit from learning more about DRC services to contact DRC by phone at 831-459-2089, or by email at 

If you qualify for classroom accommodations because of a disability, please get an Accommodation Authorization from the Disability Resource Center (DRC) and submit it to me in person outside of class (i.e. during office hours) within the first two weeks of the quarter. Contact DRC at 459-2089 (voice), 459- 4806 (TTY), or for more information.

Academic Honesty

The Baskin School of Engineering has a zero tolerance policy for any incident of academic dishonesty. If cheating occurs, consequences may range from getting zero on a particular assignment to failing the course. In addition every case of academic dishonesty is referred to the students’ college Provost, who sets in motion an official disciplinary process. Cheating in any part of the course may lead to failing the course, suspension or dismissal from the Baskin School of Engineering, or from UCSC.

What is cheating? In short, it is presenting someone else’s work as your own. Examples would include copying another students’ lab or programming assignment, or allowing your own work to be copied. You may discuss programs with fellow students, but your collaboration must be at the level of ideas only. You may freely give and receive help with the computer facilities, editors, the UNIX operating system, and the proper use and syntax of the Java programming language; but you may not copy, paste, email, transfer or in any way share source code. If you do collaborate (legitimately) or receive help from anyone,  you must credit them by placing their name(s) at the top of your program. Please go to to see the University's policy on Academic Misconduct.

The programs you submit this quarter should be original programs created just for this class. It is NOT acceptable to submit programs that you (or someone else) has written previously. As indicated above, if you incorporate any portions of programs written by someone else, or by you for a prior course or assignment, then that should be clearly noted in the program via comments. (See "Giving Credit Where Credit is Due".)