CS199-9: Sensor Network Systems
When/Where: Fall 2004, TuTh 1-2PM, 405 Soda Hall
Instructor: Philip Levis (pal@cs.berkeley.edu), OH (410 Soda Hall): Tue 2-3 or by appt.
Advisor: Professor David Culler (culler@cs.berkeley.edu), OH: M 9-10, Th 1-2, or by appt.
Details: CS199-9, 2-credit P/NP, CCN 26692
[Overview] [Calendar] [Reading] [Projects] [Policies]

Initial Implementation Due 11/7

TinyOS mailing lists

This is an undergraduate project course aimed at designing and building sensor network systems and protocols on TinyOS. TinyOS is a component-based operating system for sensor networks, developed here at Berkeley. It runs on a variety of hardware platforms and approximately a thousand research groups worldwide use it.

Sensor networks are large numbers of tiny, resource constrained devices that have sensors and can communicate over a wireless channel. Uses for sensor networks include instrumenting the Golden Gate bridge to measure earthquake stresses and wind effects, monitoring zebra migration patterns in Kenya, and measuring the microclimate of redwood trees. Sensor networks have challenges distinct from more traditional domains such as workstations or the Internet: they have very limited resources whose tradeoffs are different, they generally operate in a collaborative fashion, and must operate unattended for long periods of time with limited energy.

The first few weeks of the course will cover the basics of event-driven programming in the TinyOS model. The rest of the course will be dedicated to students working in small groups on a project. The exact projects will be determined by the instructor, based on input from the students in the first part of the course. The goal of the project is to build an application, protocol, or tool that could become something incorporated into TinyOS. Examples include, but are not limited to:

  • In-network storage
  • High-level scripting languages
  • Cryptographic key distribution
  • Resource discovery
  • Network behavior studies
  • Hybrid simulation: bridging simulations to real networks
  • Reliability/Delay tolerant network approaches
  • Active networks

Students will be able to receive 2 units of 199 credit with Professor David E. Culler. The course will meet 2 times a week for the first 4 weeks, and once a week afterwards. Each team will be expected to give an in-class presentation on the design and evaluation of their system. Each student will also be responsible for completing some programming assignments at the beginning of the term, to grow familiar with TinyOS.

The course is limited to 15 students and is open to undergraduates only. CS 162 is a prerequisite.


Last modified: Thu Sep 2 17:17:13 PDT 2004