CSCE 5013: Hot Topics in Mobile and Pervasive Computing (Spring 2011)

Supported by Microsoft Research (Hawaii Cloud Computing Project)

Last Semester's Hawaii Projects

Course Description
Course Evaluation
    The grade distribution of the course would be as follows. (1) research paper reviews and discussion related to research topics (20%), (2) In class problem solving (10%), (3) take home midterm (30%), and (4) Mobile phone development project (40%).
Requirements

    Knowledge of Operating systems and Computer Networking concepts would be required to understand the topics covered in the course.

Research Project
    The major component of the course is a research project, that has to be Mobile phone application. Though, I can allow Android applications (we have Android phones), you are strongly recommended to develop for the Windows Mobile 7 platform. The reason for the above is simple. I would be covering a lot of Windows Mobile 7 development and C# in the class and we have great support from Microsoft Research in the form of the Hawaii toolkit for developing cloud enabled applications. The project could be any application (cloud enabled is encouraged) that you can demo. However, all projects should have the following two mandatory components (1) It should involve some computer science or computer engineering research problem (2) It should involve a mobile phone implementation. I will float a number of research projects that I think are interesting and related. However, every group is free to design their own project of interest. You are allowed to form groups of at most 2. Projects developed using the Hawaii toolkit last semster can be found here
Paper Reviews

    Writing critical reviews for research papers is an extremely important and rewarding exercise. Just because a paper is published in a renowned conference/journal does not necessarily imply that it is flawless. Analyzing loop holes and potential areas of improvement in research papers can help you understand what the authors have really done and how you could use it for your own research. Therefore, for a seminar course like this one your analysis of the papers is crucial to your understanding of the topics discussed.

    I would want you to write a short review (less than 250 words) of the papers assigned. It should *not* be a summary of the paper and it should not be copied from the abstract of the paper. Here is my take on writing a good review. (1) Summarize what the authors have done or proposed in a couple of sentences (2) Bring out the potential loopholes and areas of improvement (remember: there is nothing like a perfect research!) (3) how you could use the ideas and/or techniques in your project/research (note that you might not be able to directly use the ideas in all the papers but you can use the methodologies and techniques used in the paper (such as the evaluation techniques)).

    Reading a research paper is an art---something everyone can not master easily. Moreover, there is no single magical potion that you can drink and be able to read and understand research papers. It is mostly practice and following the correct techniques. Take a look at GA-6 for advice on reading papers and GA-7 on writing reviews for systems research papers.

    All reviews are due at/before midnight before the class. This will give me time to go through your reviews and discuss them in class.

Class Demo
    There would an in-class demo of the project for your group.
Course Information

    Instructor: Nilanjan Banerjee

    Class lectures: M, W, Fr 11:30-12:20
    Office Hours: Mon 3 - 5 pm, or by appointment, Room 522, JBHT
    Credits: 3
    Mailing List: TBA

Course Schedule
    Topic Papers Discussed
    Introduction slides
    Introduction to C-Sharp slides
    Introduction to Localization slides
    Using the GPS unit and Bing Maps slides
    Discuss LOC-1, LOC2 slides
    Supervised learning (taken from UIUC lecture) slides
    Unsupervised learning (taken from UIUC lecture) slides
    Networking lecture slides
    WN-2 slides
    IPTable lecture slides
    Intro to Hawaii Speech-to-text, Relay, and Rendezvous service slides
    Using Windows Azure slides
    Cloud Computing 1 slides
    Cloud Computing 2 slides
    Cloud Computing 3 slides
Source Code
    Topic Source
    HelloWorld source
    Accelerometer source
    GPS(+BingMap)+Microphone+WebService source
    Accessing packets from the Linux kernel source
    Sockets in Windows Phone 7 source
    Thumbnail for Windows Azure source
Midterm
    The midterm question can be found here . The midterm is due by 12:30 PM on Friday which is a little more than 24 hours. Email your mideterm with the appropriate title as described in the instructions.
External Resources
Comments
    Please fill in your comments on things you want changed/added in the course.

Windows Mobile 7 Resources
Development Resources for Windows Mobile 7
Papers
Why and What of Mobile and Pervasive Computing?
    Papers discussed in class
    BA-1 Weiser: Some Computer Science Issues in Ubiquitous Computing
    BA-2 Satyanarayanan: Pervasive Computing: Vision and Challenges

    Additional Readings
    BA-3 Kindberg: Systems Software for Ubiquitous Computing
    BA-4 Forman: The Challenges of Mobile Computing
    BA-6 Bagrodia: Vision, Issues, and Architecture for Nomadic Computing



Where am I: Localization?
    Papers discussed in class
    LOC1: Energy-Accuracy Trade-Off for Continuous Mobile Device Location
    LOC2: SurroundSense: Mobile Phone Localization via Ambience Fingerprinting
    LOC3: BeepBeep: A High Accuracy Acoustic Ranging System using COTS Mobile Devices

    Additional Readings
    LOC4: Location Systems: An Introduction to the Technology Behind Location Awareness (Only accessible from the University)


How do I get data over the air: Mobile and Wireless Networking
    Papers discussed in class

    WN1: Cabernet: Vehicular Content Delivery Using WiFi
    WN2: FatVAP: Aggregating AP Backhaul Capacity to Maximize Throughput
    WN3: Augmenting Mobile 3G Using WiFi: Measurement, System Design, and Implementation

    Additional Readings
    WN4: Diversity in Smartphone Usage

Using Resources in the cloud: Cloud Computing in Mobile Systems and applications
    Papers discussed in class
    CC-1 Sensing Meets Mobile Social Networks: The Design, Implementation and Evaluation of the CenceMe Application
    CC-2 MAUI: Making Smartphones Last Longer with Code Offload



Damn! why does my phone die when I need it most: Energy Management
    Papers discussed in class

    EM-1 Turducken: Hierarchical Power Management for Mobile Devices
    EM-2 Wireless Wakeups Revisited: Energy Management for VoIP over Wi-Fi Smartphones
    EM-3 Eon: A Language and Runtime for Perpetual Systems
    EM-4 Memontos: System Support for Long-running Computation on RFID-Scale Devices


General Advice
    GA-1 Oakley: Dealing with bad group members
    GA-2 Patterson: How to Give a Bad Talk
    GA-3 Levin: An Evaluation of the Ninth SOSP Submissions
    GA-4 Gabriel: "Worse is better" paper. (more)
    GA-5 Davidson: Why you must participate in class, or why you should take more seminars.
    GA-6 Keshav: How to Read a Paper
    GA-7 Roscoe: Writing reviews for Systems Conferences.


Some material for this course is borrowed from the Mobile and Pervasive Computing Course taught at UMass Amherst by Prof. Mark D. Corner.