- Why study algorithms? The goal is to build a deep(er) understanding of fundamental algorithmic paradigms such as Divide and Conquer, Dynamic Programming, Greedy Approaches, and Approximation.
- How are we going to do that? We emphasize rigor in our proofs of correctness and runtime.
- Are there any prerequisites? The prerequisites are: ((CS16 or CS18) and CS22) (or equivalent). This is targeted to approximately junior undergraduates who have enjoyed basic data structures and algorithms and want to go beyond that, in particular the problem solving and rigorous analysis perspective.
Problem Sessions Assigned
Problem session assignments can be found here. Remember that problem sets are due two weeks after they are assigned, with problem sessions occuring during the week in between.HW1 and PS1 Posted
Homework 1 and Problem Set 1 have been posted here. If you have not signed up for a problem session, you must do so by Wednesday at midnight.Welcome to CSCI 1570!
A single algorithmic improvement can have a greater impact on our ability to solve a problem than ten years of incremental improvements in CPU speed. In CS157, we study techniques for designing and analyzing algorithms. What is CS157 all about? We study algorithms and data structures for a wide variety of problems in Computer Science.Course Textbook: Algorithms by Sanjoy Dasgupta, Christos Papadimitriou and Umesh Vazirani, McGraw Hill 2008, ISBN 978-0-07-352340-8. Copies have been ordered at the Brown bookstore. (Alternatively, students may try the following website, created by a Brown student, that supposedly makes it easy to search Amazon, Half.com, and Abebooks.com to find the lowest prices for textbooks.)