General Information
Class: Mondays and Thursdays, 2.00pm - 3.50pm, HL 116
Instructor: Prof. Emmanuel Agu, FL-139, 508-831-5568, emmanuel@cs.wpi.edu
Office Hours: Thursdays 4:00PM - 5:00PM; Others by appointment
Teaching Assistant: Siyuan Zhao, szhao@WPI.EDU
Office hours: Wed: 3pm - 6pm, Thurs: 7pm - 10pm
Student Assistant:Cuong Nguyen Dinh, ctnguyendinh@wpi.edu
Office hours: Mon 3-6, Tue 5-7, Wed 10am-12pm, 6-7
Required Text:
- The Busy Coder's Guide to Android Development (Version 6.5) by Mark L. Murphy
Supplemental Texts:
- Android Programming: The Big Nerd Ranch, Bill Phillips and Brian Hardy, 2013
- Introduction to Android Application Development: Android Essentials, Joseph Annuzzi Jr, Lauren Darcey and Shane Conder
- Ubiquitous Computing Fundamentals, John Krumm, CRC Press, 2010
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 computing, wireless networking 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. The course will consist of assigned projects including Android app programming projects, student presentations, discussions and a final project. There will be no exams or quizzes.
Recommended background: The course will assume knowledge of the following material:
For the first 3 weeks, I will present. I will introduce mobile and ubiquitous course concepts and definitions, and introduce Android programming. In those 3 weeks, 3 projects will be assigned to students. In week 4 students will present papers from a list of papers, which should help in generating final project ideas. 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 5. In weeks 5-7, students will work on their final project and present more papers. The course timeline is summarized below:
- Object-oriented concepts including classes, inheritance, exceptions, interfaces, polymorphism,
- Proficiency in the Java programming language or a course equivalent to CS 2102 (object-oriented design concepts)
- Processes, threads, process management, synchronization, input/output devices, interrupts, memory management, file systems or a course equivalent to CS 3013 (operating systems)
- OSI reference seven-layer stack, wireless networking, Internetworking, network protocols, socket programming or a course equivalent to CS 3516 (computer networks)
In preparing your talk, please use the following powerpoint template for uniformity. Also please send me your powerpoint slides by 10am 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.
- Week 1: Course Introduction, Android Introduction and Setup - Week 1: Android UI Design and App Life Cycle - Week 2: Threads, Saving Data, Services and Broadcast Receivers - Week 2: Maps, Location Services, Audio, Video and Camera - Week 3: Telephony, SMS, power management and selected topics - Week 3: Sensor management and activity recognition - Week 4: Students present papers - Week 5: Student propose projects + Discussions - Weeks 5-7: Students work on final projects, present more papers - Week 7 week: Final project presentation and submissionsFor 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.
During the weeks that students present, all students not presenting will also be expected to critique any 2 papers of the papers presented for any given week. Critiques should be submitted via turnin before the start of the class on the day that paper is presented. The summaries should be original but not exceed half a page per paper or book section. It should contain the key points, findings, contributions, etc of the papers. It should also demonstrate that you have read the assigned papers and not just copied the abstract or introduction. The summaries shall be graded on a simple scale from 0-2 (0 - no effort, 1 - moderate effort, 2 - Excellent job). You can find some guidelines on what the summary should contain HERE
Class Website: The class website is at http://www.cs.wpi.edu/~emmanuel/courses/cs403x/D15/.Grading Policy: Presentation(s) 15%, Class participation 5%, Assigned Projects 25%, Final project: 40%, Summaries: 15%
Access to papers: A number of the assigned papers are from the ACM and IEEE digital libraries. To access these papers, you either have to be at home or configure your browser to use a proxy. You can find details for the proxy configuration on the CCC website at http://www.wpi.edu/Academics/CCC/Help/Software/proxy.htmlImportant Links
- Powerpoint template for presentations
- Guidelines for Presentations
- Guidelines for writing summaries
- Paper presentation grading rubric
- Final paper templates in [ MS Word ] and [ Latex ]
- Project proposal grading rubric
Assigned Projects
- Project 0: Android Setup and Practice
- Project 1: Designing Android Screens (Layouts, Views and Widgets)
- Project 2: Exploring the Android Camera and Images
- Project 3: Stepping out with Android Sensors
Deadlines
Description Deadline Propose project (submit introduction, related work and approach) April 16 Final presentations May 4
Paper Topics (Detailed Schedule later)
- 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
Class Slides
- Lecture 1 [ Introduction to the Course and Android ]
- Lecture 2 [ Android UI Design, First Android Programs ]
- Lecture 3 [ Android UI in Java, WebView, Android Activity Lifecycle ]
- Lecture 4 [ AdapterViews, Intents, Fragments, Audio/Video, Camera ]
- Lecture 5 [ Web Services, Broadcast Receivers, Tracking Location, SQLite Databases ]
- Lecture 6 [ Maps, Sensors, Widget Catalog and Presentations ]
- Lecture 7 [ Final Project Proposals + a Smorgasbord of Stuff!! ]
- Lecture 7 [ Final Project Presentation and Submissions ]
Papers
(April 9): Overview and Health Apps
- A Survey of Mobile Phone Sensing. Nicholas D. Lane, Emiliano Miluzzo, Hong Lu, Daniel Peebles, Tanzeem Choudhury, Andrew T. Campbell, In IEEE Communications Magazine, September 2010. [ PDF file ]
- BeWell: A Smartphone Application to Monitor,Model and Promote Wellbeing Nicholas D. Lane, Tanzeem Choudhury, Andrew Campbell, Mashfiqui Mohammod, Mu Lin, Xiaochao Yang, Afsaneh Doryab, Hong Lu, Shahid Ali and Ethan Berke, In Proc. Pervasive Health 2011 [ PDF file ]
- Unobtrusive Sleep Monitoring using Smartphones, Zhenyu Chen, Mu Lin, Fanglin Chen, Nicholas D. Lane, Giuseppe Cardone, Rui Wang, Tianxing Li, Yiqiang Chen, Tanzeem Choudhury, Andrew T. Campbell, in Proc Pervasive Health 2013 [ PDF file ]
- My smartphone knows I am hungry, Fanglin Chen, Rui Wang, Xia Zhou and Andrew Campbell, in Proc Pervasive Health 2013 ACM Workshop on Physical Analytics, (co-located with ACM Mobisys), 2014 [ PDF file ]
(April 13): Health and Phone Interaction
- Mobile Phone Sensing Systems: A Survey, Khan, W.; Xiang, Y.; Aalsalem, M.; Arshad, Q.; , Communications Surveys & Tutorials, IEEE , vol.PP, no.99, pp.1-26 [ PDF file ] (Must be on campus to download)
- Mobile Phone Based Drunk Driving Detection, J. Dai et al in PervasiveHealth 2010 [ PDF file ]
- Using mobile phones to write in air Sandip Agrawal, Ionut Constandache, Shravan Gaonkar, Romit Roy Choudhury, Kevin Caves, and Frank DeRuyter, in Proc. MobiSys 2011 [ PDF file ]
- Duet: Exploring Joint Interactions on a Smart Phone and a Smart Watch Xiang 'Anthony' Chen, Tovi Grossman, Daniel J. Wigdor, George Fitzmaurice in Proc CHI 2014 [ PDF file ]
[ YouTube Video ] [ Short YouTube Video ](Apr 27): Web and Multimedia (Video and Images)
- Tapping into the Vibe of the City Using VibN Emiliano Miluzzo, Michela Papandrea, Nicholas D. Lane, Andy M. Sarroff, Silvia Giordano, Andrew T. Campbell, In Proc. SCI 2011, co-located with Ubicomp 2011 [ PDF file ]
- The Visage Face Interpretation Engine for Mobile Phone Applications Xiaochao Yang, Chuang-Wen You, Andrew Campbell, in Proc MobiCase 2012 [ PDF file ]
- Social Sensing for Epidimiological Behavior Change, Anmol Madan, Manuel Cebrian, David Lazer, Alex Pentland, in Proc Ubicomp '10 [ PDF file ]
- Using Proximity and Homophily to Connect Conference Attendees in a Mobile Social Network Alvin Chin, Bin Xu, Fangxi Yin, Xia Wang,Wei Wang, Dezhi Hong, Ying Wang, Xiaoguang Fan In Proc Phonecom Workshop 2012 (co-located with ICDCS Conference) [ PDF file ]
(Apr 30): Measurements and App Usage Studies
- Falling asleep with Angry Birds, Facebook and Kindle: a large scale study on mobile application usage. Matthias Böhmer, Brent Hecht, Johannes Schöning, Antonio Krüger, and Gernot Bauer. in Proc MobileHCI 2011 [ PDF file ]
- Automatically characterizing places with opportunistic crowdsensing using smartphones. Yohan Chon, Nicholas D. Lane, Fan Li, Hojung Cha, and Feng Zhao. In Proc UbiComp 2012 [ PDF file ]
- A survey of mobile malware in the wild Adrienne Porter Felt, Matthew Finifter, Erika Chin, Steve Hanna, and David Wagner in Proc SPSM 2011 [ PDF file ]
Talk Schedule/Slides
Presentation Date Topic/Paper Presenter Slides Apr 9 A Survey of Mobile Phone Sensing ( Team 1: Spicola, Stone, Arnold) [ Slides ] Apr 9 BeWell: A Smartphone Application to Monitor,Model and Promote Wellbeing (Team 4: Dabrowski, Costi, Polekoff) [ Slides ] Apr 9 Unobtrusive Sleep Monitoring using Smartphones (Team 5: Iovanna, Hamlin, Kahn) [ Slides ] Apr 9 My smartphone knows I am hungry (Team 6: Yoon, Senecal, Wu) [ Slides ] Apr 13 Mobile Phone Sensing Systems: A Survey (Team 2: Malis, Aiello, Over) [ Slides ] Apr 13 Mobile Phone Based Drunk Driving Detection (Team 7: Benson, Angelo, Han) [ Slides ] Apr 13 Using mobile phones to write in air ( Team 8: Orlando, Van Rensselaer, Zapatka) [ Slides ] Apr 13 Duet: Exploring Joint Interactions on a Smart Phone and a Smart Watch (Team 9: Jimenez, Davidson, Batbouta) [ Slides ] April 16 Project Proposal (All Students) Apr 20 No Class (Patriots Day) Apr 23 No Class (Project Presentation Day) Apr 27 Tapping into the Vibe of the City Using VibN (Team 3: Brann, Ford, Mihal) [ Slides ] April 27 The Visage Face Interpretation Engine for Mobile Phone Applications (Team 10: Hanna, True, Foley) [ Slides ] April 27 Social Sensing for Epidimiological Behavior Change (Team 11: Wu, Ling, Phyu) [ Slides ] April 27 Using Proximity and Homophily to Connect Conference Attendees in a Mobile Social Network (Team 12: Murphy, Gallo, Owens) [ Slides ] April 30 Falling asleep with Angry Birds, Facebook and Kindle: a large scale study on mobile application usage (Team 13: Behlman, Geary, Graham) [ Slides ] April 30 Automatically characterizing places with opportunistic crowdsensing using smartphones (Team 14: Hernandez, Ireland, Yo) [ Slides ] April 30 A survey of mobile malware in the wild (Team 15: Megin, Rahman, Wetzel) [ Slides ] May 4 Final Project Presentation (All students)