Azer Bestavros
Department of Computer Science
College of Arts & Sciences
Boston University

Office: 111 Cummington Street, MCS-276, Boston, MA 02215
Tel: 617.353.9726 / Fax: 617.353.6457 / Email: best


[CS109] [CS350] [CS697] [DWE]

[Papers] [Talks] [Projects] [Groups] [Students]


 [Coptic] [Egypt]

(c) Azer Bestavros


In 1943, Thomas J. Watson, Chairman of IBM declared: I think there is a world market for maybe five computers. A few billion computers later, it may be tempting to declare that "there is a world market for maybe five computers per capita per year." But this is not how computer science visionaries see the world in the twenty first century. Computer scientists envision a world in which computing is pervasive and seamless. Large-scale distributed, systems composed of countless sensors and actuators embedded in the physical world, will eventually infuse the entire world, but at a physical level instead of the virtual level to which we have been accustomed in our short experience with the Internet and the Web. These sensors and actuators may not do much individually. But, when networked, they have the potential of performing quite elaborate functions. Thus, what these embedded devices will be capable of doing (and consequently how they will transform the way we live) is limited only by our ability to harness their collective power through:

  • Protocols and services that recognize and tolerate the constraints under which these devices will be embedded in the physical world (including ad-hoc deployment, power constraints, transient failures and noisy readings, etc.)

  • Distributed algorithms for the in-network processing and management of the huge amounts of sensory data collected by these devices

This seminar aims to introduce its participants to the various "stakeholder areas" in sensor networks. As such, this seminar will be team-taught by a group of faculty members (Bestavros, Byers, Kollios, Matta, and Teng) in the sense that each faculty member will oversee a particular dimension of sensor networks.

This seminar will run throughout the 2003/04 academic year. It will be offered as a 2-credit course in each of the Fall and Spring semesters. For the Fall semester, the class will meet once weekly on Tuesdays 2:00pm-3:30pm in SAR 218.

Goals and Topics

The following is a preliminary list of "dimensions" or focus areas (many of which are intertwined) that this seminar may examine--dependent on interest from its participants. The reading list (organized under the dimensions below) is available on a separate page.

  • Introduction

    • Visions and dreams!

    • Applications

    • Taxonomies

  • Design and Implementation Issues

    • TinyOS and Motes

    • Network Architecture and Services

    • Programming Languages and Abstractions

    • Programming Tools and System Development Resources

  • Evaluation Issues

    • Modeling and Simulation

    • Control and Analysis of Hybrid Systems

  • Topological Issues

    • Topology Control and Maintenance

    • Routing

    • Location Services and Techniques

  • Data Manipulation Issues

    • Storage, Indexing and Querying

    • Abstract Data Structures

    • Dissemination and Diffusion

    • In-Network Stream Manipulation

  • Coordination Issues

    • Synchronization and Calibration

    • Distributed Algorithms for Coordination and Self-organization

  • Cross-cutting Issues

    • Energy Awareness

    • Reliability and Fault Tolerance

    • Security

Eligibility and Prerequisites

This seminar will run throughout the 2003/04 academic year. It will be offered as a 2-credit course in each of the Fall and Spring semesters.

In the Fall semester, this course will be open to all graduate (PhD, MA, and BA/MA) students in the Computer Science Department. All other students must obtain the explicit approval of one of the faculty members co-teaching this seminar (Bestavros, Byers, Kollios, Matta, and Teng). This course is not available for auditing, except if approved by a faculty member co-teaching the class.

The following courses (or equivalents) are required

  • CS-350: A solid understanding of elementary aspects of computing systems
  • CS-455: A solid understanding of basic networking concepts and architectures

In addition to the above courses, the following courses are highly recommended in the sense that they will leverage a student's ability to pursue the required course work.

  • CS-410: Basic understanding of  system architecture and programming
  • CS-556: Familiarity with advanced networking tools and techniques
  • CS-562: Manipulation, indexing, clustering and summarization of large data sets

Note: In the Spring semester, this course will be open only to students who secured a A grade (A or A-) in the Fall offering of the course.