Princeton University
Computer Science Department

Computer Science 111
Computers and Computing

David Dobkin
Amit Sahai

What's New?

Spring 2001


General Information | Schedule and Assignments | What's New?

The final for the course is on Saturday May 19 at 830AM. There will be a review session at 4PM on Thursday May 17 is the small auditorium of the CS Building (where the class meets). Bring your questions
May 17: problem set 8 solution can be found here.

May 11: All lectures for the course are on line. See the links below.
There will be a review session for the course, Thursday afternoon May 17. Details to follow.

Final will be on the morning of Saturday May 19.

Apr 25: Assignment 9b is now available. This gives the readings for class on May 1 and asks that you provide input to the class discussion that day. Apr 24: Lectures 1-19 available below.
Apr 22: Lab8 submission list can be found here. Any question should be directed to xou@cs.princeton.edu
Apr 20: Problem Set 8 now available here. Remember you also have homework based on the readings for Tuesday's lecture.
Apr 19: solution to problem set 6 can be found here
Apr 19: Please note that Assignment 9 is broken into 2 parts. Part a is due on April 23 before midnight. The assignment can be reached from the web page giving the course schedule. There is also a link there to readings that must be completed in order to do the assignment. Link is at http://www.cs.princeton.edu/courses/archive/spring01/cs111/schedule.html under April 24.
Apr 17: Lecture 18 is below.
Apr 16: Lab7 submission list can be found here.
There are a few late submissions that were not on this list. Any question should be directed to bwaters@cs.princeton.edu

Apr 12: Lecture 17 is below. Problem Set 7 is also available.
Lab5 submission list can be found here.
Any question should be directed to xou@cs.princeton.edu

Apr 9: Lectures 14, 15 and 16 on Operating systems, Networking and Distributed computing are below.
Apr 6 For next week's lab 7 please notice the submission procedure page at address http://www.cs.princeton.edu/courses/archive/fall00/cs109/labs/sound/5.html There is not a descriptive link to there from the first lab web pag.
Apr. 5: Problem Set 6 is now available.

Apr. 3: On assignment 5, in the last part of the last assignment (Problem 4B)., please change the sentence

``How many doublings are necessary before the quadratic algorithm will be able to do the quadratic algorithm in 1 second?''

to

``How many doublings are necessary before the quadratic algorithm will be able to do in 1 second what the linear algorithm currently does in 1 second?''


Apr 2: Lab4 submission list can be found here.
Any question should be directed to bwaters@cs.princeton.edu

Mar 29: Lectures 12 and 13 on Algorithms are below.
Mar 28: Problem Set 5 has been posted to the web site. Please read the assignment before class on Tuesday (April 3) and bring any questions you have to class.
Mar 27: Note there is NO PROBLEM SET due this week. This was an error in the schedule.
Mar 26: Welcome back from Spring Break. Lectures 10, 11 are below. Midterms will be returned during class on Tuesday!
Mar 9:
Lab6 submission list can be found here.
Any question should be directed to bwaters@cs.princeton.edu

Mar 6: Lab 3 has been checked. A confirmation message was sent via your form. Please make sure you received the confirmation( one of the fields of your form should contain the words "lab3 checked"). Any question should be directed to xou@cs.princeton.edu
Mar 4: A general hint: When trying to understand a computer program, if you are having difficulty, it is almost always a good idea to try out a few simple examples. For instance, in Problem 2 of Problem Set 4, the program depends on what is in Memory location 20. What happens if Memory[20]=1? If Memory[20]=2? 3? 4? 5? By now, you should see a familiar pattern and be able to reason about what the program does.
Mar 4: We have reordered the lectures for the next 2 weeks. The lecture on graphics will happen on March 6. If you have not done lab 6 before that lecture, please read the lab assignment in advance of the lecture.
Mar 3: Some Lectures below have been modified slightly to help clarify points that confused certain students.
Mar 1: Lectures 6,7,8 available below. Problem Set 4 is also available.
A note on the upcoming midterm:
The problems on the midterm will be similar to the problems you have seen in the Problem Sets. The midterm will also have some more advanced problems similar to the extra credit problems on the Problem Sets. We will make sure that solutions to all problems, including the extra-credit problems, will be available to you well before the midterm.
Feb 26: LAB SCHEDULE CHANGE
There is a small change in our lab schedule: Lab 6 will be due in the week BEFORE the spring break; lab 4 and 5 have been moved after the break. Please refer to Schedule and Assignments for detail.

Feb 15:
Note that Problem Sets should be turned in to the COS 111 mailbox on the second floor of the CS building -- in a box marked "COS 111 Problem Sets."
Also: We have decided that labs will be due by 5PM on the FRIDAY (not Thursday) of the week of the lab.
Lectures 3 and 4 now available below. Note: Lecture 4 slides have been expanded somewhat to answer questions raised in class.
Problem Set 2 is now available.
Note: many lectures are in Powerpoint format. To download a viewer, Click on this link: http://www.microsoft.com/office/000/viewers.htm#ppt


Lecture 1 (Feb 6):
Prof. Dobkin's Lecture (mostly administrative);
Prof. Sahai's Lecture (Intro to Abstraction)
Lecture 2 (Feb 8): Prof. Sahai's Lecture (Logic Gates)
Lecture 3 (Feb 13): Prof. Sahai's Lecture (Representation)
Lecture 4 (Feb 15): Prof. Sahai's Lecture (Memory)
Lecture 5 (Feb 20): Prof. Sahai's Lecture (State Machines)
Lecture 6 (Feb 22): Prof. Sahai's Lecture (Computer Architecture)
Lecture 7 (Feb 27): Prof. Sahai's Lecture (Machine Language)
Note: You can also play with the TOY machine that we saw in class by clicking here.
Click on "Load from HTML" to load various Machine Language Programs.
Click "Step" to step through the programs one step at a time.
The programs we saw in class are called Add1-6, Add1-N, ALT-Loop, and SimpleVirus.
Lecture 8 (Mar 1): Prof. Sahai's Lecture (Hardware wrap-up)
Lecture 9 (Mar 6): Prof. Dobkin's Lecture (Graphics)
Lecture 10 (Mar 8): Prof. Sahai's Lecture (Programming I)
Lecture 11 (Mar 13): Prof. Sahai's Lecture (Programming II)
Lectures 12 and 13 (Mar 27 and 29): Prof. Dobkin's Lecture (Algorithms)
Lecture 14 (April 3) Prof. Dobkin's Lecture (Operating Systems)
Lecture 15 (April 5) Prof. Dobkin's Lecture (Networks)
Lecture 16 (April 10) Prof. Dobkin's Lecture (Distributed Computing)
Lecture 17 (April 12) Prof. Sahai's Lecture (Stable Marriage) -- for the original lecture by Steven Rudich, go to www.discretemath.com.
Lecture 18 (April 17) Prof. Sahai's Lecture (Halting Problem and Completeness)
Lecture 19 (April 19) Prof. Sahai's Lecture (Cryptography)
Lecture 20 (April 24) Prof. Dobkin's Lecture (Intellectual Property)
Lecture 21 (May 1) Prof. Dobkin's Lecture (Artificial Intelligence)
Lecture 22 (May 3) Prof. Dobkin's Lecture (Course Summary)


Acknowledgements regarding lectures:
Prof. Sahai would like to thank CMU Prof. Steven Rudich and Prof. Randolf Wang.
Both professors want to thank Perry Cook for his wonderful lecture on Computer Music (April 26)