CS 7470

CS 7470: Ubiquitous Computing

Fall 2006, Georgia Tech Lorraine

Welcome to Introduction to Ubiquitous Computing. This course will serve as an overview of the vision of ubiquitous computing (also known as "ubicomp," "pervasive" or "disappearing" computing) and how this vision of invisible, connected, and contextually-embedded devices is being interpreted and realized in universities and corporate research labs around the world.

Because ubicomp is a relatively young paradigm within computer science, we will primarily rely on recent conference and journal publications for the course reading material. Throughout the class, we will read and discuss research exploring both the technical underpinnings of ubicomp and the application areas in which these kinds of technologies are being applied. In parallel with these discussions, you will be responsible for exploring a ubicomp-enabling technology in depth, and will propose, plan, and implement a prototype ubiquitous computing system/application of your own.

Ubicomp represents a new way of looking at computing, but does so in the context of myriad application areas. This course will allow you to explore the "cutting edge" of technical research in sensing, input and output, and user interaction. It will also help you to understand how computing is finding its way into unexpected corners of everyday life.

Course Instructors

Dr. Elizabeth Mynatt
Office: GTL 309
Office hours: TBD

Stephen Voida
Office: GTL 203A
Office hours: TBD


Your grade in this course will be assigned as follows (where A >= 90%; B >= 80%; etc.):

15% - Active participation in class discussions
25% - Reading summaries
25% - Technology tutorial
35% - Project

It is expected that assignments will be submitted on time. 10% of the points possible for each assignment will be deducted for each day late the assignment is submitted.

Class Participation

Class meetings will be largely discussion-based, so every student will be expected to attend each class and participate in and contribute to the class discussion.

Your participation will be assessed out of a possible 150 points at the end of the semester. Points will be deducted for absences and lack of engagement with the instructors and other students during classes.

Readings and Reading Summaries

Readings are assigned on a weekly basis. Please be prepared to discuss all of the week’s readings at the first class of the week. All readings will be provided as PDF files on the course website.

Additionally, at the beginning of the Tuesday class each week, you will be asked to submit a one paragraph summary for each of the week’s readings. These summaries will help us to know that you have read each of the readings and are prepared to discuss the readings during class meetings. Each summary should briefly describe the main points presented in the paper and include a short statement about how the paper reflects the week’s topic and how it contributes to the field of ubiquitous computing, in general. The reading summaries should be thoughtful and convey your understanding of the contribution that the paper makes – don’t just re-write the paper’s abstract for your summary.

Each summary will be graded on a 7 point scale: 7 points will be awarded for a complete, thoughtful summary, 3 points will be awarded for a shallow, incomplete or factually incorrect summary, and no points will be awarded for late or missing summaries. Your summary grade will be computed out of a possible 250 points, allowing you to skip up to five summaries without penalty during the semester. If, however, you submit all 41 summaries on time, you are eligible to earn up to 37 points of extra credit (3.7% overall) towards your final grade. Skipping any summaries will make you ineligible to receive any bonus points.

"How-To" Technology Tutorials

One important skill for doing ubiquitous computing research is to be able to identify critical technologies and how to use them in developing applications. We will be introducing some critical technologies in this class and we expect that all students have some ideas on technologies considered important or interesting from a ubicomp perspective. Each student will be responsible for developing a "how-to" tutorial for a given technology. This tutorial is supposed to give the reader an understanding of what the technology is, how to obtain it, and how to use it in practice to develop some ubicomp application. The tutorial should be written such that novices to ubicomp can use it as a starting point for a project of their own—don’t assume domain expertise on the part of your reader!

Some topics for past technology tutorials have included:

  • Using IrDA to implement a Desk Area Network
  • Low-power processors
  • CMOS cameras
  • Pyro-/Piezo-electrics
  • GPS
  • BodyLANs
  • Bluetooth
  • Jini/UPnP discovery technologies
  • Ubicomp applications on cellular telephones
  • Using accelerometers
  • Developing a Context Toolkit application
  • Biosensors
  • RFID
  • Recognition systems (voice, location, identity, handwriting, etc.)
  • Power scavenging

Other topics might include:

  • GPRS
  • Gizmondo devices (Prof. MacIntyre’s course)
  • Biometric devices

(If a topic interests you but doesn’t appear on these lists, feel free to email the instructors with your idea.)

A draft of your tutorial report is due at the beginning of class on 28 September. Please bring two copies of your report with you to class. During class, each student will be assigned two other students’ draft tutorials to review, providing feedback about the accessibility, completeness, and usefulness of the tutorial. These one-page peer reviews will be due back at the beginning of class on 5 October. Bring two copies of your reviews with you; one will be returned to the tutorial’s author to help him or her improve their tutorial document and one will be submitted for a grade.

