Course Objectives

Computers appear as components in many diffferent kinds of systems, such as watches, digital timers, anti-lock braking systems, and traffic light controllers. The reasons are economic: processors are cheap to manufacture, and much of the complexity of the system can be buried in software. This strategy enhances long-term reliability by reducing the number of individual components and the complexity of their interconnection, and provides flexibility by replacing hard-to-change hardware with easy-to-change software.

From this course, a student should gain:

Approach

This course is built around a laboratory in which students use computers to sense and control aspects of their surroundings. Lectures present basic information about the computer's architecture and the available pathways for interaction between the computer and its environment. Homework problems focus attention on parts of the designs that may prove tricky in practice, and recitations provide the opportunity for discussion of these points before they are encountered in the laboratory.

Students are required to work in groups of 2-4 on all aspects of the course except examinations. Groups are self-selected, and need not remain stable throughout the semester. You are strongly encouraged to seek a group whose members fill gaps in your background, rather one whose members are clones of yourself.

Background Required

An elementary programming course, or equivalent programming experience, is required before attempting ECEN 2220. Experience with either the C or C++ programming language is useful, but Pascal or FORTRAN is also acceptable. The criteria are that you understand the concepts of programming, are familiar with one imperative programming language, and are able to cast solutions to problems in terms of algorithms.


ecen2220@schof.colorado.edu
Revision 1.3