Your participation in the course will involve five forms of activity:
Attendance will not be taken at the lectures or recitation sections. You will be considered responsible for all material presented at the lectures and recitations. Lectures will cover higher-level concepts. Recitations will be more applied, covering important ``how-to's'', especially in using tools that will help you do the labs. In addition, the recitations will help clarify lecture topics and describe exam coverage.
There will be two types of assignments in this class. Lab assignments will be multi-week efforts (in groups of up to 2) providing in-depth understanding of some aspect of computer systems. Labs will involve some combination of C and assembly programming, and some will involve performance measurements. Labs will be handed out in class on Thursday and due a couple of weeks later on a Wednesday.
Homework assignments will be 1-week efforts (that you work on individually) that involve solving a series of smaller problems. The solution to many of these will involve writing small C programs. Homeworks are designed to be drills to help you get practice for exam problems. Homeworks will be handed out at class on Tuesday and due the following Monday.