The use of distributed wireless sensor networks has surged in popularity in recent years with applications ranging from environmental monitoring, to people- and object-tracking in both cooperative and hostile environments. This course is targeted at understanding and obtaining hands-on experience with the state of the art in such wireless sensor networks which are often composed using relatively inexpensive sensor nodes that have low power consumption, low processing power and bandwidth. The course will span a variety of topics ranging from radio communications, network stack, systems infrastructure including QoS support and energy management, programming paradigms, distributed algorithms and example applications. Lectures will be discussion-oriented and may require the reading of book chapters or papers. Hands-on exercises will be used to teach the programming of FireFly sensor nodes by using the 'nano-RK' power-aware sensor real-time operating system (RTOS) and using 802.15.4 radio communications. Then, project groups of no more than 3 students each will define, design, implement and test a sensor network project. Some projects may target a campus-wide sensing infrastructure for planned deployment across CMU. In-class project presentations will be supplemented by a written report. A final exam will evaluate the students' understanding of the materials covered. Grading criteria will include classroom participation, course project content and report, quizzes and a final exam. Class size will be limited to 30 students. Prior hands-on experience with network programming, operating systems and assembly language are essential. Exceptions can be made only with the explicit permission of the instructors.