CS 441/541 - App Development for Smart Devices
Fall 2015: Monday 7:10pm-9:50pm, Dragas 1105

Instructor

  • Dr. Tamer Nadeem
  • "nadeem AT cs.odu.edu"
  • ECSB 3204
    • Office Hours: Monday
             1:00pm-2:30pm


Teaching Assist. (TA)

  • Mostafa Uddin
  • "muddin AT cs.odu.edu"
  • ECSB 3110
    • Office Hours: Wednesday
             11:00am - 1:00pm
             or by appointment

Announcements

  • 09/24/15 - In-Class paper presentation schedule is posted on the course calendar. Please note your assigned schedule and let me know if you have any concern on the schedule. Presentation duratio is expected to be 20 minutes. You could re-use any slides to your presentation given that you credit the original source of the slides.

  • 09/14/15 - Papers for in-class presenation are listed here. Each student need to select 3 papers in which each from a different topic from the list of topics below. Papers marked as "(CS 441 only)", are not eligible to be selected by CS 541 students. Please post your selection on "Paper Selection" thread with cs441/541 Cafe on Blackboard me your selection by Friday Sept. 18, 2015.
  • 08/24/15 - 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. 


Text

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".



Prerequisites

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 20%
  • Programming Assignments 40%
  • Final Project 30%

Grading

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.


Attendance

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.


Accessibility Services

Old Dominion University is committed to ensuring equal access to all qualified students with disabilities in accordance with the Americans with Disabilities Act. The Office of Educational Accessibility (OEA) is the campus office that works with students who have disabilities to provide and/or arrange reasonable accommodations.


  • If you experience a disability which will impact your ability to access any aspect of my class, please present me with an accommodation letter from OEA so that we can work together to ensure that appropriate accommodations are available to you.
  • If you feel that you will experience barriers to your ability to learn and/or testing in my class but do not have an accommodation letter, please consider scheduling an appointment with OEA to determine if academic accommodations are necessary.

The Office of Educational Accessibility is located at 1021 Student Success Center and their phone number is (757)683-4655. Additional information is available at the OEA website: http://www.odu.edu/educationalaccessibility/

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 Calendar

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