COS 111 - COMPUTERS AND COMPUTING

Instructor: Ken Steiglitz, Room 421 CS Building, email ken@cs.princeton.edu, phone 258-4629, office hours Monday, 3-4; 5-6.

Graduate Teaching Assistants:

Xiaodong Wen (wxd@cs), Regis Colwell (rege@cs)

Undergraduate Assistants:

Daniel Peltier (dpeltier@phoenix) (Head); Robert Woollen (rwoollen@phoenix), Susan Liao (sueliao@phoenix), Benjamin Jasik (benjasik@phoenix), Erin Kawas (emkawas@phoenix), Shail Chotai (smchotai@phoenix), Elliot Berk (ejberk@phoenix), Daniel Vitale (djvitale@phoenix), Maura Dougherty (maurad@phoenix), Swati Dutta Roy (duttaroy@phoenix), Ian Sachs (iansachs@phoenix), Aaron Mulder (ammulder@phoenix),

Course Home page: http://www.CS.Princeton.EDU/courses/cs111/index.html


General Description: This course is intended for students from the humanities and social sciences who want a one-course introduction to computers, and have little or no computer experience. No mathematics or science background is assumed. Emphasis in the classroom is on understanding how computers really work, starting with a single switch, and showing step by step how to use just that one kind of part to build the most interesting man-made machine. Also addressed are essential limitations of the computer, such as undecidability, as well as future prospects for artificial intelligence and online access to the world's knowledge.

The laboratory is complementary to the classroom work, uses PCS and MACs (pick one), and is based on the internet and the World Wide Web. Students will construct their own home pages the first couple of weeks. They will then add to it throughout the semester, while exploring a broad spectrum of practical applications, including graphics and digital sound. The final three labs are a gentle introduction to programming in Java.


Grading: The grade will be based on the midterm exam (1/6), the final (2/6), and the labs (3/6). Both midterm and final will be based primarily on the text material. Also, you must hand in, on time, all but 3 of the 10 homework assignments to receive a passing grade.


Text: Principles of Computer Science, Cullen Schaffer, Prentice-Hall, 1988.

Lab: COS 111 Lab Manual, Steiglitz, Blum, Feit, Thompson, Dobson, Goldstein, Sable, Burchard, Roberts, Hadfield, and Peltier, evolving since 1991.

The text is for sale at Pequod Copy, 6 Nassau St.; The lab manual is on-line on the course's Web home page.


Time Commitment: The lectures will cover the first ten chapters of Schaffer, a total of about 300 pages of careful reading. There will be one homework assignment based on each chapter in Schaffer, designed to test your understanding and not your patience. Each will take an hour or two. Feel free to work in groups on the homework, but hand in separate solutions.

There are a total of 10 labs. These labs are not all-nighters! They are designed to be completed easily in two-and-a-half hours or less, during the scheduled lab sections. Assistants will be in the labs to help you out. Each lab requires about one-hour preparatory reading in the manual.


Guest Speakers: About every other Friday we will have guest speakers, discussing topics like computer graphics, the socio-political implications of the internet, cryptography and security, and computer music.


General Comment: There are two main threads to this course. The labs will teach you the practical side of computers: how to build a home page, search the internet, edit photos and sound, and write simple programs. But the classes cover a tremendous amount of intellectual territory - including such influential ideas as the digitization of audio and video, the stored-program machine, hierarchical structure, self-reference, algorithm complexity, and undecidability.