Textbook and tools#
Required reading#
There is no required textbook for this course. All course materials, including lecture notes, assignments, and readings, are provided online through the course website and GitHub repository.
Supplemental reading#
Two freely available Python books are used as reading sources for some course material (readings, assignments) generated during the term. Neither is required or graded on its own — assigned excerpts, when any, are called out in the relevant lecture note or assignment.
Think Python, 3rd edition, by Allen Downey. Free online; also available in print.
Introducing Python, 3rd edition, by Bill Lubanovic. Free on the O’Reilly platform if you log in with your LUC email — see the curated reading list on the Reading material page.
Programming environment#
For this course, I use GitHub Codespaces and Visual Studio Code as my primary programming environment. GitHub Codespaces provides a cloud-based development environment that can be accessed from any web browser, while Visual Studio Code is a powerful and versatile code editor that can also be installed on your local machine.
If you wish to try out GitHub Codespaces, you can find more information and get started here: GitHub Codespaces Documentation. First, you need to establish a GitHub account if you do not already have one. Then, you can create a new Codespace from the course repository. If you already have a GitHub account, make sure to add your LUC email to it, to enjoy the benefits of the GitHub Education Pack.
You are welcome to use any programming environment you prefer. However, if you choose to use a different environment, please ensure that it supports Python development and that you are comfortable using it for the course assignments and projects.
Rich-text documentation in this course is done with Markdown. Mathematics are typeset with LaTeX. You are not expected to be familiar with Markdown or LaTeX. And there is no requirement to learn either. But both are good skills to have and you may want to spend some time exploring them. Markdown easy to learn; LaTeX is a bit more demanding.
To learn more about these tools: