Pile of book lot Photo by NeONBRAND on Unsplash.

Textbooks

There are two required textbook for this course. One can be purchased as either a digital or physical edition. The online resources on this page are subject to frequent change and updates throughout the semester. Feel free to also share helpful videos, sites, and guides that you find, and I’ll post them here along with everything else.

Book Description
OOP Python Cover Title: Object-Oriented Python: Master OOP by Building Games and GUIs
Author: Irv Kalb
Purchase: Check course Canvas for current semester link Free from AU on O’Reilly Safari
abbreviation: oop on the Schedule
PythonDS Cover Title: Problem Solving with Algorithms and Data Structures using Python (Version 3)
Author: Brad Miller and David Ranum, Luther College
Available for free from Runestone Academy with free account. Third Edition.
abbreviation: ds on the Schedule

What Python do I get?

This is a good question. Python is an active and evolving language - new versions are released frequently. This course uses the most recent version of Python 3.x. You can easily obtain Python all by itself, or install it as part of a larger collection of useful modules. One of the most popular is Anaconda, which includes a massive assortment of libraries that can be useful for data science but takes up a lot of space on your computer.

Whatever you do, do not install a version of Python 2.x for this course. There are huge differences between them, and none of the examples in class or in the book(s) will line up with 2.x. Assignments will also not be accepted if they are submitted using 2.x syntax.

Integrated Development Environment (IDE)

In this course, you will utilize an Integrated Development Environment (IDE) to write code. While many IDEs exist, examples and in-class support videos will utilize PyCharm by Jetbrains. It is freely available to students through an academic license and supports all the software development features that we will use in this course. It is not sufficient to develop your code in this course through the command line or through an online notebook environment (e.g., Jupyter).

GitHub Classroom

All assignments will be delivered to students and submitted back to the instructor through GitHub. If you do not already have an account, you should sign up for one prior to the beginning of class. Early lectures will discuss the possible methods of submitting assignments to help you determine what is most comfortable for you, but the recommended method is to use the built-in GitHub integration available within the IDE.

Other Resources

A curated list of additional links to supplementary articles and videos that can be helpful to supplement the in-class material.

Additional AU Resources