Computer Science C335 , A593: Computer Structures, Spring, 2008


Contents

General Information

Professor
David S. Wise, Email
Office hours:
  • 2:30pm-4:00pm Monday,
  • 11:00am-12:00n Wednesday,
  • and by appointment.
Lindley Hall 330H; 855-4866.
Associate Instructor
Andrew Keep Email,
Office hours:
  • 9:00-11:00am Monday (LH330I),
  • 2:00-4:00pm Tuesday (LH330I),
  • 3:30-4:30pm Wednesday (LH330I),
  • 9:00-11:00am Thursday (LH330I),
  • and by appointment.
Lindley Hall 330I; 855-3804.
Undergraduate Instructor
Brad Snyder, Email,
Office hours:
  • 2:30-3:30pm Monday (LH330I),
  • 11:00am-1:00pm Tuesday (LH330I),
  • 9:00-10:00am Wednesday (LH330I),
  • and by appointment.
Lindley Hall 330I; 855-3804.


Prerequisite C212, and corequisite C241; or consent of instructor.
Computer Science C212: Introduction to Computer Science.
Computer Science C241: Discrete Structures for Computer Science.
Lecture:
Section 6403, 6362: MW, 1:00 - 2:15pm, LH 102, Wise.
Discussion sections
Section 6404, 6363, R, 2:30 - 3:20pm, LH 035,
Section 6406, 6365, F, 9:05 - 9:55am, LH 035,

Necessary access:

You will need an account on the computer science UNIX Burrow Cluster, which we create based on the registrar's class roster. So you must be enrolled.

C335 will use the laboratory space and equipment in Lindley Hall 035. Students may use the lab facilities whenever there is not a conflict with a scheduled laboratory session.

You need to see Lucy Battersby in LH215 to arrange ID card/key access to LH035.

Overview

[C|H]335 will explore how programs written in a high level language are evaluated by a processor to control the physical world. In particular, we will use C to write programs that control "Goofy Giggles" - a 3 wheeled robot with an embedded processor, an infrared (IR) remote control, an audio system, and various sensors. In the process we will touch topics covered in a number of subsequent CS classes including compilers, operating systems, computer architecture, and digital design. It's obvious that we will be skimming the surface of these topics; for example, we will examine what a compiler and its associated tools (assembler, linker) do in some detail, but not how they are implemented to perform their function.
My goal is that at the end of this course every student will be able to explain, in technically accurate manner, the path from program to I/0 and will be proficient in using one representative set of tools to write programs to control a defined physical world - Goofy Giggles. Goofy Giggles
The progression of experiments introduces embedded system programming, programmed I/O, IR communications, PWM motor control, A/D based sensors, interrupts, and DMA.
C|H335 will use the laboratory space and equipment in Lindley Hall 030. Students may use the lab facilities whenever there is not a conflict with a scheduled laboratory session.

Textbooks

Required Text