|
Instructor
- Dr. Tamer Nadeem
- "nadeem AT cs.odu.edu"
- ECSB 3204
- Office Hours: Monday
1:25pm-2:55pm
5:40pm-7:10pm
Teaching Assist. (TA)
- Mostafa Uddin
- "muddin AT cs.odu.edu"
- ECSB 3106
- Office Hours: Wednesday
9:30am-12:30pm
or by appointment
|
|
Announcements
- 12/15/11 - Class Term Projects are listed here.
- 09/22/12 - The due date of Assignment #2 has changed to Wednesday Sep 26th, 11:59pm.
- 09/12/12 - Paper presentations are assigned. Please check the course schedule for your presentation assignment.
- 09/04/12 - Course Schedule is updated with "Papers" section. Each student should email me his/her selection of three papers by Friday Sep. 7thSaturday Sep. 8th. Each student is expected to present two papers only.
- 08/20/12 - 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.
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.
Text
The required text will be:
Wei-Meng Lee, "Beginning Android 4 Application Development" [$24.08 at Amazon]. 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. 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" [$26.63 at Amazon] James Steele, Nelson To, "The Android Developer's Cookbook" [$24.54 at Amazon] Ed Burnette, "Hello, Android: Introducing Google's Mobile Development Platform" [$42.06 at Amazon].
Grading Scheme
- Participation 10%
- Midterm 25%
- Programming Assignments 40%
- Final Project 25%
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.
Course Policies
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 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.
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.
Please be respectful of your classmates
and instructor by minimizing distractions during class. Cell phones
must be turned off during class.
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.
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.
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.
| Date |
Topics & Reading Assignments |
Presenter/Slides |
Mon Aug 27
|
Course Logistics: Course structure, grading, project, reading papers, etc.
Course Introduction: Introducing to Smart Devices and Smart applications, Overview of Android OS.
Reading:
Assignment:
|
Lec-01: Introduction
|
|
Mon Sep 03
|
No Lecture - Labor Day
|
|
Mon Sep 10
|
Android Basics: Android Tools, Building Applications, Activities, User Interfaces and Intents
Reading:
Papers:
Assignment:
|
Lec-02: Android Basics
|
Mon Sep 17
|
Android Fundamentals: Files, Saving State, Preferences, Databases and Content Providers
Reading:
Papers (Sensing):
Assignment:
|
Lec-03: Android Fundamentals
|
Mon Sep 24
|
Beyond Basics: Services, Processes, Threads, and Broadcast Receivers
Reading:
Papers (Crowd Sourcing):
Assignment:
|
Lec-4: Services & BroadcastReceiver
|
Mon Oct 01
|
Beyond Basics: Sensors
Reading:
Papers (Security/Privacy):
Assignment:
|
Lec-05: Sensors
|
|
Mon Oct 08
|
No Lecture - Fall Holiday
|
|
Mon Oct 15
|
Beyond Basics III: Maps and Location-Based Services
Reading:
Papers (Localization):
Assignment:
|
Lec-06: Location Services & Maps
|
Mon Oct 22
|
Project Proposals Discussion (Each group present their project overview, tasks list, timeline, and current status)
|
|
|
Mon Oct 29
|
No Lecture - Campus Closed
|
|
Mon Nov 05
|
Advanced Android I: Audio, Video, Telephony and SMS
Reading:
Papers (Application I):
Assignment:
|
Lec-07: Audio & Video
|
Mon Nov 12
|
Advanced Android II: Bluetooth, Networks, and Wi-Fi
Mid Term Review
Reading:
Papers (Application II):
Assignment:
|
Lec-8: SMS & Networking
|
Mon Nov 19
|
- Mid Term Exam
- Project current status updates
Papers (Application III):
|
|
Mon Nov 26
|
Advanced Android Development & Looking Forward
Reading:
Papers:
- Matthew Keally et. al., "PBN: Towards Practical Activity Recognition Using Smartphone-Based Body Sensor Networks", SenSys 2011. [Drew Carpenter](slides)
- Jesse Burns, "Developing Secure Mobile Applications for Android". [Joel Elixson](slides)
Peter
Gilbert, "Vision: Automated Security Validation of Mobile Apps at App
Markets", MCS’11, June 28, 2011, Bethesda, Maryland, USA. [Thomas Staley](slides)
|
Lec-9: Advanced Topics
|
Mon Dec 03
|
Conclusion & Final Project Presentations
Papers:
|
Lec-10: Conclusion
|
|