This course covers the basics of Mobile Applications development using Android APIs and some selected topics on Mobile Systems and Networks. There are lectures, class activities, programming assignments, a course project, and a final exam. Upon successful competition, a student should be able to develop proof-of-concept Android apps and have a better understanding of computing systems and computer networks from the mobile systems perspective.


  • Prof. Shahriar Nirjon (Office: FB 212. Office Hours: Online. Email in advance.)
  • TA: Md Mohaiminul Islam (Room: SN 006, TA Hours: Friday 3 pm to 5 pm) (updated 8/26)


Topics and Resources (Finalized AFTER Each Class)

08-18-2021Lecture 1Getting Startedlecture1 asmt0
08-23-2021Class Work 1Android Studio, First app, Debugcw1
08-25-2021Class Work 2Building Apps: Layouts, Buttons, Images, Eventscw2
08-30-2021(continue)Event handling.
09-01-2021Lecture 2Framework, components, intentslecture2
09-08-2021(continued)Explicit and implicit intents
09-13-2021Assignment 18 Queens Problem (Game)asmt1
09-15-2021Lecture 3Animation & Graphicslecture3 images
09-20-2021(continued)Drawables and Canvas
09-22-2021Class Work 3Plotting Random Numberscw3
09-27-2021Lecture 4Sensorslecture4
09-29-2021Lecture 5Locationlecture5
10-04-2021Assignment 2asmt2
10-06-2021Lecture 6Process, Threads, Tasklecture6
10-11-2021Lecture 7Sensor Data Classificationlecture7
10-18-2021Midterm Exam
10-20-2021Lecture 8SQLite Databaselecture8
10-25-2021Class Work 4cw4
10-27-2021Assignment 3asmt3
11-01-2021Lecture 9Image Classificationlecture9
11-03-2021Class Work P0cwp0
11-08-2021Lecture 10Service and Medialecture10
11-10-2021Class Work P1project
11-15-2021Lecture 11ADBlecture11
11-17-2021Class Work P2project
11-22-2021Class Work P3project
11-29-2021Class Work P4project
12-01-2021Final Project Submissionproject
12-07-2021Final Exam4pm to 7pm

Syllabus and Prerequisites:

  • Syllabus for COMP 433: Fall 2021
  • Experience in Java (e.g., event handling, GUI, threads, socket programming) is required. It is strongly recommended that a student completes assignment #0 [pdf]
  • Recommended to have an Android smartphone or a tablet (for programming assignments). Devices should have an accelerometer and a GPS sensor. No cellular data plan is needed. Your phone should run Android OS 4.4 or later. A good way to test if it is programmable is to: go to Settings/About Phone/ and touch the Build Number several times. If it says something like “you are a developer” then you are good to go.
  • Knowledge of OS and Networking is not required, but a general understanding of basic concepts such as processes, threads, and TCP/IP will be handy.

Course Structure:

  • Lectures – The instructor will cover the course topics.
  • Class Work – Tasks will be given (e.g. programming task, design, etc.) and students will solve them in class with the help of the instructor and/or the TA.
  • Assignments – Programming assignments (usually a small app) that a student will do at home, and bring to the class.
  • Project – Each student has to develop a mobile application. Details will be discussed later.
  • Midterm/Final Exam– There will be a midterm and a final exam.


  • Class Participation (3%)
  • Class Work (12%)
  • Assignments (35%)
  • Midterm (15%)
  • Project (20%)
  • Final Exam (15%)

Grading Policy:

  • Attendance will be taken on random days.
  • Class Work needs to be signed off by the TA or the instructor within a week (the TA hour of the next week is okay) to obtain full marks. No points will be awarded after the deadline.
  • Assignments (programming assignments) are individual assignments. Bring your laptop, source code, and the running app on your phone/tablet for grading. Assignments must be demonstrated in person, in class. 50% points will be taken off for being up to one week late and 75% will be taken off for being up to two weeks late. No points will be awarded after two weeks. All codes (entire project folder) must be zipped and uploaded to the Sakai by the deadline. Grading will be based on in-person demonstrations only. Uploaded codes will be used to check honor code violations.
  • Project groups may have up to 2 students. Points and deadlines are assigned to different milestones of the final project. 50% points will be taken off for being up to one week late. No points will be awarded after one week of the deadline. All codes, reports, presentations must be uploaded to the Sakai by the deadline.

Links to Resources

Android Resources

Arduino Resources