The Design and Programming of Embedded Systems
G22.3033.005 Spring 2002
- Instructor: Benjamin Goldberg
- Phone: (212) 998-3495
- Email: firstname.lastname@example.org
- web: http://cs.nyu.edu/goldberg
- Office: 715 Broadway, Room 705.
- Office Hours: By appointment - feel free to call or send email.
- Lectures: Wednesdays 5pm - 7pm, 102 Warren Weaver Hall
- Grader: Peng Yang, email@example.com
Computers as Components by Wayne Wolf
Morgan Kaufmann Publishers, 2001
- Prerequisites: A course in
programming languages (such as G22.2110) and a course in compilers
(such as G22.2130).
- Class Mailing List
- Course Syllabus
- Final Project
- Homework Assignments
- Course Materials
- What this course is about
The course is an overview of the design and programming
of embedded computing systems. These are systems that contain
a programmable microprocessor, but are not themselves computers.
Examples include anti-lock braking systems in cars, flight
control systems on airplanes, cell phones, PDA's, microwave
ovens, etc. Unlike general purpose computing systems, where the
primary goal is speed, embedded system design is often driven
Unlike building systems for general purpose computers, embedded system
design includes the simultaneous choice of hardware and software
components (so called "hardware/software co-design").
- power consumption and heat dissipation
- physical size
- cost to the consumer
- time to market
- real-time constraints (both hard and soft deadlines)
- reliability requirements
- extensibility (i.e. retaining core design in subsequent product
In this course, we'll study:
There will be paper-and-pencil homework assignments as well as
programming assignments. We will be following closely the
textbook for the course.
- The phases of system design (requirements, specifiction,
architecture, components, and system integration). Where
appropriate, the specification language UML will be used.
- C and assembly programming for embedded processors
- Aspects of computer architecture, compilers, and operating
systems as they relate to embedded systems.