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.

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.

CS16, CS18 or CS19 and one of CS22 or CS45

Lectures will be held every Monday, Wednesday, and Friday from 1:00 to 1:50 PM, in the Metcalf Auditorium.

We recommend using ShareLatex for collaboration on problem sets.

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.