The topics we will cover are difficult to master. Below are resources to help with foundational concepts, including proof techniques and additional practice problems.

Discrete Math


Programming Resources

-C++ demo program. This program demonstrates some useful C++ techniques you may not have learned in CS2150: using library classes for pairs and tuples; how to sort vectors of pairs, tuples, structs and objects; how to use the built-in map class for lookup tables.

Software Development Methods (2110)

LaTeX Resources

The pen-and-paper (a.k.a. “written”) assignments are not really pen-and-paper: they must be typeset with LaTeX, a professional formatting system. Tutorials on how to use LaTeX are provided with Homework 1A. LaTeX is easily installable on many computers:

We strongly recommend using Overleaf,, since it contains all the necessary packages and works in-browser. We generally will not accept LaTeX documents with images of text or formulas; you must typeset the formulas in LaTeX, not in another program and have them exported as images.

Student-Submitted Resources

Other students found these resources helpful. If you have suggestions for other resources to list here, please send Profs Hott or Horton an email!