Your final technology tutorial documents will be due at the beginning of class on 12 October. During this class, each student will also make a short (10 minute maximum) presentation of their technology tutorial to the class.

Your technology tutorial grade will be computed out of a possible 250 points. Your peer reviews will be worth 50 points each, your presentation will be worth 50 points, and the final tutorial document will be worth 100 points.


Individuals or groups of two students will be required to develop requirements and some form of a prototype of a mobile or ubiquitous computing project.

The project will take place in three phases, and will be worth a total of 350 points:

Phase I: Project Proposal
Due at the beginning of class, 10 October
You will submit a list of the students working on the project and proposal statement (no longer than one page) describing the project you intend to carry out. The proposal should include a brief rationale for the prototype(s) you are proposing to create and a short description of how you envision the prototype might be used if realized robustly and deployed into the real world.

The project proposal will be graded out of a possible 30 points. You will be evaluated based on the originality of your proposal and the strength of your proposal’s rationale based on readings and discussion in the course.

Phase II: Requirements Document and Lightweight Prototypes
Phase IIa (iteration 1) due at the beginning of class, 26 October
Phase IIb (iteration 2) due at the beginning of class, 16 November
For the second phase of the project, you will submit a requirements document providing a detailed description of what you intend to prototype. You will also submit at least three lightweight prototypes (e.g., storyboards, video storyboards, physical mock-ups) realizing different aspects of your proposed ubicomp system, a brief (one page) rationale for the lightweight prototypes you (or your team) chose to create, and an assessment of the technology requirements for realizing the prototype(s).

Between iterations 1 and 2, the instructors will provide feedback on the level of detail of your requirements document, the appropriateness of your lightweight prototypes in reflecting the rationale of your project and exploring the design space for further prototype development, and the technical feasibility of implementing your proposed final system/application based on time constraints of the course and availability of required technology. You will use this feedback to revise and hone your requirements document, prototypes, and technology assessment for your second submission of phase II.

Each iteration of the requirements document, lightweight prototypes, and technology assessment will be graded out of a possible 60 points, for a total of 120 points. You will be evaluated based on the completeness and depth of your requirements document, the effectiveness of your lightweight prototypes in communicating an overview and relevant details of your proposed system design, and the overall quality of your technology assessment.

Phase III: Final Prototype Implementation, Reflection, and Presentation
Due 7 December
Your final submission will be a written report (maximum of eight pages in the ACM conference proceedings format) summarizing your project’s goals and requirements, the prototype(s) you created and the design rationale behind them, a description of how (and why) your final prototype(s) differ from your original proposed work, a reflection on the ways in which your design was and was not successful, and any future explorations that your findings might suggest. You will also submit any program code and/or prototype artifacts that you created over the course of the project. Finally, each team will make an in-class presentation of their projects, demonstrating their prototype implementations.

The final project report and prototypes will be graded out of a possible 150 points, and your presentation will be graded out of a possible 50 points.

Schedule (subject to change)





24 Aug

Course introduction and overview

29 Aug

Ubicomp: History and vision

  • Weiser, M. (1991). The computer for the 21st century.
  • Weiser, M. & Brown, J.S. (1996). The coming age of calm computing.
  • Abowd, G. & Mynatt, E.D. (2000). Charting past, present, and future research in ubiquitous computing.

31 Aug

Core ubicomp technologies and techniques

5 Sept

Hardware: Ubicomp computers and the power problem

  • Weiser, M. (1993). Some computer science issues in ubiquitous computing.
  • Want, R., Pering, T., Borriello, G. & Farkas, K. (2002). Disappearing hardware.
  • Paradiso, J. & Starner, T. (2004). Energy scavenging for mobile and wireless electronics.

7 Sept

12 Sept

Input: Sensing and location

  • Hightower, J. & Borriello, G. (2001). Location systems for ubiquitous computing.
  • Want, R., Hopper, A., Falcao, V. & Gibbons, J. (1992). The active badge location system.
  • Want, R., Fishkin, K., Gujar, A. & Harrison, B. (1999). Bridging physical and virtual worlds with electronic tags.

Technology tutorial sign-ups due

14 Sept

19 Sept

Output: Ambient, peripheral, and audio displays

  • Mankoff, J. et al. (2003). Heuristic evaluation of ambient displays.
  • Pingali, G. et al. (2003). Steerable interfaces for pervasive computing spaces.
  • Huang, E., Mynatt, E.D. & Trimble, J. (2006). Displays in the wild: Understanding the dynamics and evolution of a display ecology.
  • Mynatt, E.D., Back, M., Want, R. & Frederick, R. (1997). AudioAura: Light-Weight Audio Augmented Reality.

