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
mynatt@cc.gatech.edu
Office: GTL 309
Office hours: TBD
Stephen Voida
svoida@cc.gatech.edu
Office: GTL 203A
Office hours: TBD
Evaluation
Your grade in this course will be assigned as follows (where A >= 90%; B >= 80%; etc.):
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.
Projects
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)
Date |
Topic |
Readings |
Deliverables |
---|---|---|---|
Thursday |
Course introduction and overview | ||
Tuesday |
Ubicomp: History and vision |
| |
Thursday | |||
Core ubicomp technologies and techniques | |||
Tuesday |
Hardware: Ubicomp computers and the power problem |
| |
Thursday | |||
Tuesday |
Input: Sensing and location |
|
Technology tutorial sign-ups due |
Thursday | |||
Tuesday |
Output: Ambient, peripheral, and audio displays |
| |
Thursday | |||
Tuesday |
Networking: wireless communication and discovery protocols |
| |
Thursday |
Technology tutorial draft documents due | ||
Tuesday |
Software: Ubicomp infrastructures and frameworks |
| |
Thursday |
Technology tutorial feedback reports due | ||
Tuesday |
Tomorrow’s technology today: Prototyping tools |
|
Project phase I (proposals) due |
Thursday |
Technology tutorial presentations |
Technology tutorial final documents due | |
Tuesday |
NO CLASS: UIST conference Continue work on project phase two (requirements document and paper prototypes) | ||
Thursday | |||
Tuesday |
"Wetware": Users in a ubicomp world |
| |
Thursday |
Project phase IIa (requirements document and lightweight prototypes) due | ||
Tuesday |
NO CLASS: Fall break | ||
Thursday | |||
Ubicomp application areas | |||
Tuesday |
Applications: Ubicomp meets the home |
| |
Thursday | |||
Tuesday |
Applications: Automated capture and access |
| |
Thursday |
Project phase IIb (requirements document and lightweight prototypes, iteration 2) due | ||
Tuesday |
Applications: Connecting people and supporting play |
| |
Thursday | |||
Challenges in ubicomp research | |||
Tuesday |
Challenges: Privacy and security |
| |
Thursday | |||
Tuesday |
Challenges: Deployment and evaluation |
| |
Thursday |
Project final presentations Course wrap-up |
Project phase III (final reports) due | |
Finals week |
NO CLASS |