WPI Computer Science Department

Computer Science Department

CS 528, Mobile and Ubiquitous Computing Class, Fall 2017

General Information

Class: Thursdays, 6pm - 8.50pm, OH 126

Grader: Prachi Dandekar, pdandekar@wpi.edu
Office Hours: Fridays, 2PM - 4PM. (All office hours will be held in the Zoolab in Fuller Room A21)

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

Required Texts:

Supplemental Texts:

Class Websites: The class website is at http://web.cs.wpi.edu/~emmanuel/courses/cs528/F17/.

Points Distribution: Presentation(s) 15%, Assigned Projects 40%, Final project: 25%, Quizzes: 20%

Access to papers: A number of the assigned papers are from the ACM and IEEE digital libraries. To access these papers, just go the the WPI Library website (http://www.wpi.edu/+library/), search for the paper title and click on the link that comes up. You may be required to log in using your WPI username and password.

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, or which was previously submitted by a student in a previous iteration of this class (or CS 4518 undergraduate version) is considered cheating

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 computer science areas of mobile computing and ubiquitous computing. This semester's class will focus on emerging mobile and ubiquitous computing ideas that are implemented on Android smartphones, but will also discuss Smart environments and Internet of Things. The course will consist of assigned projects including Android app programming projects, student presentations, discussions and a final project. There will also be quizzes and the students will present papers in groups.

Recommended Background: CS 502 or an equivalent graduate level course in Operating Systems, and CS 513 or an equivalent graduate level course in Computer Networks, and proficiency in a high programming language. This semester's class focusses on programming Android applications which is Java-based. knowledge of or willingness to learn Java is a plus.

Course Timeline: For the first 7 weeks, I will present. I will introduce mobile and ubiquitous course concepts and definitions, and introduce Android programming and some machine learning. In those 7 weeks, 4 projects will be assigned to students. In weeks 8-12 students will get to present papers from a list of papers, which should help in generating final project ideas. I will also present in those weeks. Students will be graded on the quality of their presentations. Students will also work in teams to brainstorm on final project ideas which they will present in week 9. In weeks 10-13, students will work on their final project. The course TENTATIVE timeline is summarized below:

Dates Quiz Days Class Topics Deadlines
Aug 31 1 Course Introduction, Definitions (Mobile, Ubiquitous Computing, IoT, Android Introduction and Setup, Android Hello World)
Sept 7 2 Android UI Design in XML + Examples, WebView + ANR GeoQuiz app Project 0 due
Sept 14 Quiz 3 Android Component types, process model, app lifecycle, logging errors, Intents
Sept 21 4 Camera: taking pictures, face recognition, interpretation Project 1 due
Sept 28 Quiz 5 Playing Sound and Video, Location-Aware computing (determining location, geocoding, Maps & Google places), Students form groups for Final Project
Oct 5 6 Introduction to sensors, Android sensor programming Activity Recognition Project 2 due
Oct 12 Quiz 7 Introduction to Machine Learning & Classification, SmartPhone Sensing & Mobile Crowdsensing
Oct 26 8 Final Project Overview & More Android Ubicomp Components, Mobile sensing for Healthcare Project 3 due
Nov 2 9 Student propose final projects Final Project Proposal (Written Introduction, related work and approach) due
Nov 9 10 Physiological Sensing & Quantified Self, Mood & affect sensing and Voice-based Analytics Project 4 due
Nov 16 Quiz 11 Attention, Boredom, Notifications, Addicted Smartphone usage & Gamification, Energy Efficient Computing
Nov 30 12 Mobile Security, Mobile software vulnerabilities
Dec 7 Quiz 13 Smart Homes/Spaces/Devices & Mobile Usage Characterization Studies, Wireless Networks
Dec 14 14 Students present final projects Final Projects Due

Student Talks: In preparing your talk, please use the following powerpoint template for uniformity. Also please send me your powerpoint slides by noon on the day of your talk so that I can make the slides available on class website. A summary of presentation guidelines can be found [ HERE ] Students are encouraged to choose papers and projects to present in areas they may be interested in doing a class project. In addition to presenting their chosen papers, students will also be expected to participate in class discussions. There will assigned projects as well as a significant term project. The term projects will investigate in-depth one of the sub-topics treated in the seminar and group work will be encouraged.

Programming Projects: For programming projects, students will either run their work on the Android Studio emulator or use their own Android phones if they own up-to-date Android phones. MATLAB will be used for Machine Learning Projects. Android Studio and MATLAB are installed in the Zoolab in Fuller basement. For students who do have access to Android phones, a few phones will be available to be loaned to students FOR THE ASSIGNED PROJECTS. It is anticipated that most of the final projects will involve building an Android application or classification of sensor data.

Assigned Projects

Final Project

Funded Research Assistant Positions Starting Spring 2018

Lecture Slides, Code and Paper Downloads

Lecture Slides Code Download Paper(s)
Lecture 1a [ Course Introduction, Definitions (Mobile, Ubiquitous Computing, IoT, etc) ]
Lecture 1b [ Introduction to Android, Android Studio, Hello World ]
Lecture 2a [ Android UI Design + Examples ]
Lecture 2b [ WebView + ANR GeoQuiz app ]
[ HFAD First App (Ch 1) Example ]
[ HFAD Beer Advisor (Ch 2) Example ]
[ ANR GeoQuiz (Ch 1) Example ]
Lecture 3a [ Data-Driven Views and Android Components ]
Lecture 3b [ Android Activity Lifecycle and Intents ]
[ ANR GeoQuiz Second Activity Example (Ch 5) ]
Lecture 4a [ Fragments, Camera ]
Lecture 4b [ Face Detection, recognition, interpretation, Databases ]
[ ANR CriminalIntent Example (Ch 16) ] [ Visage Face Interpretation Engine ]
Lecture 5a [ Audio & Video ]
Lecture 5b [ Location-Aware Computing ]
[ Live Upstreaming ]
[ GPS Clustering Notes (Deepak Ganesan) ]
Lecture 6a [ Maps & Sensors ]
Lecture 6b [ Step Counting & Activity Recognition ]
[ Step Counting Notes (Deepak Ganesan)]
Lecture 7a [ Applications of Activity Recognition & Machine Learning for Ubiquitous Computing ]
Lecture 7b [ Smartphone Sensing ]
[ Applications of Activity recognition ]
[ Activity recognition using cell phone accelerometers ]
[ A Survey of Mobile Phone Sensing ]
[ Mobile Phone Sensing Systems: A Survey ]
Lecture 8a [ Other Android Ubicomp Components, Intoxication and Sleep Duration Sensing ]
Lecture 8b [ StudentLife & Epidemiological Change ]
[ AlcoGait ]
[ BES Sleep duration sensing ]
[ StudentLife ]
[ Epidemiological Change ]
Lecture 9a [ Quantified Self & Physiological Sensing ]
Lecture 9b [ Voice Analytics & Affect Detection ]
[ Physiological sensing Notes (Deepak Ganesan) ]
[ Voice Based Analytics Notes (Deepak Ganesan) ]
Lecture 10a [ Attention, Boredom, Intelligent Notifications, Smartphone Overuse ]
Lecture 10b [ Gamification & Energy Efficiency ]
[ Intelligent Notifications ]
[ Detecting Boredom ]
[ Phone Overuse ]
[ Urbanopoly ]
[ Sandra: Energy Efficiency ]
Lecture 11a [ Mobile Security (Part 1) ]
Lecture 11b [ Mobile Security (Part 2) ]
[ ActivPass Paper ]
Lecture 12 [ Mobile Measurements & Wireless Networks ] [ Measurements of Millions of Android Users ]
[ Angry Birds ]

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

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