Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

CSE590Sp2018: Ubiquitous Computing

The github repo for the Spring 2018 offering of CSE590: Ubiquitous Computing.

The aim of this class will be to introduce you to ubiquitous computing. We will focus on how traditional topics of computing have evolved to support the vision of a connected, portable, and a human-centric computing environment. The course will include discussion into contribution of various fields, including human-computer interaction, embedded computing, computer vision, distributed systems, machine learning, and electrical engineering. The students will gain practical experience in developing sensing systems in different application domains, such as activity recognition, health sensing, gestural interaction, etc.

The course will be a combination of lectures, tutorials, class discussions, and demonstrations.

This course has been informed by Professor Shwetak Patel's Spring 2015 offering and Professor Mayank Goel's Fall 2015 offering.


The class is broken into roughly five modules:

  • L01: Introduction to ubicomp and Android
  • L02-L04: Signal processing and machine learning in ubicomp systems
  • L05-L06: Physical computing (Arduino, circuits, sensors, actuators)
  • L07-L08: Computer vision in ubicomp systems
  • L09-L10: Fabrication

You can view the lectures here.

Course Materials

You must have a laptop for use in and out of class capable of running Android Studio and an Android emulator. We will be providing you with an Android device (a Huawei Honor7 running Android OS 7 aka Nougat), an Arduino board, and an electronics kit. All materials must be returned on the final day of class (June 7).

We will not be using a textbook; however, if you're interested, please see John Krumm's Ubiquitous Computing Fundamentals.


There are three categories of assignments in this course (see the Course Summary below for more details on assignment topics and due dates):

  • [110 pts] Making: five implementation assignments that enable you to learn and apply core methods, techniques, and approaches in ubiquitous computing (20 pts each + 2 pts for a midpoint check-in). These assignments are due every two weeks. The assignments can be viewed here
  • [18 pts] Paper reading + online discussion: each week, we will have one required reading + online discussion (2 pts). For a bonus, you can sign-up to lead an in-class discussion. See:
  • [~15 pts] Participation grade: participating in in-class and online discussions (e.g., responding to a post), asking questions in class or on Canvas, and miscellaneous housekeeping assignments (e.g., completing MakerSpace orientation, filling out background survey).

More Details

For more details and the full course syllabus, please see the course on Canvas here.


The github repo for CSE590 - Ubiquitous Computing Spring 2018







No releases published


No packages published