There will be four written assignments announced here.

  • [Assignment #1] Introduction on Mobile Social Networks pdf
  • [Assignment #2] Mobile Social Network Services
  • [Assignment #3] Context-Aware Mobile Computing in Mobile Social Networks
  • [Assignment #4] Data Analysis and Privacy in Mobile Social Networks

Android Tutorials and Programming Projects

The following eight tutorials will be given:

  • [Tutorial #1] Environment setup: My First Android Project
  • [Tutorial #2] Basic User Interface: Activity and Action Bar
  • [Tutorial #3] Advanced User Interface: Fragment and Layout
  • [Tutorial #4] Multithreading: Handler and Asynctask
  • [Tutorial #5] Data Management: Content Provider and Database
  • [Tutorial #6] Networking: WiFi and Bluetooth
  • [Tutorial #7] Multimedia: Exo Player and Camera
  • [Tutorial #8] Integration: Facebook API

The following three Android programming projects will be announced here.

  • [Programming #1] Split display using Fragments pdf
  • [Programming #2] A Bluetooth chat app with a Bluetooth devices discovery logger
  • [Programming #3] An Image gallery that fetches images from the web and maintains a small local database
  • [Programming #4] A Facebook online viewer or a customized Gmail client



Term Project

Each student is responsible to propose and execute a term project. Students are encouraged to construct real testbeds using Android phones. The main objective of the term project is to show the students how to conduct systems research in mobile social networks. The instructors will walk you through the well-defined steps to complete the project. These steps are explained below.

  1. Literature survey: We first need to know what have been done before, more importantly, what haven’t been done in the literature. In this phase, a student searches and reads papers published in reputable journals and conferences. You are excepted to classify all existing solutions into meaningful groups, and give high-level description on representative solutions.
  2. Problem statement: After knowing what hasn’t been done, the student should formally define the research problem he/she plans to address in the term project. The student should clearly define the system models and mathematical notations.
  3. Problem solution: Each student proposes a new, better solution to address the research problem. Often, your solution is inspired by existing one studied in the literature survey; you may also borrow (algorithmic) ideas from other areas. The student should analyze the solution from the aspects of time and space complexities, and argue that the solution is (reasonably) scalable.
  4. Simulations/Experiments:A student must evaluate the proposed solution using simulations and/or experiments. Real experiments are much more convincing than simulations, because simulator often make assumptions to speed up implementation. While real experiments are highly encouraged, simulations are also useful when the test scenarios are too complex to be set up in a real testbed.

The following delierables are required:

  • Presentation every other week on project progress. The instructors will provide online suggestions.
  • Project proposal is due at the end of March. Students turn in a written technical report.
  • Midterm report is due at the end of April. Students turn in a written technical report.
  • Final report is due at the end of the semester. Presentations, demos, and complete technical reports are required.