WPI Computer Science Department

Computer Science Department

CS 4518, Mobile and Ubiquitous Computing Class, C Term 2017

General Information

Class: Mondays and Thursdays, 2:00 - 3:50, Salisbury Labs (SL) 105

Teaching Assistant: Chaitany Nimkar, cnnimkar@WPI.EDU
Student Assistant: Himanshu Sahay, hsahay@WPI.EDU

Instructor: Prof. Emmanuel Agu, FL-139, 508-831-5568, emmanuel@cs.wpi.edu
Office Hours: Thursdays 4:00PM - 5:00PM; Others by appointment

Required Texts:

Supplemental Texts:

Course Overview

The goal of this class is to acquaint participants with some of the fundamental concepts and state-of-the-art research in the areas of mobile and ubiquitous computing. Focus will be on the computer science issues in mobile computing. This offering will focus on emerging mobile and ubiquitous computing ideas that are implemented on Android smartphones. Topics to be covered include mobile systems issues, human activity and emotion sensing, location sensing, mobile HCI, mobile social networking, mobile health, power saving techniques, energy and mobile performance measurement studies and mobile security.

Grading Policy: The course will consist of assigned Android app programming projects and a final project. There will be also be 5 quizzes (Roughly every Monday).

Points Distribution: Assigned Android Projects 40%, Final project: 40%, Quizzes: 20%

Recommended background: The course will assume knowledge of the following material:

Course Timeline: In the first 4 weeks, I will introduce mobile and ubiquitous course concepts and definitions, and introduce Android programming. In those 4 weeks, 4 projects will be assigned to students. Students will also work in teams to brainstorm on final project ideas which they will present in week 4. In weeks 4-7, students will work on their final projects. The TENTATIVE course timeline is summarized below along with class and quiz dates.