21 Sept

26 Sept

Networking: wireless communication and discovery protocols

  • Madden, S., Franklin, M.J., Hellerstein, J.M. & Hong, W. (2002). TAG: A tiny aggregation service for ad-hoc sensor networks.
  • Lamming, M. & Bohm, D. (2003). SPECS: Another approach to human context and activity sensing research, using tiny peer-to-peer wireless computers.
  • Edwards, W.K. (2006). Discovery systems in ubiquitous computing.

28 Sept

Technology tutorial draft documents due
(2 copies)

3 Oct

Software: Ubicomp infrastructures and frameworks

  • Kindberg, T. & Fox, A. (2002). System software for ubiquitous computing.
  • Salber, D., Dey, A.K. & Abowd, G.D. (1999). The Context Toolkit: Aiding the development of context-enabled applications.
  • Edwards, W.K. et al. (2002). Challenge: Recombinant computing and the Speakeasy approach.

5 Oct

Technology tutorial feedback reports due
(2 copies each)

10 Oct

Tomorrow’s technology today: Prototyping tools

  • Dey, A.K. et al. (2004). a CAPpella: Programming by demonstration of context-aware applications.
  • Li, Y., Hong, J.I. & Landay, J.A. (2004). Topiary: A tool for prototyping location-enhanced applications.
  • Carter, S. & Mankoff, J. (2006). Memento: Early-stage prototyping and evaluation for mobile applications.

Project phase I (proposals) due

12 Oct

Technology tutorial presentations

Technology tutorial final documents due

17 Oct

NO CLASS: UIST conference

Continue work on project phase two (requirements document and paper prototypes)

19 Oct

24 Oct

"Wetware": Users in a ubicomp world

  • Bellotti et al. (2002). Making sense of sensing systems.
  • Grinter, R.E. et al. (2002). Revisiting the visit: Understanding how technology can shape the museum visit.
  • Hightower, J. et al. (2005). Learning and recognizing the places we go.

26 Oct

Project phase IIa (requirements document and lightweight prototypes) due

31 Oct

NO CLASS: Fall break

2 Nov

Ubicomp application areas

7 Nov

Applications: Ubicomp meets the home

  • Edwards, K. & Grinter, R.E. (2001). At home with ubiquitous computing: Seven challenges.
  • Kidd, C. et al. (1999). The Aware Home: A living laboratory for ubiquitous computing research.
  • Hindus, D. et al. (2001). Casablanca: Designing social communication devices for the home.
  • Humble, J. et al. (2003). "Playing with the Bits": User-configuration of ubiquitous domestic environments.

9 Nov

14 Nov

Applications: Automated capture and access

  • Truong, K., Abowd, G.D. & Brotherton, J. (2001). Who, what, when, where, how: Design issues of capture and access applications.
  • Moran, T. et al. (1997). "I'll get that off the audio": A case study of salvaging multimedia meeting records.
  • Hayes, G. et al. (2004). Designing capture applications to support the education of children with autism.

16 Nov

Project phase IIb (requirements document and lightweight prototypes, iteration 2) due

21 Nov

Applications: Connecting people and supporting play

  • Schilit, B., Hilbert, D. & Trevor, J. (2002). Context-aware communication.
  • Paulos, E. (2004). The familiar stranger: Anxiety, comfort, and play in public spaces.
  • Gaver, W. & Dunne, A. (1999). Projected realities: Conceptual design for cultural effect.
  • Flintham, M. et al. (2003). Where on-line meets on-the-streets: Experiences with mobile mixed reality games.

23 Nov

Challenges in ubicomp research

28 Nov

Challenges: Privacy and security

  • Bellotti, V. & Sellen, A. (1993). Design for privacy in ubiquitous computing environments.
  • Langheinrich, M. (2001). Privacy by design: Principles of privacy-aware ubiquitous systems.
  • Stajano, F. (2002). Security for whom? The shifting security assumptions of pervasive computing.

30 Nov

5 Dec

Challenges: Deployment and evaluation

  • Davies, N. & Gellerson, H. (2002). Beyond prototypes: Challenges in deploying ubiquitous systems.
  • Consolvo, S., Arnstein, L. & Franza, B. (2002). User study techniques in the design and evaluation of a ubicomp environment.

7 Dec

Project final presentations

Course wrap-up

Project phase III (final reports) due

Finals week