CS 495/595 - App Development for Smart Devices
Fall 2013: Monday 7:10pm-9:50pm, Dragas 1117


  • Dr. Tamer Nadeem
  • "nadeem AT cs.odu.edu"
  • ECSB 3204
    • Office Hours: Monday

Teaching Assist. (TA)

  • Mostafa Uddin
  • "muddin AT cs.odu.edu"
  • ECSB 3106
    • Office Hours: Wednesday
             10:00am - 11:30am
             or by appointment


  • 10/07/13 - The class project ideas and timeline could be found here.

  • 09/18/13 - Assignment of paper presentation for each class are posted on the course calendar under the "Paper" section of each class. Students registered for CS 495 are presenting one paper while students registered for CS 595 are presenting two papers.
  • 09/06/13 - The list of papers to select from for your presentation is here. Each student need to select 4 papers in which each from a different topic. Send me your selection by Tuesday Sept. 10, 2013.
  • 08/20/13 - Class' webpage is up. Please check for frequent updates/announcements.

Course Description

In recent years, smart devices (e.g., phones, tablets, netbooks, eBooks) have seen an explosive growth both in terms of the number of services provided and the types of technologies that have become available.

This project-oriented course examines the principles of application design and development for smart devices. More specifically, this course's focus is on Android phones. Students will learn application development on the Android platform. Topics will include user interface; input methods; data handling; network techniques; localization and sensing. Students are expected to work on a project that produces a professional-quality mobile application.

Course Overview

  • In this course you learn how to program mobile applications for the Android operating system that use basic and advanced phone features, and deploy applications to the Android marketplace for distribution. It is expected by the end of class that students will have created an innovative and robust mobile application that will be valuable addition to their programming portfolio.
  • Course requirements include (1) readings for class preparation and class participation, (2) programming assignments and code reviews, (3) in-class presentations of one or more papers/applications, 4) Mid-term exam, and (5) the final programming project.  
  • There will be one mid-term exam and no final exams.
  • You are expected to participate in a groups of 2-3 students for the final project. A suggested list of projects will be made available by the instructor. You can pick your own topic for the project. The project will begin with a project proposal that must be approved. Students are encouraged to think about the project topic early, read related papers, discuss your ideas with me, and formulate your project proposal. A final report for the project and presentation will be due at the end of the semester.
  • Students are encouraged to bring their laptops to class during the code walkthroughs sections. 


The required text will be:

    Wei-Meng Lee, "Beginning Android 4 Application Development". This is a good introduction for someone who knows Java or C# but is new to Android and Eclipse.

In addition, we will use online resources for Android programming. More specifically, Android Development Guide (ADG) website. A number of relevant papers from recent journal publications and conference proceedings will be discussed in class.

Recommended but not required purchases:

    Reto Meier, "Professional Android 4 Application Development".

    James Steele, Nelson To, "The Android Developer's Cookbook".

    Ed Burnette, "Hello, Android: Introducing Google's Mobile Development Platform".


No specific course prerequisite. However, students must be comfortable with Linux environment and Java programming. In addition, students are encouraged to bring their laptops to class during the code walkthroughs sections.

Course Policies

Grading Scheme

  • Participation 10%
  • Midterm 25%
  • Programming Assignments 40%
  • Final Project 25%


The grading scale is as follows:
(+ and - modifiers will be applied as appropriate)

    90-100   A
    80-89   B
    70-79   C
    0-69   F

Late Assignments

Late assignments are not accepted.


I expect you to attend class and to arrive on time. Your grade may be affected if you are consistently tardy. If you have to miss a class, you are responsible checking the course website to find any assignments or notes you may have missed. Students may leave after 15 minutes if the instructor or a guest lecturer does not arrive in that time.

Computer Account and Email

Students should have an ODU OCCS account. This is the account associated with your @odu.edu email. It will allow you to log into the course's Blackboard site. All ODU students automatically receive this account, though you may need to activate yours, particularly if you are new to ODU.

Students should activate their @odu.edu e-mail accounts and check them every day. If a student chooses to have his/her messages forwarded to another account, it is the student's responsibility to take the necessary steps to have them forwarded.

All students in this course are responsible for making sure they have working accounts prior to the first assignment.

Academic Integrity / Honor Code

By attending Old Dominion University you have accepted the responsibility to abide by the honor code. If you are uncertain about how the honor code applies to any course activity, you should request clarification from the instructor. The honor code is as follows:

    "I pledge to support the honor system of Old Dominion University. I will refrain from any form of academic dishonesty or deception, such as cheating or plagiarism. I am aware that as a member if the academic community, it is my responsibility to turn in all suspected violators of the honor system. I will report to Honor Council hearings if summoned."

In particular, submitting anything that is not your own work without proper attribution (giving credit to the original author) is plagiarism and is considered to be an honor code violation. It is not acceptable to copy source code or written work from any other source (including other students), unless explicitly allowed in the assignment statement. In cases where using resources such as the Internet is allowed, proper attribution must be given.

Any evidence of an honor code violation (cheating) will result in a 0 grade for the assignment/exam, and the incident will be submitted to the Department of Computer Science for further review. Note that honor code violations can result in a permanent notation being placed on the student's transcript. Evidence of cheating may include a student being unable to satisfactorily answer questions asked by the instructor about a submitted solution. Cheating includes not only receiving unauthorized assistance, but also giving unauthorized assistance. For class files kept in Unix space, students are expected to use Unix file permission protections (chmod) to keep other students from accessing the files. Failure to adequately protect files may result in a student being held responsible for giving unauthorized assistance, even if not directly aware of it.

Students may still provide legitimate assistance to one another. You are encouraged to form study groups to discuss course topics. Students should avoid discussions of solutions to ongoing assignments and should not, under any circumstances, show or share code solutions for an ongoing assignment.

Please see the ODU Honor Council’s webpage for other concrete examples of what constitutes cheating, plagiarism, and unauthorized collaboration. All students are responsible for knowing the rules. If you are unclear about whether a certain activity is allowed or not, please contact the instructor.

Classroom Conduct

Please be respectful of your classmates and instructor by minimizing distractions during class. Cell phones must be turned off during class.

Make-up Work

Make-ups for graded activities are possible only with a valid written medical or university excuse. It is the student's responsibility to give the instructor the written excuse and to arrange for any makeup work to be done. A makeup exam may be different (and possibly more difficult) than the regularly scheduled exam.

Disability Services

In compliance with PL94-142 and more recent federal legislation affirming the rights of disabled individuals, provisions will be made for students with special needs on an individual basis. The student must have been identified as special needs by the university and an appropriate letter must be provided to the course instructor. Provision will be made based upon written guidelines from the University's Office of Educational Accessibility. All students are expected to fulfill all course requirements.

Seeking Help

The course website should be your first reference for questions about the class. The course schedule will be updated throughout the semester with links to assigned readings. Announcements and frequently asked questions (FAQ) will also be posted to the course website.

The best way to get help is to come to office hours. If you cannot make office hours, please send an email to setup an appointment.

I am available via email, but do not expect or rely on an immediate response.

Class Calender

This is just a draft of the course's calender. Dates and topics are subject to change during the course