everything.study
6.883

Pervasive Human Centric Computing (SMA 5508)

Graduate · Historical course

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

  • Listed reading
  • Pilgrim, Mark. Dive Into Python® . Berkeley, CA: Apress, 2004. ISBN: 1590593561.
    Listed reading
  • Huang, Albert, and Larry Rudolph. “Bluetooth Programming.” Chapters 1, 2, 3, and 4. (Forthcoming book.)
    Listed reading
  • Location Aware Application
    Listed reading
  • Barkuss, Louise, and Anind Dey. “Location-Based Services for Mobile Telephony: a Study of Users’ Privacy Concerns.” Proceedings of INTERACT, July 2003.
    Listed reading
  • Ackerman, Mark, Trevor Darrell, and Daniel J. Weitzner. “Privacy Concerns.” Human-Computer Interaction 16, nos. 2-4 (2001). (Special Issue on Context-Aware Computing.)
    Listed reading
  • Barkuss-Dey. “Computing Taking Control away from the User?” UbiComp (2003): 149-156.
    Listed reading
  • Chen, Guanling, and David Kotz. “A Survey of Context-Aware Mobile Computing Research.” Dartmouth Computer Science Technical Report TR2000-381 (November 2000).
    Listed reading
  • “Cricket v2 User Manual.” Cricket Project, MIT Computer Science and Artificial Intelligence Lab, July 2004.
    Listed reading
  • Priyantha, Nissanka. “The Cricket Indoor Location System.” Ph.D. Thesis, Massachusetts Institute of Technology, 2005.
    Listed reading
  • SES #: L8 · TOPICS: Python® on Series 60 Phones · READINGS: Symbian Python® Reference Version 1.3
    Reading assignment
  • Reading assignment
  • SES #: L19 · TOPICS: Debugging · READINGS: Pervasive Debugging Overview Article
    Reading assignment
  • 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.
    Listed reading
  • 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.
    Listed reading
  • 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.
    Listed reading
  • Huang, Yongquian, and Hector Garcia-Molina. “Publish/Subscribe in a Mobile Environment.” Wireless Networks 10, no. 6 (2004): 643-652.
    Listed reading
  • There is no required textbook. However, readings will be assigned for every lecture, generally from research papers accessible on the Web.
    Listed reading
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.
    Listed reading
  • 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.
    Listed reading
  • Ferguson, Roger, and Bogdan Korel. “The Chaining Approach for Software Test Data Generation.” ACM TOSEM 5, no. 1 (1996): 63-86.
    Listed reading
  • Ball, Thomas, and James R. Larus. “Efficient Path Profiling.” MICRO 29 (1996): 46-57.
    Listed reading
  • Zeller, Andreas, and Ralf Hildebrandt. “Simplifying and Isolating Failure-inducing Input.” IEEE TSE 28, no. 2 (2002): 183-200.
    Listed reading
  • 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.
    Listed reading
  • 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.
    Listed reading
  • Lee, Oukseh, and Kwangkeun Yi. “Proofs about a Folklore Let-polymorphic Type Inference Algorithm.” ACM TOPLAS 20, no. 4 (1998): 707-723.
    Listed reading
  • 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.
    Listed reading
  • O’Callahan, Robert, and Daniel Jackson. “Lackwit: A Program Understanding Tool based on Type Inference.” ICSE. Boston, MA: 1997, pp. 338-348. ISBN: 0897919149.
    Listed reading
  • Johnson, Robert T., and David Wagner. “Finding User/Kernel Pointer Bugs with Type Inference.” In Proc. of USENIX Security Symp. 2004, pp. 119-134.
    Listed reading
  • 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.
    Listed reading
  • ———. “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.
    Listed reading
  • Rayside, Derek. “Points-to Analysis.” (notes, Massachusetts Institute of Technology, 2005)
    Listed reading
  • Holzmann, Gerard J. “The Spin Model Checker.” IEEE TSE 23, no. 5 (1997): 279-295.
    Listed reading
  • 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.
    Listed reading
  • Corbett, James C. “Constructing Compact Models of Concurrent Java Programs.” ISSTA 23, no. 2 (1998): 1-10.
    Listed reading
  • 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.
    Listed reading
Sources