CS 653 Mobile Computing

Spring 2014

Lectures: Mondays and Thursdays, 3:30pm - 5pm, SIC 301

Instructor: Mythili Vutukuru (mythili @ cse.iitb.ac.in)

Instructor Office Hours: By appointment (please send email to fix up a time).

TAs: Amita Sharma (amita @ cse), Anshu Yadav (anshuyadav @ cse).

Link to course project page.
Important Dates
  • Project team formation by Jan 17th, Friday.
  • First project review: Jan 31 (Fri), Feb 1 (Sat).
  • Problem set 1: Due Jan 30 (Thu) in class.
  • Problem set 2: Due Feb 14 (Fri).
  • Midsem: Feb 21 (Fri), 3-5 pm, Hall 2 and 3.
  • Second project review: Mar 7 (Fri), Mar 8 (Sat).
  • Problem set 3: Due Mar 20 (Thu) in class.
  • Third project review: Apr 4 (Fri), Apr 5 (Sat).
  • Problem set 4: Due Apr 10 (Thu) in class.
  • Final project reports due: Apr 14 (Mon). Drop it in my office (or slip it under the door).
  • Final project viva: Apr 16 (Wed).
  • Endsem: April 25th (Fri), 2-5 pm, Hall 2,3.

Course Overview

This is a PG elective course open to PG and UG students who have taken a previous introductory networking course. We will cover interesting topics across a variety of mobile systems (wireless LANs, cellular systems, and sensor networks), and revisit the design of the various layers of the networking stack in the context of wireless communication. The course will comprise of lectures, four problem sets, exams (midsem and endsem), and a course project.


Auditing: I expect some effort and commitment from students auditing the course. Therefore I require that you attempt and submit at least 2 out of the 4 problem sets, and attend at least one of the two exams (midsem or endsem). Of course, you are welcome to do more, but you must meet this minimum requirement.

Course Content


(Note: I use the whiteboard during lecture, and the slides below summarize the content covered in class. Please do not depend solely on the slides to understand the material in the lecture. The slides are only meant to supplement your class notes.)

  1. Jan 6 (Mon): Course overview [slides]. Introduction [slides].
  2. Jan 9 (Thu): Wireless physical layer, wireless channel capacity. [slides].
  3. Jan 13 (Mon): Wireless physical layer: modulation techniques, OFDM. [slides].
  4. Jan 16 (Thu): Wireless physical layer: channel coding. [slides].
  5. Jan 20 (Mon): Wireless physical layer: recap, common PHY designs, PHY bit rates, introduction to MIMO. [slides].
  6. Jan 23 (Thu): Wireless link layer, MAC protocols, CSMA. [slides].
  7. Jan 27 (Mon): Wireless link layer: centralized MAC protocols, TDMA, CDMA etc. [slides].
  8. Jan 30 (Thu): Wireless link layer: link adaptation, bit rate adaptation protocols. [slides].
  9. Feb 3 (Mon): Wireless link layer: error control, wrap up. [slides].
  10. Feb 6 (Thu): Link layer multicast. [slides].
  11. Feb 10 (Mon): Energy and security considerations in the wireless PHY and link layers. [slides].
  12. Feb 13 (Thu): Midsem review.
    Feb 17-21: Midsem week. NO CLASSES.

  13. Feb 24 (Mon): Network layer: mobility management, Mobile IP, cellular hand offs. [slides].
  14. Feb 27 (Thu): Midsem paper discussion.

  15. Mar 3 (Mon): Multihop networks: routing protocols, routing security. [slides].
  16. Mar 6 (Thu): Data transfer over multihop networks, opportunistic routing. [slides].
  17. Mar 13 (Thu): Transport layer: TCP over wireless, performance issues. [slides].
  18. Mar 20 (Thu): Transport layer mobility, application layer design for mobility and disconnected operations. [slides].
  19. Mar 24 (Mon): Mobile computing platforms, Android architecture and security principles. [slides].
  20. Mar 27 (Thu): Localization algorithms. [slides].
  21. Apr 3 (Thu): Energy efficiency, energy usage in apps, code offload. [slides].
  22. Apr 7 (Mon): Future of mobile systems: some upcoming hot topics. [slides].
  23. Apr 10 (Thu): Endsem review and course wrapup.

Problem Sets

  1. Problem set 1, solutions.
  2. Problem set 2, solutions.
  3. Problem set 3, solutions.
  4. Problem set 4, solutions.


The course material is not taken from one single book or resource. I will put up slides after each lecture (as far as possible), which should give you a rough idea of what was covered in class. The textbook and research papers below will also form a very good reference material if you want to clarify some of the concepts taught in class, or learn more about them.

Textbook Papers and articles
  1. Physical layer design and MIMO: 802.11 with Multiple Antennas for Dummies
  2. Wireless link characteristics: Link-level Measurements from an 802.11b Mesh Network
  3. Bit rate adaptation (SampleRate algorithm): Bit-rate Selection in Wireless Networks
  4. 802.11 link-layer throughput calculations: When Is 54 Not Equal to 54? A Look at 802.11a, b, and g Throughput
  5. A WiFi multicast proposal: DirCast: A Practical and Efficient Wi-Fi Multicast System
  6. Proposals to minimize energy spent in idle state in wireless networks. One deals with WiFi-like networks, and the other with cellular networks. Both papers have some interesting insights into energy consumption in practice. E-MiLi: Energy-Minimizing Idle Listening in Wireless Networks, RadioJockey: Mining Program Execution to Optimize Cellular Radio Usage.
  7. Mobile IP: Mobile Networking through Mobile IP.
  8. Multihop routing protocols: DSDV, DSR, AODV.
  9. Data transfer over multihop networks: Flush: A Reliable Bulk Transport Protocol for Multihop Wireless Networks, PIP: A Connection-Oriented, Multi-Hop, Multi-Channel TDMA-based MAC for High Throughput Bulk Transfer.
  10. Opportunistic routing: ExOR: Opportunistic MultiHop Routing for Wireless Networks, Trading Structure for Randomness in Wireless Opportunistic Routing.
  11. TCP performance over wireless links: A Comparison of Mechanisms for Improving TCP Performance over Wireless Links.
  12. Buffer bloat problem: Bufferbloat: Dark Buffers in the Internet.
  13. TCP buffer sizing: see section 2 of Sizing Router Buffers.
  14. Transport layer mobility schemes. MSOCKS: An Architecture for Transport Layer Mobility, Migrate: An End-to-End Approach to Host Mobility.
  15. Android architecture. Understanding Android Security and slides based on this tutorial.
  16. Energy saving techniques at the application layer. Energy profiling tool and case studies of popular apps: Fine Grained Energy Accounting on Smartphones with Eprof. Power consumption in browsers: Who Killed My Battery: Analyzing Mobile Browser Energy Consumption. Code offloading and remote execution: MAUI: Making Smartphones Last Longer with Code Offload.