COMPSCI 590U: Mobile and Ubiquitous Computing (Spring 2018)

This course will introduce students to the field of Ubiquitous Computing – an emerging CS research area that draws from Machine Learning, Signal Processing, Sensor Systems, Hardware Prototyping, Mobile Computing, Embedded Systems, and various application areas including Human-Computer Interaction, Sustainability, Medicine, as well as from Psychology, Economics and Sociology. We will discuss various Ubicomp solutions to real-world problems, advanced prototyping techniques, data collection approaches, signal representation, modeling, and evaluation. Specifically, the course focuses on formal lectures, class discussions and hands-on data collection and prototyping exercises, assignments and end of the term final project. Students will be required to lead discussions, debate, critique papers, do mini projects and assignments and run an end of term final project.


Tauhidur Rahman

318 CS Building

Email: trahman AT cs DOT umass DOT edu

Lecture Hours: TuTh 8:30AM - 9:45AM

Pre-requisites: The prerequisites of this course are COMPSCI 240: Reasoning under Uncertainty and COMPSCI 230: Computer Systems Principles. If you are in doubt, please feel free to contact the instructor at There will be taster assignment called “Is this class right for me?” at the beginning of the course.

Learning Outcomes: The course is designed to help students to design mobile and ubiquitous computing systems that (1) capture observable low-level signals with sensor systems, (2) map low level signal to high level more interpretable and actionable variables with the help of signal processing and machine learning, (3) run complex computation in embedded and mobile computing platforms. As the application area of Mobile and Ubiquitous Computing is diverse, the students will experience how mobile and ubiquitous computing concepts are used to solve different challenging problems in different problem space. The students will be able to improve their abilities to communicate ubicomp related topics. With the help of formal lectures, and hands-on exercises the students will learn how to design a ubicomp system, develop it with the help of advanced hardware and software prototyping, apply signal processing and machine learning concepts, run data collection or user studies in the wild, and evaluate the complete system. The course will discuss the following topics (tentative)

  • Week 1: Introduction to Ubiquitous Computing
  • Week 2: History of Ubiquitous Computing
  • Week 3: Making Ubicomp Work
  • Week 4: Ubicomp and Location
  • Week 5: Ubicomp and Activity
  • Week 6: Tutorial on Sensing and Basic Electronics
  • Week 7: Ubicomp, Emotion and the Brain
  • Week 8: Ubicomp and Assistive Technology
  • Week 9: Ubicomp and on/off body sensing
  • Week 10: Ubicomp and Smart home/City
  • Week 11: Ubicomp and Crowd
  • Week 12: Ubicomp and Sustainability Technology
  • Week 13: Ubicomp, Persuasion and Intervention
  • Week 14: Final Project Activities
  • Week 15: Final Project Show and Tell


Assignments: 40%

  • “Is this class right for me?” Taster assignment (ungraded but should be completed)
  • Plus, five regular assignments

Critiquing of papers and leading paper discussion: 10%

  • Submit paper critique every week
  • Lead one paper discussion during the semester

Class participation: 10%

  • Actively engage in discussions of the paper
  • Bring up questions or interesting observations during hands-on experiment sessions

Final project: 40%

  • Find a real-world problem
  • Propose an innovative solution to that problem using ubicomp techniques
  • Build the proposed ubiquitous computing platform with software and hardware systems
  • Run a pilot user study to prove that efficacy of your innovative ubicomp solution. We will help you to