6.883
Pervasive Human Centric Computing (SMA 5508)
Spring 2006
Topics
- Overview
- Discussion of Readings
- iPAQ, Python®, Connectivity
- Socket Programming and Bluetooth
- Discussion of Readings (cont.)
- More Bluetooth
- Location - GPS
- Location - API
- Location - Cricket
- Python® on Series 60 Phones
- User Interface GUIs, More Phone Programming
- Keyboards and GUIs
- GUIs (cont.)
- XWand and Arrays
- Preliminary Project Presentations
- Pre-Recorded Speech
- Guest Lecturer
- Pre-Recorded Speech (cont.)
- Vision
- Kiosk
- Sketching
- Security
- C++ Extensions to Python®
- Debugging
- Publish-Subscribe and Middleware
- Project Discussions
- Human Factors
- Distributed Pervasive Applications
- Videos of Other Projects
- Pervasive Project Presentations
- Pervasive Project Presentations (cont.)
Readings
- Pilgrim, Mark. Dive Into Python® . Berkeley, CA: Apress, 2004. ISBN: 1590593561.
- Huang, Albert, and Larry Rudolph. “Bluetooth Programming.” Chapters 1, 2, 3, and 4. (Forthcoming book.)
- Location Aware Application
- Barkuss, Louise, and Anind Dey. “Location-Based Services for Mobile Telephony: a Study of Users’ Privacy Concerns.” Proceedings of INTERACT, July 2003.
- Ackerman, Mark, Trevor Darrell, and Daniel J. Weitzner. “Privacy Concerns.” Human-Computer Interaction 16, nos. 2-4 (2001). (Special Issue on Context-Aware Computing.)
- Barkuss-Dey. “Computing Taking Control away from the User?” UbiComp (2003): 149-156.
- Chen, Guanling, and David Kotz. “A Survey of Context-Aware Mobile Computing Research.” Dartmouth Computer Science Technical Report TR2000-381 (November 2000).
- “Cricket v2 User Manual.” Cricket Project, MIT Computer Science and Artificial Intelligence Lab, July 2004.
- Priyantha, Nissanka. “The Cricket Indoor Location System.” Ph.D. Thesis, Massachusetts Institute of Technology, 2005.
- SES #: L8 · TOPICS: Python® on Series 60 Phones · READINGS: Symbian Python® Reference Version 1.3
- SES #: L19 · TOPICS: Debugging · READINGS: Pervasive Debugging Overview Article
- Stortz, Oliver, Adrian Friday, and Nigel Davies. “Supporting Ordering and Consistency in a Distributed Event Heap for Ubiquitous Computing.” Personal and Ubiquitous Computing . London, England: Springer, 2005. ISSN: 16174909.
- Davies, Nigel, Adrian Friday, Stephan Wade, and Gordon Blair. “L2imbo: A distributed systems platform for mobile computing.” ACM Mobile Networks and Applications 3, no. 2 (1998): 143-156.
- Modahl, Martin, et al. “Media Broker: An Architecture for Pervasive Computing.” In Proceedings of the IEEE Conference on Pervasive Computing and Communications. Orlando, FL, March 2004.
- Huang, Yongquian, and Hector Garcia-Molina. “Publish/Subscribe in a Mobile Environment.” Wireless Networks 10, no. 6 (2004): 643-652.
- There is no required textbook. However, readings will be assigned for every lecture, generally from research papers accessible on the Web.
Fall 2005 · Program Analysis
Topics
- Introduction
- A Semantics-based Tool for Program Analysis
- A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints
- Chaining Approach for Software Test Data Generation
- Efficient Path Profiling
- Simplifying and Isolating Failure-inducing Input
- Dynamically Discovering Likely Program Invariants to Support Program Evolution
- Principal Type-schemes for Functional Programs
- Introduction to Part II, Polymorphic Lambda Calculus
- Lackwit: A Program Understanding Tool based on Type Inference
- Points-to Analysis
- The Spin Model Checker
- Optimizing Symbolic Model Checking for Statecharts
- Constructing Compact Models of Concurrent Java® Programs
- Student Project Presentations
Readings
- Jones, Neil D., and Flemming Nielson. “Abstract Interpretation: A Semantics-based Tool for Program Analysis.” In Handbook of Logic in Computer Science . New York, NY: Oxford University Press, 1995, pp. 527-629. ISBN: 019853762X. Read first two sections only.
- Cousot, Patrick, and Radhia Cousot. “Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints.” POPL (1977): 238-252.
- Ferguson, Roger, and Bogdan Korel. “The Chaining Approach for Software Test Data Generation.” ACM TOSEM 5, no. 1 (1996): 63-86.
- Ball, Thomas, and James R. Larus. “Efficient Path Profiling.” MICRO 29 (1996): 46-57.
- Zeller, Andreas, and Ralf Hildebrandt. “Simplifying and Isolating Failure-inducing Input.” IEEE TSE 28, no. 2 (2002): 183-200.
- Ernst, Michael D., Jake Cockrell, William G. Griswold, and David Notkin. “Dynamically Discovering Likely Program Invariants to Support Program Evolution.” IEEE TSE 27, no. 2 (2001): 1-25. Skim sections 5-8; read the rest more carefully.
- Damas, Luis, and Robin Milner. “Principal Type-schemes for Functional Programs.” In Proc. of the 9th ACM Symp. on POPL. Albuquerque, Mexico, 1982, pp. 207-212. ISBN: 0897910656.
- Lee, Oukseh, and Kwangkeun Yi. “Proofs about a Folklore Let-polymorphic Type Inference Algorithm.” ACM TOPLAS 20, no. 4 (1998): 707-723.
- Reynolds, John C. “Introduction to Part II, Polymorphic Lambda Calculus.” In Logical Foundations of Functional Programming . Edited by Gérard Huet. Reading, MA: Addison-Wesley, 1990, pp. 77-86. ISBN: 0201172348.
- O’Callahan, Robert, and Daniel Jackson. “Lackwit: A Program Understanding Tool based on Type Inference.” ICSE. Boston, MA: 1997, pp. 338-348. ISBN: 0897919149.
- Johnson, Robert T., and David Wagner. “Finding User/Kernel Pointer Bugs with Type Inference.” In Proc. of USENIX Security Symp. 2004, pp. 119-134.
- Steensgaard, Bjarne. “Points-to Analysis in Almost Linear Time.” In Proc. of the 23rd ACM Symp. on POPL . St. Petersburg Beach, Florida, 1995, pp. 32-41. ISBN: 0897917693.
- ———. “Points-to Analysis by Type Inference of Programs with Structures and Unions.” In Proc. of 6th Int. Conf. on Compiler Construction. 1996, pp. 136-150. ISBN: 3540610537. Skim for differing material.
- Rayside, Derek. “Points-to Analysis.” (notes, Massachusetts Institute of Technology, 2005)
- Holzmann, Gerard J. “The Spin Model Checker.” IEEE TSE 23, no. 5 (1997): 279-295.
- Chan, William, Richard J. Anderson, Paul Beame, David H. Jones, David Notkin, and William E. Warner. “Optimizing Symbolic Model Checking for Statecharts.” IEEE TSE 27, no. 2 (2001): 170-190.
- Corbett, James C. “Constructing Compact Models of Concurrent Java Programs.” ISSTA 23, no. 2 (1998): 1-10.
- Visser, William, SeungJoon Park, and John Penix. “Using Predicate Abstraction to Reduce Object-oriented Programs for Model Checking.” In Proc. of the Third Workshop on Formal Methods in Software Practice. Portland, Oregon, 2000, pp. 3-182. ISBN: 158113262X.
Sources
- Course catalogue ↗Historical OpenCourseWare
- MIT OCW readings ↗
- MIT OCW syllabus ↗
- MIT OCW calendar ↗
- MIT OpenCourseWare ↗Fall 2005
- MIT OCW calendar ↗
- MIT OCW readings ↗
- MIT OCW syllabus ↗
- Historical MIT OpenCourseWare offering. Named reading entries and schedule topics are automatically extracted from the linked source pages.
- Historical MIT OpenCourseWare offering. Named reading entries and schedule topics are automatically extracted from the linked source pages.