CS 197-80, CS 339: Embedded Systems
- Instructor:
Dr. Yul Williams
- Office Hours: by appointment.
- Class Time/Place:
-
Thursdays, 6:10-8.40 pm, Tompkins 211
- Prerequisites:
Permission of instructor: Students interested in registering
must obtain permission from one of the following: Profs. Narahari or Simha.
- Course description:
The purpose of this course is to engage computer science
undergraduates with "hardware" and "systems". While CS students
get a strong conceptual overview of systems and hardware in various
organization and architecture courses, many students have never
experienced working with actual hardware (e.g., taking apart a
computer, installing a memory board etc). This course will focus
on hands-on projects involving both hardware and the software that's
"close" to the hardware. In addition, we will also cover a gamut of
systems-related topics.
- Textbook:
Computers as Components. W.Wolf. Morgan-Kaufman ISBN 1-55860-693-9.
- Coursework:
- There will be a lab for the course each Friday 12-3 in Tompkins
211. Lab attendance is mandatory for undergraduates, and recommended
for graduates.
- Undergraduates will demonstrate their project in the labs;
we prefer grads to demonstrate in the lab, but if that's not
possible, a demonstration can be arranged after class.
- Labs will consist of a help session and an informal lecture
on practical topics related to the course.
- Undergraduate requirements:
- PIC projects 1, 2 and 3.
See the PIC page for details.
- Palm project: write a Java program for the Palm (using
the KVM, Waba or SuperWaba environments) that features buttons
and text input.
- Final project. Choose between these two options: (1) Work in
a team of two or, (2) as an individual. Select from among the
projects below.
- Possible team final projects:
- Mindstorm Game. Propose a game involving a
competition between two robots. For example, each robot will
move as many ping-pong balls from the middle to its assigned
corner as possible.
- Beowulf cluster. Build a Beowulf cluster out of
3-4 PC boards.
- Possible individual projects:
- TiniBoard: Build a motor-control SmartHome application
(TBA) using the TiniBoard.
- Sensor patterns: Attach pressure sensors to
Handyboard and develop algorithm to detect patterns.
- Graduate requirements:
- PIC projects 1, 2, 3 and 4.
See the PIC page for details.
- Final project. Choose between these two options: (1) Work in
a team of two and develop a product prototype or, (2)
as an individual, write a research paper.
For each of these, propose three ideas to Dr. Williams by Feb 15.