Home

Overview

unc-android

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.

Instructor:

  • Prof. Shahriar Nirjon (Office: FB 212. Hours:  THU 12:30-1:30pm. Email in advance.)
  • TA: TBD

Syllabus and Prerequisites:

  • Syllabus for both COMP 433 and COMP 790-136: Fall 2017
  • Experience in Java (e.g., event handling, GUI, threads, socket programming) is required.
  • Required to have an Android smartphone or a tablet (for programming assignments). Devices should have an accelerometer and a GPS sensor. No cellular data plan in 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 it to the class.
  • Project – Each student has to develop a mobile application. The instructor and the student will discuss the scope of the project and finalize it before the mid-term break. There will be a project show towards the end of the semester. A formal project report and a 2-min video of the project are due on the project show and tell day.
  • Final Exam– There will be a final exam on the topics covered after the mid-term.

Grading:

  • Class Attendance (3%)
  • Class Work (12%)
  • Assignments (45%)
  • Project (30%)
  • Final Exam (10%)

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 to obtain full marks. No points will be awarded after one week.
  • 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. 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 will be on: the idea presentation (group grading), final project presentation (group grading), and report submission (individual grading). 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.