Computer Science 226
Algorithms and Data Structures
Fall 2011


Course Information | Assignments | Exercises | Lectures | Exams | Booksite

COURSE INFORMATION

Description.   This course surveys the most important algorithms and data structures in use on computers today. Particular emphasis is given to algorithms for sorting, searching, and string processing. Fundamental algorithms in a number of other areas are covered as well, including geometric and graph algorithms. The course will concentrate on developing implementations, understanding their performance characteristics, and estimating their potential effectiveness in applications.

Prerequisites.   COS 126 or COS 217 or permission of instructor.

Lectures.   Attendance is required. You are responsible for all material presented in lecture; some of that material is not covered in the textbook.

Precepts.   We cover details pertinent to programming assignments and exams. You should come to precept prepared to participate in the discussion, not just ask questions.

Staff.   You are welcome to attend the office hours of any staff member. Office hours begin Thursday, September 15. The last day of office hours and lab TA hours is Thursday, Dec 15. There will be additional office hours starting on Monday, Jan 16.

TIME ROOM PERSON OFFICE HOURS EMAIL
L01 T Th
11–12:20pm
COS
104
Kevin
Wayne
CS
207
M 2–3pm
T 3–4pm
wayne@cs
P01 F
11–11:50am
Friend
109
Maia
Ginsburg
CS
205
T 7:30–8:30pm (Friend 017)
W 4–5pm
maia@cs
P01A F
11–11:50am
Friend
108
Aman
Dhesi
CS
003
T 2–3pm
T 5–6pm
adhesi@cs
P02 F
12:30–1:20pm
Friend
112
Sasha
Koruga
CS
004
M 6:30–8:30pm (CS 004) skoruga@cs
P02A F
12:30–1:20pm
Friend
108
Joey
Dodds
CS
215
M 10–11am
W 2–3pm
jdodds@cs
P03 F
1:30–2:20pm
Friend
112
Maia
Ginsburg
CS
205
T 7:30–8:30pm (Friend 017)
W 4–5pm
maia@cs
P03A F
1:30–2:20pm
Friend
108
Joey
Dodds
CS
215
M 10–11am
W 2–3pm
jdodds@cs
Steven
Liu
CS
003
T 1–2pm
Th 1–2pm
siyuliu@cs


Online forum.   If you have general questions about the assignments, lectures, textbook, or other course materials, please post via Piazza.

Grading.   Your grade for the course will be based on the following components: programming assignments (45%), midterm exam (15%), final exam (25%), exercises (15%), and staff discretion (including participating in precept, answering forum posts, and discovering errata).

Occasionally, we make mistakes. To request a regrade, write a brief note indicating the perceived mistake by the grader; attach it to your graded work; and give it to your preceptor within two weeks of when the graded work was returned.

Course website.   The course website

http://www.princeton.edu/~cos226
includes links to course content, including programming assignments, exercises, lecture slides, and old exams. You will also use it to submit programming assignments.

Readings.   The following textbook is required. It contains a wealth of information beyond what we can cover in lecture; it is certain to enhance your understanding of algorithms and data structures.

Programming assignments.   The programming assignments involve applying the material from lecture to solve problems in science, engineering, and commerce.

Exercises.   The exercises consist of short questions on the material in the lectures and readings.

Exams.   The in-class midterm exam is on Tuesday, October 25. The final exam is scheduled by the Registrar.

Course calendar.   You can import this course calendar into your favorite calendar application.

Computers.   You may develop your programs on any machine that you like: we encourage you to use your own equipment. We provide instructions for setting up a Java programming environment under Windows, OS X, and Linux.

Laboratories.   We hire undergraduate lab TAs who are available to answer general computing questions in the Friend 017 lab. They can assist you in debugging, provided you have first made a reasonable effort to identify the bug and isolate the problem. If you have questions regarding the course material or programming assignments, see your preceptor or instructor.

Copyright.   All rights reserved. None of this material may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise without prior written permission. Permission is granted to instructors who adopt Algorithms, 4th edition to use this material in conjunction with their course.

Short history of credits.   These course materials have been under development by Robert Sedgewick since at least 1978. The lecture notes and assignments were rewritten by Robert Sedgewick and Kevin Wayne in 2003–2011.