$\DeclareMathOperator{\p}{Pr}$ $\DeclareMathOperator{\P}{Pr}$ $\DeclareMathOperator{\c}{^C}$ $\DeclareMathOperator{\or}{ or}$ $\DeclareMathOperator{\and}{ and}$ $\DeclareMathOperator{\var}{Var}$ $\DeclareMathOperator{\E}{E}$ $\DeclareMathOperator{\std}{Std}$ $\DeclareMathOperator{\Ber}{Bern}$ $\DeclareMathOperator{\Bin}{Bin}$ $\DeclareMathOperator{\Poi}{Poi}$ $\DeclareMathOperator{\Uni}{Uni}$ $\DeclareMathOperator{\Exp}{Exp}$ $\DeclareMathOperator{\N}{N}$ $\DeclareMathOperator{\R}{\mathbb{R}}$ $\newcommand{\d}{\, d}$

Quick Guide to LaTeX

LaTeX is a typesetting system that creates beautiful scientific documents. You can still submit handwritten homeworks, but we recommend using LaTeX.


Here are some resources on LaTeX to help you get started, written by CS109 TA Benson Kung in Spring 2020. There are many excellent tutorials on LaTeX online as well, but we've compiled some of our own so you can see how mathmatical notation works.

LaTeX cheat sheets

Here is an excellent LaTeX cheat sheet that you can reference.

Adding PSet Templates to Overleaf

  1. Download the template file (with extension ending in .zip) from the Problem Set webpage. You do not need to open/extract these files.
    A screenshot of three links from the Problem set, with the middle one (Template) highlighted.
  2. On the Overleaf website (register with your stanford.edu account), go to "New Project" -> "Upload Project".
    A screenshot of part of the Overleaf home website, where Upload project (under New Project) is highlighted.
  3. Navigate to the correct .zip file and confirm. The zip file will upload.
    Two screenshots separated by an arrow from left screenshot to right screenshot. Left: the prompt for uploading a zip/Overleaf project. Right: a status bar on the prompt, where pset1_template.zip has been uploaded and is Processing...by Overleaf.
  4. Overleaf will automatically extract this zip and create a new Overleaf project.
    A screenshot of an Overleaf project.