Course Syllabus

INFO 6120 Ubiquitous Computing 

Spring 2024

Tuesday & Thursday: 1:25pm - 2:40pm

Bloomberg 81

Course Slack: https://join.slack.com/t/info6120spring2024/shared_invite/zt-2b2vuifzm-k7S5Q7jGKDwd1TY1YtZvlw

Instructors

Dr. Tanzeem Choudhury
Email: tanzeem.choudhury@cornell.edu
Office Hours: Thursday 12:30 PM - 1:15 PM (email in advance)
Location: Based on email

Joey Castillo
Email: jc3292@cornell.edu
Office Hours: Tuesday 3:00 PM - 4:00 PM (or by appointment)
Location: Tata 241

TA: Tan Gemicioglu
Email: tg399@cornell.edu
Office Hours: Thursday 10:30 AM - 11:30 AM
Location: Tata 241

Overview 

This course will introduce students to the field of Ubiquitous Computing: a multidisciplinary research area that draws from Signal Processing, Machine Learning, Device Making, Human Computer Interaction, as well as Psychology and Sociology. We will highlight various challenges in data collection, representation of models, and evaluation. We will brainstorm ideas on how future research can go about tackling some of these challenges. 

Formal lectures, hands-on exercises/lab along with discussions will be equally important aspects of the course. Students will be required to read, and critique papers and we will have a few short debates. Participation in discussions will be evaluated as well as mini projects and assignments during the term and an end-of-term final project.

We will normally have lecture and discussion sessions on Tuesdays where the instructors and students will explore a topic and discuss papers on a ubiquitous computing-relevant topic.  On Thursdays, there are lab sessions to work on a project related to a ubiquitous computing application. 

Prerequisites: Students should have coding proficiency and basic familiarity with sensors available on mobile devices and IoT. Contact the instructors if you have questions.

 

Course Materials

To complete the in-class labs and assignments, students will be issued a set of electronics including a battery-powered, Bluetooth-capable development board. For the final project, students will be expected to prepare a list of electronics that they will use to build their final project, and those materials will be provided. Students will have an opportunity to discuss the final bill of materials and budget with their instructor/TA. 

Papers will be posted on Canvas before the course meeting.

 

Grading and Assignments 

Your grades will be determined by assignments (30%), final project (40%), paper critiques/discussion (20%), and class participation (10%). 

Assignments: 30%

There will be 3 individual assignments, each worth 10%. These assignments will involve both basic building/prototyping, as well as coding and machine learning. 

 

Paper critiques and presentation: 20%

You are expected to read the assigned readings before class. This will typically mean two full-length research papers per week. You’re expected to read and write discussions on both readings before the start of Tuesday's class and post them on to the corresponding Discussion thread on Canvas. Your discussion should be 1-2 pages long, or around 500 - 750 words. You can either directly respond in the Discussion or upload a document. 

However, if you choose to lead a presentation of a paper, you only need to read one paper and present it. You do not have to complete the written critique of the other reading material of that week. 

Please sign up for presentations here. Please use this template to guide what you should present in these presentations. 

Simply criticizing the details of research often leads to an underwhelming discussion. We encourage students to draw upon their backgrounds to surface more interesting debate and discussion topics. For some thoughts on why and how to formulate good questions, see our colleague Dan Cosley’s blog post. 

You could discuss from these perspectives: 

  • What idea or innovation enabled this, what more might be done based on that idea or innovation? How can the ideas proposed by this research be used in the real world? What might the barriers to adoption be?
  • How might this research help address gaps in other solutions or research you have seen in this space?
  • How well did the authors uniquely communicate their data, ideas, and results? Could the findings have been made clearer to achieve greater impact?
  • The goal of posting discussion topics is to facilitate rich discussions during class. All of your classmates will have read the paper, so do not simply post a summary of the paper.

Participation in the posting of potential discussion topics for each day will be graded on a scale from 0 to 3.

  • 0: If you do not participate.
  • 1: If your participation seems weak and does not convince us you read, understood, and considered the readings.
  • 2: If your participation shows you read and understood the readings, then surfaced a potentially interesting discussion. This will be the most common grade.
  • 3: Reserved for especially strong or insightful discussion topics. This will be an uncommon grade and may not be given out for every thread/topic.

 

Class participation: 10%

Class participation will be determined by active in-class engagement in paper discussions, and questions or interesting observations during the lab sessions. 

 

Final project: 40%

You will complete a semester-long final project. You will be required to find a real-world problem, propose an innovative solution to that problem using Ubicomp techniques, and demonstrate the efficacy of your innovative solution or a detailed analysis of why things didn’t turn out as you expected. The project will involve both building and interacting with sensors, and are likely to involve signal processing and/or machine learning. Example projects are available in Canvas.

 

Submission

Submissions will be coordinated using Canvas. 

 

Academic Integrity

You are expected to observe Cornell’s Code of Academic Integrity in all aspects of this course. The code states that:

Absolute integrity is expected of every Cornell student in all academic undertakings. Academic integrity is expected not only in formal coursework situations, but in all University relationships and interactions connected to the educational process, including the use of University resources. A Cornell student's submission of work for academic credit indicates that the work is the student's own. All outside assistance should be acknowledged, and the student's academic position truthfully reported at all times. In addition, Cornell students have a right to expect academic integrity from each of their peers.

Certain assignments in this course may permit or even encourage the use of generative artificial intelligence (AI) tools. When the use of AI tools is permissible, it will be clearly stated in the assignment prompt posted in Canvas. Otherwise, the default is that use of generative AI is disallowed. 

In assignments where generative AI tools are allowed, their use must be appropriately acknowledged and cited. For instance, if you generated the whole document through ChatGPT and edited it for accuracy, your submitted work would need to include a note such as “I generated this work through Chat GPT and edited the content for accuracy.” Paraphrasing or quoting smaller samples of AI generated content must be appropriately acknowledged and cited, following the guidelines established by the APA Style Guide. It is each student’s responsibility to assess the validity and applicability of any AI output that is submitted. You may not earn full credit if inaccurate on invalid information is found in your work. 

Deviations from the guidelines above will be considered violations of Cornell's academic integrity policy. Please email course staff if you have questions regarding what is permissible and not for a particular course or assignment.

 

Weekly Schedule: 

  • Week 1 
    • January 23  - [Lecture] Introduction and class logistics
    • January 25  - [Research papers discussion] History of Ubicomp 
      • The Computer for the 21st Century
      • The Coming Age of Calm Technology
      • [Optional] Moving on from Weiser’s Vision of Calm Computing: Engaging UbiComp Experiences
  • Week 2
    • January 30- [Lecture] Intro to Electronics
    • February 1 - [Lab] Electronics Lab
    • February 1 - Assignment 1 distributed (wearable project)
  • Week 3
    • February 6 - [Lecture] Sensors/Sensing
    • February 8 - [Lab] Sensors/Sensing
  • Week 4
    • February 13 - [Lecture] Responding to the Physical World
    • February 15 - [Lab] Responding to the Physical World
  • Week 5
    • February 20 - [Lab] Open lab for wearable (Assignment 1)
    • February 22 - [Lecture] Building minimalist UI for Ubicomp
    • February 22 - Assignment 1 due
    • February 22 - Assignment 2 distributed (minimalist UI)
  • Week 6
    • February 27 - No Classes Held
    • February 29 - [Research Papers Discussion] Sensors and Interactions
      • SoundSense: Scalable Sound Sensing for People-Centric Applications on Mobile Phones
      • The Mobile Sensing Platform: An Embedded Activity Recognition System
      • [Optional] ShArc: A Geometric Technique for Multi-Bend/Shape Sensing
    • February 29 - Written final project proposal due
  • Week 7
    • March 5 - [Lecture] - Signal processing
    • March 7 - [Lab] - Signal processing
  • Week 8
    • March 12 - [Lecture] Data processing and feature engineering
    • March 14 - [2-minute madness for final projects]
  • Week 9
    • March 19 - [Research Papers Discussion] Brain signals and EEG
      • NeuroPhone: Brain-Mobile Phone Interface using a Wireless EEG Headset
    • March 21 - EEG lab
  • Week 10
    • March 26 - [Lecture] Biofeedback
    • March 28 - [Research Papers Discussion] Biofeedback
      • BoostMeUp: Improving Cognitive Performance in the Moment by Unobtrusively Regulating Emotions with a Smartwatch
      • Calm Commute: Guided Slow Breathing for Daily Stress Management in Drivers
    • March 28 - Assignment 2 Due
  • Week 11
    • April 2 - No Classes Held
    • April 4 - No Classes Held
  • Week 12
    • April 9 - [Lecture] Introduction to Machine Learning
    • April 11 - [Lecture] - A Deeper Dive into Machine Learning
    • April 11 - Assignment 3 (EEG) Distributed
  • Week 13
    • April 16 - [Research papers discussion] Machine Learning
      • Deep, Convolutional, and Recurrent Models for Human Activity Recognition using Wearables
      • Deep Learning in the Era of Edge Computing: Challenges and Opportunities
      • Dog's Life: Wearable Activity Recognition for Dogs
    • April 18 - [Lab] Open Lab for Final Project 
  • Week 14 
    • April 23 - [Research papers discussion] Creative privacy solutions in Ubicomp 
      • The Privacy Landscape of Pervasive Computing
      • Wearable Microphone Jamming
      • [Optional] Public restroom detection on mobile phone via active probing
    • April 25 - [Lab] Open Lab for Final Projects
    • April 25 - Assignment 3 due
  • Week 15
    • April 30 - Final Project Workshops
    • May 2 - Final Project Workshops
  • May 7, 2024 - Final Project Presentations 
  • May 17, 2024 - Final Project Write-up Due