Course categories:


2006 CS 241: Introduction to SISL
Professor: K. Mani Chandy
Professor: Richard Murray
Professor: Peter Bossaerts
Professor: john ledyard
Introduction to SISL.
2006 CS 2: Introduction to Programming Methods
Instructor: Al Barr
Head TA: Joey Gonzalez
TA: Brent Goldman
TA: Robert Morell
TA: David DiCato
TA: Warner Leedy
TA: William Clark
TA: Arcady Goldmints-Orlov
TA: Qian (Janice) Wang
TA: Keegan McAllister
CS 2 is a course in programming languages and computer science, emphasizing modes of algorithmic expression. The course will include such topics as performance analysis of algorithms; proofs of program correctness; recursive and higher-order procedures; data structures, including lists, trees, graphs, and arrays; objects and abstract data types. The course includes weekly laboratory exercises.
2006 CS 2: Introduction to Programming Methods copy 1
CS 2 is a course in programming languages and computer science, emphasizing modes of algorithmic expression. The course will include such topics as performance analysis of algorithms; proofs of program correctness; recursive and higher-order procedures; data structures, including lists, trees, graphs, and arrays; objects and abstract data types. The course includes weekly laboratory exercises.
2006 CS 3: Introduction to Software Engineering
Instructor: Nevin Kapur
Teaching Assistant: Warner Leedy
Teaching Assistant: Jonathan Lee
CS 3 is an introduction to software engineering.
2007 CS 286.2 Seminar in Computer Sciences: Distributed Control
Instructor: K. Mani Chandy
Instructor: Concetta Pilotto
Instructor: Agostino Capponi
Instructor: Richard Murray
Guest Lecturer: Tamas Keviczky
Guest Lecturer: Michel Charpentier
Guest Lecturer: Michael Epstein
Guest Lecturer: Jason Marden
This course requires an enrolment key
Note: The department offers multiple CS 286 seminar courses. This course is CS 286.2.

This course studies recent results in theories of multi-agent systems in areas such as robotics, economics and the Internet. The course uses material from control theory, probability and distributed computing.

The course begins with a detailed description of a few problems to which multidisciplinary skills can be applied. Example of problems include the design of an intrusion-detection and evacuation system in a Manhattan grid representing an area in a city with sensors along streets and at traffic lights. Another example is that of designing agents with limited state (e.g., ants) building a structure (e.g., an ant hill) from resources (e.g., sand and mud) found in a specified space.

The class studies theory and experimental results from different disciplines and evaluates the applicability of the results to these problems.

Participants will give talks on papers and discuss projects. The course has no exams and no problem sets. Grading for the course is on a pass/fail basis. The units for the course are 2-0-7. The course meets from 10 AM to Noon on Wednesdays in Jorgenson 287.
2007 CS 2: Introduction to Programming Methods
Instructor: Al Barr
Head TA: Keegan McAllister
TA: Katherine Breeden
TA: David DiCato
TA: Nickolas Fortino
TA: Arcady Goldmints-Orlov
TA: Seth Hendrickson
TA: Warner Leedy
TA: Lisa Lyons
TA: Russell McClellan
TA: Glenn Wagner
TA: Qian (Janice) Wang
Head TA last year: Joey Gonzalez
CS 2 is a course in programming languages and computer science, emphasizing modes of algorithmic expression. The course will include such topics as performance analysis of algorithms; proofs of program correctness; recursive and higher-order procedures; data structures, including lists, trees, graphs, and arrays; objects and abstract data types. The course includes weekly laboratory exercises.
2007 CS 38 Introduction to Algorithms
Instructor: K. Mani Chandy
Teaching Assistant: Jing Chen
Teaching Assistant: Concetta Pilotto
Teaching Assistant: Agostino Capponi
This course requires an enrolment key
This course is an introduction to algorithms. Classes are held in Jorgensen 72 on Tuesdays and Thursdays from 10:30 AM to 11:45 AM.

Classes are highly interactive. Generally, a class consists of the specification of a problem by an instructor followed by an active discussion among students about methods of solving the problem. Active class participation is strongly encouraged.

The class is organized around methods of algorithm development. Examples of such methods include dynamic programming, greedy algorithms, and divide and conquer.

A focus of the course is proofs of algorithms. For most algorithms we will develop algorithms around an invariant, and we will prove progress and computational complexity using variant functions.

The text for the course is Algorithms by Dasgupta, Papadimitriou and Vazirani. Copies will be available at the bookstore and on reserve at the library.

The course has weekly 10-minute mini-quizzes, 5 or 6 homework assignments, a midterm and a final exam. The midterm or final may be given as quizzes. None of the assignments require implementing programs. The assignments generally require the development of an algorithm to solve a specified problem and its proof of correctness.

Prerequisites are CS 2 and CS 21 (or equivalent).
CS2 2008 Introduction to Programming Methods
Instructor: Katherine Breeden
Instructor: Luke Durant
Instructor: Nickolas Fortino
Instructor: Lisa Lyons
Instructor: Russell McClellan
Instructor: Tamas Szalay
Instructor: Daniel Obenshain
Instructor: Keegan McAllister
Instructor: Seth Hendrickson
Instructor: Glenn Wagner
Instructor: Qian (Janice) Wang
CS 2 is a course in programming languages and computer science,
emphasizing modes of algorithmic expression. The course includes
such topics as performance analysis of algorithms; proofs of program
correctness; recursive and higher-order procedures; data structures,
including lists, trees, graphs, and arrays; objects and abstract data
types. The course includes weekly laboratory exercises.