CSCI 4211/5211: Mobile Computing
and Programming
Department of Computer Science
and Engineering
College of Engineering and
Applied Sciences
University of Colorado Denver
Course Syllabus
Instructor: Dr.
Tam Vu Term: Fall,
2016
Office: Lawrence
Street, Room 816 Class
Meeting Days: Friday
Phone: 303-315-0050 Class
Meeting Hours: 9:30pm
- 12:30pm
E-Mail: tam.vu@ucdenver.edu Class
Location: CU
Building 1000
Office Hours: Friday, 12:30pm-3:30pm TA's
email: phuc.v.nguyen@ucdenver.edu
Instructor Website: http://cse.ucdenver.edu/~tamvu
Course
Overview:
I.
Welcome to Mobile Computing and
Programming. This course contains two main simultaneous tracks, namely mobile computing and mobile programming. A series of lectures
on various aspects of mobile computing provides an understanding of challenges
and solutions in design and implementing mobile systems. The main topics
include mobile sensing, human mobility and its technical implications,
localization and positioning techniques, energy management, and mobile security
and privacy. To illustrate these concepts and relate them to practice, a series
of lectures, tutorials, and labs on mobile
application programming is provided. The course will cover the fundamental
programming principles, software architecture, and user experience
considerations underlying handheld software applications and their development
environments. Students will gain hands-on experience through implementing
applications in the Android Platform through in-class tutorials, assignments,
and final project.
II. University Course Catalog Description: This course
will focus on mobile computing concepts such as mobile sensing, human mobility,
localization and positioning, security and privacy, etc., and mobile system
programming including mobile platforms, application fundamentals, user
interfaces, multimedia, input/output, and sensing management, to mention a few.
III. Course Goals and Learning Objectives: It is the goal of this
course that at the completion of the semester students would have gained the
following knowledge:
The learning
objectives of this course are:
IV.
Course Prerequisites: It is expected that at
the beginning of this course students have knowledge of CSCI 3453 Operating Systems course and CSCI 4761 Introduction to
Computer Networks course or equivalence. The student should understand general
mechanisms by which computer platforms are structured and operated; and how
such individual computers communicate with each other.
V. ABET Assessment Criteria: This course
is designed to address ABET Assessment Criteria c and d. Criteria c is an
ability to design and conduct software and/or hardware experiments, as well as
an ability to analyze and interpret data. Criteria d is an ability to design
software to meet desired needs.
These Criteria will be addressed in a Mobile Systems context. ABET Assessment Criteria c and d both
map to Program Educational Objectives 1 and 4. Program Educational Objective 1 is to
"Produce graduates who are successful professionals in computer science and
engineering". Program Educational
Objective 4 is to "Involve students in software design and projects".
VI. Course Credits: This course
has three (3) credits associated with it.
VII. Required Texts and Materials: There is no
textbook for this course. I will post related materials including lecture
presentations, research articles on Canvas. In addition, I highly recommend
students to utilize the wide range of freely available Android-related material
and resource online. Here are the two common sources:
a.
Keep up with changes and improvements in the
Android ecosystem by reading the Android
Developer's Blog.
b. Watch
tutorials and other presentations from the Google I/O conference.
VIII. Schedule
Week |
Topics |
1 |
Introduction and Logistics |
2 + 3 |
Mobile UIUX and Notifications |
4 + 5 |
Authentication, Sign Up, and Server
Management |
6 + 7 |
Camera and Image Processing + Sound and Acoustic Signal
Processing |
8 |
Exam |
9 +10 |
IMU + Signal Processing |
11 + 12 |
Location + Location Service +
Location Privacy |
13 |
Energy Management |
14 |
Mobile Communication + Visible
Light Communication |
15 |
App Analytics and Rewarding Systems |
16 |
Final Project Submission and Demo +
Final Exam |
Evaluation:
I.
Course Grade:
Course grades are a weighted average of the grades earned on all
graded material. The weights for
the different categories are:
+
Assignments: 50%
+
Attendance and class participation . 10%
+
Final project (application demo and report) .. 10%
+
Midterm 15%
+ Final:
15%
Letter Grades are as follows:
+ 94% - 100% ...... A
+ 90% - 93.9%...... A-
+ 87% - 89.9%...... B+
+ 84% - 86.9% ..... B
+ 80% - 83.9%...... B-
+ 77% - 79.9%...... C+
+ 74% - 76.9% ..... C
+ 70% - 73.9%...... C-
+ 67% - 69.9%...... D+
+ 64% - 66.9% ..... D
+ 60% - 63.9%...... D-
+ 00% - 59.9% ..... F
II.
Programming
Assignments: The Programming Assignments will be in Java. The grading of the
Programming Assignments is a combination of completeness (all specifications
are covered), correctness of results, and style. All programming assignments are due at
the beginning of class on the due date.
Submissions will be made via Canvas. I do not allow late work to be submitted
unless there is prior written approval
by me based on special circumstances. If
your work is not on Canvas, it will not be graded.
III.
Exams: There will
be two exams, one midterm and one final. Exams are open note, open book, no computer.
IV. Grade Dissemination: I will be
utilizing the Canvas system to record your grades. You can check on Canvas for all of your
current grades.
Course Procedures:
I.
Attendance: Attendance is
required for this course. As with
all science courses, you will have easier time learning the material if you
attend the lectures and participate in class.
II.
Late Work
Policy: All programming assignments and homework are due at the beginning
of class on the due date.
Submissions will be made via Canvas. I do not allow late work to be submitted
unless there is prior approval by me
based on special circumstances. Makeup exams and quizzes are not
normally given; in special circumstances,
arrangements should be made prior to
the exam date if at all possible.
III.
Grades of
"Incomplete": The current university policy concerning incomplete
grades will be followed in this course. Incomplete grades are given only in
situations where unexpected emergencies prevent a student from completing the
course and the remaining work can be completed the next semester. I am the
final authority on whether you qualify for an incomplete. Incomplete work must
be finished by the end of the subsequent semester or the "I" will automatically
be recorded as an "F" on your transcript.
IV.
Canvas: I will be
utilizing Canvas in this course to assign all of the course work and for you to
submit your solutions. I will also
be utilizing it to communicate with you and to provide you with your current
grade. It is recommended that you
check it frequently.
V.
Classroom
Devices: Out of respect for everyone in the classroom, if you would like to
record the lectures you must first receive my approval. I generally will approve the request,
but I first would like to speak with you concerning the scope of the recording.
Student
Expectations:
I.
Civility: My
commitment is to create a climate for learning characterized by respect for each
other and the contributions each person makes to class. I ask that you make a
similar commitment.
II.
Professionalism:
Since mobile devices can be a distraction during class, I ask that
all devices be put into "silent" mode and not utilized during class; this
includes checking Facebook, sending a Tweet, or checking email. If I feel that your mobile device is
becoming a distraction for either other students, you, or myself I will ask you
to leave the classroom.
III.
Religious
Observations: I understand that an individual's religion plays a large part in
their lives and I do not want this course to interfere with that aspect of
their lives. If you find that your
religion's holiday(s) falls on a class day and you can not attend due to this,
please notify me within two weeks of that date by email (or Canvas mail) and we
will work together to come to a mutually acceptable solution.
Collaboration and
Cheating:
I encourage
you to review material and discuss ideas together for projects and other
assignments, and to work on problems you encounter. It is a characteristic of
computing that discussions often help to clarify problems and resolve
difficulties feel free to take advantage of this to improve your
understanding of the material, and to complete projects, but make sure you then create your own work.
It's important that you go through the program design, coding, and debugging
processes yourself, or you will not be developing your own programming skills
and understanding. "Working together" does not mean that one student does the
majority of the work and other students put their names on it! If you have any questions about what
this means, please see me. Every student must create their work on
their own!
Any instances
of cheating will result in a zero
for the assignment, a grade of zero
in the course, or sanctions determined by the college (including suspension and
expulsion), which is strictly enforced by the university and the College of
Engineering and Applied Science.
University
Policies:
I.
Access: The
University of Colorado Denver is committed to providing reasonable
accommodation and access to programs and services to persons with disabilities.
Students with disabilities who want academic accommodations must register with
Disability Resources and Services (DRS) in North
Classroom 2514, Phone: 303-556-3450, TTY: 303-556- 4766, Fax: 303-556-4771. I
will be happy to provide approved accommodations, once you provide me with a
copy of DRS's letter. _[DRS requires students to provide current and adequate documentation
of their disabilities. Once a student has registered with DRS, DRS will review
the documentation and assess the student's request for academic accommodations
in light of the documentation. DRS will then provide the student with a letter
indicating which academic accommodations have been approved.]
II.
Academic
Honesty and Student Code of Conduct: Students are expected to know,
understand, and comply with the ethical standards of the university, including
rules against plagiarism, cheating, fabrication and falsification, multiple
submissions, misuse of academic materials, and complicity in academic dishonesty.
For more information on Academic Honesty and the Student Code of Conduct please
see: http://www.ucdenver.edu/life/services/standards/students/pages/default.aspx
III.
Other
University Policies:
+ Academic
Freedom:
http://www.ucdenver.edu/policy/pages/academic-Freedom.aspx
+ Family
Educational Rights and Privacy Act (FERPA):
http://www.ucdenver.edu/student-services/resources/registrar/students/policies/Pages/StudentPrivacy.aspx
+ Attendance:
http://www.ucdenver.edu/faculty_staff/employees/policies/Policies%20Library/OAA/
StudentAttendance.pdf
+ Discrimination
and Harassment Policy and Procedures:
http://www.ucdenver.edu/about/WhoWeAre/Chancellor/ViceChancellors/Provost/Stu
dentAffairs/UniversityLife/sexualmisconduct/DenverPolices/Pages/DenverWelcome.a
spx
+ Grade
Appeal Policy:
http://www.ucdenver.edu/policy/Documents/Process-for-Grade-Issues.pdf