Course Tools
We will use two tools in this course:
- The Python programming language as a subject for our study of program correctness.
- The LaTeX documentation preparation system to author mathematical prose.
Python is available via straightforward installers on all operating systems:
Additionally, it is available through most platform's package managers, e.g., Homebrew on Macs.
To develop Python code, I recommend using Visual Studio Code which features robust support for developing Python programs. Although, any editor of your choice will work!
LaTeX can similarly be installed directly on most platform:
However, the raw edit-and-compilation experience for LaTeX is lacking. I recommend using the Overleaf online service for authoring LaTeX documents. Overleaf has a full-featured, in-browser LaTeX IDE that smooths away many of the warts when developing in LaTeX. A free Overleaf account is sufficient for both this course and most people's needs.
Additionally, Overleaf provides an excellent introductory tutorial to LaTeX. I highly recommend you work through it and come back to it as a reference for this course:
We'll introduce the parts of Python that you need for this course. However, you should certainly use this time to dig deeper into the language. I recommend using a comparison resource like Learn X in Y minutes:
That provides a succinct, practical reference for the language as an initial guide and, later, reference when picking up the language.