Announcements

Final recitation notes

Problems from the final recitation: problems solutions

LP recitation notes

Notes from the recitation on linear programming are here pdf

Midterm review notes

Problems from the midterm review here: pdf

Solutions: pdf

Third recitation notes

Notes from the third recitation on divide-and-conquer algorithms are here: pdf

Second recitation notes

Notes from the second recitation on greedy algorithms are here: pdf

Homework 2 new deadlines

The early deadline for homework 2 will be Monday 2/11 at 11:59 pm and the on-time deadline will be Wednesday 2/13 at 11:59 pm. There will be no late deadline.

First recitation notes

Proof exercises from the recitation are available here: pdf

CS Login

If you do not have a CS login or realize you are not on the course mailing list, please send an email to cs157headtas@cs.brown.edu (you will be responsible for any announcement made through the course mailing list).

Suggested Readings

  • Section 5.1.3 and section 5.1.4 for minimum spanning trees.
  • A quick summary of matlab: matlab tutorial
  • Section 2.4 of Dasgupta et al. for linear time median finding and the deterministic algorithm from chapter 9.3 of the other textbook
  • Section 2.6 of Dasgupta et al. reviews Fourier transforms. You can also view last year's lecture.

Welcome to CS157

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. We study techniques for designing and analyzing algorithms. Typical problem areas addressed include numerical computing, hashing, searching, dynamic programming, graph algorithms, network flow, and string parsing and matching.

Course Prerequisites

CS16, CS18 or CS19 and one of CS22 or CS45

Meeting Time

Lectures will be held every Tuesday and Thursday, from 10:30 to 11:50 am, in CIT Center (Thomas Watson CIT) 219.

Course Documents

Course Missive: pdf

Collaboration Policy: pdf

LaTeX links

Download CS157 LaTeX Assignment Template (you are not required to use this template).

Installing: Download LaTeX for Windows (proTeXt), MacOS (MacTeX), and Linux (TeX Live).

Tutorial: A Not So Short Introduction to LaTeX2e (classic), Essential LaTeX (may be outdated).

Wiki-style Reference: LaTeX Wikibook, and AOPS LaTeX.

Symbols: An exhaustive list of LaTeX Symbols, or you consider a a shorter list, or use the awesome Detexify^2 - LaTeX symbol classifier that gives the LaTeX symbol based on handwriting input.

Typesetting Pseudocode: You may use Cormen's clrscode3e package (or the older version clrscode package). Alternatively, you may also consider the algorithmic package.