Dates Quiz Days Class Topics Deadlines
1/12 1 Course Introduction, Definitions (Mobile, Ubiquitous Computing, IoT, Android Introduction and Setup)
1/19 2 Android UI Design, Interactive and data-driven Android UI Project 0 due
1/23 Quiz 3 Android Component types, process model, app lifecycle, logging errors, Intents and fragments Students form groups for Final Project
1/26 4 Camera: taking pictures, face recognition, Audio & video playback Project 1 due
1/30 Quiz 5 Location-Aware computing (determining location, geocoding, Maps & Google places) Databases, Introduction to Context, Context-Aware computing
2/2 6 Introduction to sensors, Android sensor programming Human-centric sensing (detecting user state, step counting, activity recognition, inferring user intent) Project 2 due
2/6 Quiz 7 Introduction to Machine Learning, examples of final projects Groups submit 1 slide proposed final Project
2/9 8 Ubicomp using audio, video, images, Using Internet data in apps: web services, connecting to social media Communication: SMS, making calls, notifications Project 3 due
2/13 9 Student propose final projects Final Project Proposal due
2/16 Advising Day: No Undergrad Classes
2/20 Quiz 10 Advanced mobile computing topics (mobile social networking, mobile HCI Inputs, measurement and app usage studies, energy efficiency
2/23 11 Advanced Ubicomp topics (emotion sensing, mobile crowdsensing, notifications and attention)
2/27 Quiz 12 Advanced Ubicomp topics (mobile and ubicomp security and privacy)
3/2 13 Students present final projects
3/3 14 Students present final projects Final Project due

Programming projects: For the programming projects, students will either run their work on the Android Studio emulator or use an Android phone. Android Studio is installed in the Zoolab in Fuller basement. It is anticipated that most final projects will involve building an Android application. Students who prefer to do projects using other devices should discuss this with the professor and be prepared to obtain the devices themselves.

Late Assignment Credit: Late programming assignments will be penalized 15 points off per day (per 24 hours). Assignments later than 4 days late will not be accepted.

Cheating (a.k.a., academic dishonesty): , defined as taking credit for work you did not do or knowledge you do not possess, is strictly forbidden. First offenders will receive a zero grade for the assignment or quiz in question and an academic dishonesty report will be filed with the Office of Student Affairs. Repeat offenders will receive an NR for the course and the case will be brought before the campus hearing board (see Student Handbook). Using or submitting code retrieved from online repositories such as gitHub, which was previously submitted by a student in a previous iteration of this class (or CS 528 grad version) is considered cheating

Class Website: The class website is at http://web.cs.wpi.edu/~emmanuel/courses/cs4518/C17/.

Access to papers: Some of papers covered in class will be available from the ACM and IEEE digital libraries, which both allow free access to papers from any WPI on-campus computers (or computers with a WPI IP address).

Assigned Projects

Final Project

Advanced Mobile and Ubiquitous Computing Topics

- Application Areas: Health and Personal Assistants
- Web and Multimedia (Video and images)
- Mobile social networking & crowd sensing
- Location-Aware Computing and Proximity
- Human Activity and Emotion Sensing
- Sensor processing, Context Awareness and Inference
- Input Devices and Mobile HCI
- Mobile/wireless measurement and characterization
- Energy Efficiency
- Systems Issues
- Mobile cloud
- Security and Privacy

Lecture Slides, Code and Paper Downloads

Lecture Slides Code Download Paper(s)
Lecture 1 [ Course Introduction, Definitions (Mobile, Ubiquitous Computing, IoT, etc) ]
Lecture 2 [ Introduction to Android, Android Studio, Hello World ]
[ HFAD First App (Ch 1) Example ]
[ HFAD Beer Advisor (Ch 2) Example ]
[ ANR GeoQuiz (Ch 1) Example ]
Lecture 3 [ Android UI Design + Examples ]
Lecture 4 [ WebView + ANR GeoQuiz app ]
Lecture 5 [ Data-Driven Views and Android Components ]
Lecture 6 [ Android Activity Lifecycle and Intents ]
[ ANR GeoQuiz Second Activity Example (Ch 5) ]
Lecture 7 [ Fragments, Camera ]
Lecture 8 [ Face Detection, recognition, interpretation, Databases ]
[ ANR CriminalIntent Example (Ch 16) ] [ Visage Face Interpretation Engine ]
Lecture 9 [ Audio & Video ]
Lecture 10 [ Location-Aware Computing ]
Lecture 11 [ Maps & Sensors ]
Lecture 12 [ Activity Recognition ]
Lecture 13 [ Machine Learning for Ubiquitous Computing ]
Lecture 14 [ Smartphone Sensing ]
[ Activity recognition using cell phone accelerometers ]
[ A Survey of Mobile Phone Sensing ]
[ Mobile Phone Sensing Systems: A Survey ]
Lecture 15 [ Final Project Submissions & Other Android Ubicomp Components ]
Lecture 16 [ Applications of Activity Recognition, Intoxication and Sleep Detection ]
[ Applications of Activity recognition ]
[ AlcoGait ]
[ BES Sleep Duration Sensing ]
Lecture 17 [ StudentLife]
Lecture 18 [ Epidemiological Change & Urbanopoly ]
AlcoWatch MQP [ Slides ]
[ StudentLife Paper ]
[ Epidemiological Change Paper ]
[ Urbanopoly Paper ]
Lecture 19 [ ActivPass & Sandra]
Lecture 20 [ Movie Ratings from Reactions ]
[ ActivPass Paper ]
[ Sandra Paper ]
[ Movie Ratings from Reactions Paper ]

Schedule for office hours

Note: All SA office hours will be held in the zoolab unless you receive instructions otherwise.

Monday Tuesday Wednesday Thursday Friday
12:00 - 1:00PM Himanshu
1:00 - 2:00PM Chai Chai Himanshu Himanshu Himanshu
2:00 - 3:00PM Class Chai Himanshu Class Himanshu
3:00 - 4:00PM Class Chai Class
4:00 - 5:00PM Chai Chai
5:00 - 6:00PM Chai Chai
6:00 - 7:00PM Chai Chai
7:00 - 8:00PM Chai
8:00 - 9:00PM Chai
9:00 - 10:00PM

[Feedback] [Search Our Web] [Help & Index]

[Return to the WPI Homepage] [Return to CS Homepage]