CS213/EE202AB ³Distributed Embedded Systems,² a three-quarter graduate course series, was developed by CENS faculty and is taught jointly by both departments. The series utilizes a project-oriented approach to introduce graduate students to the building blocks of distributed networks (e.g., energy, self-configuration, actuation, collaborative processes, and programming). In the CS213/EE209 series, the courses are cross listed and coordinated so CS and EE students are able to take them without using up precious out of department units needed for other courses such as statistics, etc. This course concentrates on methodologies and technologies for design of embedded systems. Topics include hardware and software platforms for embedded systems, techniques for modeling and specification of system behavior, software organization, real-time operating system scheduling, real-time communication and packet scheduling, low-power battery and energy-aware system design, timing synchronization, fault tolerance and debugging, and techniques for hardware and software architecture optimization. The course will cover theoretical foundations as well as practical design methods. Embedded real-time computing systems are used in electrical engineering and computer science applications such as control, signal processing, and communications. Unlike general purpose computers, embedded systems interact with the physical world through sensors and actuators, and the computing functions have timing constraints defined by the environment. The hardware and software aspects of these systems are intertwined, and require a hardware-software co-design perspective. The objective of this course is to introduce fundamental problems and design techniques, and to also examine current trends.
CS546 ³Intelligent Embedded Systems² focuses on helping graduate students learn how to design and build sensor-enabled embedded systems which interface to the physical world around us. Unlike traditional computer systems which often work with data abstractions convenient for query processing, search, file organization, transactions etc., this course focuses on computation which is tightly coupled to the physical world, where physics (in particular constraints on energy, time and noise) cannot be ignored. Since the best way to learn how to deal with such systems is to try to program them, the class will focus primarily on learning to build applications for a new class of power-aware embedded systems which have been custom built for this course by a local startup. In addition you will be exposed to a variety of smaller devices (e.g. motes, iPAQs) and a plethora of sensor (accelerometers, GPS, cameras) in this class. A substantial class project is required. Students use a lab designated specifically for this class, thanks a generous grant from Intel Corporation. Students are required to be proficient programmers and are expected to run into a few thousand lines of code.
CS694a ³Advanced Topics in Networking and Distributed Systems² examines current research topics in computer networking. It broadly covers a variety of hot topics in Internet research, and also delves deeply into wireless sensor networks. In addition, the class exposes students to various aspects of research methodology. As part of the class assignments, each student will, individually or in a group of at most two, execute a research project . Each research project will either build a research prototype and demonstrate its working, design and implement a networking application, or reproduce the results obtained by other researchers in the field. At the end of the term, each student must submit a research report and will also briefly present their research results in class.
CS/EE547 ³Sensing and Planning in Robotics² focuses on modern techniques, based largely on probability theory, to solve problems in mobile robotics. A running theme throughout the class is that robotics involves uncertainty at several different levels. The machinery of estimation theory and probability theory (Bayes filters), has been applied with great success to cope with uncertainty in sensing and actuation. The class covers the relevant theory and applications to problems in robot localization, mapping, exploration, tracking etc. When time permits, we also cover some advanced topics such as extensions to multi-robot systems. The treatment in class is mathematical. Students are expected to know elementary probability theory, calculus, and linear algebra at the undergraduate level. Based on the mathematical treatment presented in class, students are expected to complete a fairly sizeable class project. Most students are expected to use a standard robot simulator for the project.
The CENS Technical Seminars are held every Friday for one hour. The goal of this technical seminar series is to expose CENS students and faculty to various CENS-related topics, evoke cross-disciplinary discussions, and stimulate new ideas. The CENS Technical Seminar Series also represents a key focus of our efforts in integrating research and education. The seminars incorporate a variety of presenters; including CENS graduate students, CENS faculty, and external faculty. During the summer, the undergraduate students participating in our summer research internship program also attend the technical seminars.