Princeton University |
Computer Science 109:
|
The final exam has been graded and your course grade has been mailed to you. 2002 final exam answers
Lecture notes: 9/13 9/18 9/23 9/25 9/30, 10/2 10/7 10/9-14 10/16-21 10/23 11/04 11/11 11/13 11/18 11/20 11/25-12/2 12/9 12/11
Problem set solutions: 1 2 3 4 5 6 7 8
Miscellaneous: Economist article on Internet jurisdiction Touretzky's Gallery of DeCSS Descramblers cleaning up old web pages Abby Notterman denial of service attacks William Safire on TIA ESP site /usr/sbin/traceroute the truth about Caesarea Michael Lemonick midterm comments 2002 answers 109 in the news 2001 midterm answers code/art at the Whitney binary counter program the origin of "SPAM" survey results
Problem sets, labs and announcements will be posted only on the web page. You are responsible for monitoring the web page frequently.
Course summary, schedule and syllabus
What was covered in 2001
Comparison of COS 109, 111 and 126
Administrivia:
Labs
Problem Sets
Exams
Lateness Policy
Collaboration Policy
Textbook
Links
Bibliography
I have put half a dozen books on reserve in the engineering library in Friend. None is right for the course, but among them there is coverage of many class topics, so you might find it helpful to browse in them a bit.
Computers, computing, and many things enabled by them are all around us. Some of this is highly visible, like personal computers and the Internet; much is invisible, like the microprocessors in cars and appliances, or the programs that fly our planes and keep our telephones and power systems and medical equipment working, or the myriad systems that quietly collect and share personal data about us.
Even though most people will not be directly involved with creating such systems, everyone is strongly affected by them. COS109 is intended to provide a broad, if rather high level, understanding of how computer hardware, software, networks, and systems operate. Topics will be motivated by current issues and events, and will include discussion of how computers work; what programming is and why it is hard; how the Internet and the Web operate; security, privacy, and property rights. We will also touch on fundamental ideas from computer science, and some of the inherent limitations of computers.
This course is meant for humanities and social sciences students who want to understand how computing works and how it affects the world they live in. No prior experience with computers is assumed. There are no prerequisites.
The laboratory is complementary to the classroom work, uses PCs running Windows, and is based on the Internet and the Web. Students will construct their own home pages in the first few weeks. They will then add to them throughout the semester, while exploring a spectrum of practical applications, including graphics and digital sound. Two of the labs are a gentle introduction to programming in Visual Basic.
The course will have fundamentally the same structure as in previous years,
but case studies and examples will change according to what's
happening. For example, Napster is now a dead issue, but
privacy, security and intellectual property
in the digital age are of increasing importance.
Sep 13, 18:
Introduction. What's in a computer
Sep 23, 25:
How machines work. How machines are made.
Sep 30, Oct 2:
Bits, bytes, and representation of information.
Oct 7, 9:
Software and algorithms
Oct 14, 16:
Languages, programming; Visual Basic
Oct 21, 23:
Visual Basic. Operating systems
[fall break]
Nov 4, 6:
File systems, information storage. Applications.
Nov 11, 13:
Networks & communications, Internet
Nov 18, 20:
World Wide Web;
Nov 25: Cookies and viruses; security and privacy
Dec 2, 4:
Cryptography. Compression & error detection.
Dec 9, 11:
Intellectual property. Wrapup
[winter break]
Jan 8:
Review session at regular class time if there is enough interest
Jan 21: Final exam
Tuesday, Jan 21, 1:30 pm, Friend 006
Lectures:
Monday and Wednesday 11:00-12:20,
Friend Center
004.
Professor:
Brian Kernighan,
311 CS Building, 609-258-2089,
bwk@cs.princeton.edu.
Office hours by appointment, or just drop in if my door is open,
which it usually is.
Teaching Assistants:
You should feel free to send mail to cs109@cs.princeton.edu with any
questions any time.
There will be eight labs to give hands-on practice in
important aspects of computing.
The labs are designed to be easily completed within three hours, if you
have read through them beforehand.
Most labs require about one hour of preparatory reading.
Assistants will be available to help out during scheduled lab sections.
Labs are held in the Friend Center; many can be done in dorm rooms or campus
clusters, but there will be lab assistants to help out in Friend,
and no help elsewhere.
Labs are together worth about 20 percent of the course grade.
To receive credit, students must complete labs by
5:00 PM Friday of
the week they are assigned, unless there are
extraordinary circumstances.
Labs start the week of Monday, September 23.
There will be no labs in the week before Fall recess or in the last week of classes.
Lab sessions are Monday and Tuesday at 1:30
and Monday through Wednesday at 7:30 in Friend 005.
Eight weekly problem sets, together worth about 20 percent of the course grade,
will be assigned. Problems are intended to be straightforward, reinforcing
material covered in class and providing practice in quantitative reasoning,
and should take at most 2 hours to complete.
Problem set solutions will be due by
5:00 PM Wednesday, one week after they are assigned;
turn in solutions in the box outside room 311
on the third floor of the CS building,
or at the beginning of class.
There will be no problem set due in
the week before Fall recess (midterm instead) or the last week of the term.
No credit can be given for late submissions unless there are
extraordinary circumstances.
For both labs and problem sets, extracurricular activities
and heavy workloads in other classes don't count as
"extraordinary", no matter how unexpected or important or time-consuming.
Nevertheless, everyone gets truly behind from time to time. In recognition
of this, you are allowed two late submissions (no more than 3 days late
in each case). Please let us know that you will be submitting
late so we can keep track of things more easily.
Students must complete all labs and assignments to pass the course.
Students are encouraged to collaborate on problem sets, but must turn
in separate solutions; the names of collaborators should appear on
each submission. (This elaboration of the policy on collaboration is
paraphrased from COS 126:) You must reach your own understanding of
the problem and discover a path to its solution. During this time,
discussions with friends are encouraged. However, when the time comes
to write the solution to the problem, such discussions are no longer
appropriate -- the solution must be your own work. If you have a
question, you can certainly ask friends or teaching assistants, but do
not, under any circumstances, copy another person's work or present it
as your own. This is a violation of
academic regulations.
There will likely be short, unannounced, in-class quizzes
to test your understanding and verify your existence. These will be
worth 5-10 percent of the course grade. Regular class attendance is
expected; frequent absences are grounds for a failing grade regardless
of other performance.
A take-home, open-book midterm examination will be given during the
week before fall break. It will cover material presented and
discussed in class and assigned reading through Wednesday, October 16.
It will be worth 20 percent of the course grade.
An open-book final examination will be given during the
fall-term exam period. It will cover all of the assigned readings and material
presented and discussed in class.
It will be worth 35-40 percent of the course grade.
Sorry: no collaboration on take-home exams or the final.
There is no assigned text for this course; I have never found
anything that seems right.
(Fluency
with Information Technology
by Larry Snyder (Addison-Wesley, 2002)
is the closest so far, though too broad-brush and superficial in
places. It's comparatively cheap at $28.) Occasional readings will
be handed out in class or found on the Web. There are also half a
dozen books on reserve in the engineering library in Friend, including
Snyder. None is right for the course, but among them there is
coverage of many class topics, so you might find it helpful to browse
in them a bit.
Meanwhile, check out the bibliography
for other suggestions.
Schedule
S M Tu W Th F S
Sep 8 9 10 11 12 13 14 first class (logical Monday)
15 16 17 18 19 20 21 no class Monday
22 23 24 25 26 27 28 problem set 1 due; lab 1 due
29 30
Oct 1 2 3 4 5 problem set 2 due; lab 2 due
6 7 8 9 10 11 12 problem set 3 due; lab 3 due
13 14 15 16 17 18 19 problem set 4 due; lab 4 due
20 21 22 23 24 25 26 take-home midterm due (no lab or prob set)
27 28 29 30 31
Nov 1 2 fall break
3 4 5 6 7 8 9 problem set 5 due; lab 5 due
10 11 12 13 14 15 16 problem set 6 due; lab 6 due
17 18 19 20 21 22 23 problem set 7 due; lab 7 due
24 25 26 27 28 29 30 Thanksgiving
Dec 1 2 3 4 5 6 7 problem set 8 due; lab 8 due
8 9 10 11 12 13 14 last class
15 16 17 18 19 20 21 winter break
22 23 24 25 26 27 28
29 30 31
Jan 1 2 3 4
5 6 7 8 9 10 11 review session
12 13 14 15 16 17 18
19 20 21 22 23 24 25 final exam, 1:30 pm, Friend 006
Syllabus
This will change somewhat over the semester, so check it out
from time to time.
Intel web pages on
How microprocessors work, how chips are made, and
Moore's Law.
Guest lecturer
Michael Lemonick
on Nov 6.
Guest lecturer Abby Notterman
on Dec 4.
Administrative Information
Limin Jia, ljia@cs.princeton.edu, 258-0254, Thursday 3-4 (CS 223)
Elisha Ziskind, eziskind@cs.princeton.edu, 258-1798, Tuesday 11-12 (CS 415)
Labs:
Problem sets:
Lateness Policy
Collaboration Policy
Examinations
Textbook
Credits
Much of the material for these pages and the labs has been
adapted from COS111; thanks to Andrea LaPaugh and Doug Clark
for their help.