CSCA08: Software

Python

In this course, we will be programming in Python. We will be using Version 3.5 or higher. Please do not install older versions (in particular, lots of people are still using version 2.7). Python is installed on all computers in the BV wing computer labs. You may also wish to install it on your own computer.

There is extensive documentation available online, but again, make sure that you're looking at version 3.5 or above.

We will also be using the Wing IDE 101 development environment both in lectures and in tutorials. You can download the software for yourself here. Wing 101 is freely available for academic use. You DO NOT need the professional or personal version of the software, the academic version is more than sufficient for our needs.

Python Tutor

In lecture, we will also occasionally be using Python Tutor, a web-based tool for visualizing Python programs. Python Tutor is great for getting a sense of how your code operates, and understanding the memory model, but please DO NOT use it to write code for your exercises or assignments. It is not designed for this, it does not allow any sort of saving, and has been known to crash, losing whatever you were typing in it at the time.

In order to get pythontutor to draw the memory model as closely as possible to what we've been doing in lecture, you should use the following settings:

PEP-8

You can either download the pep8.py file from the Official Python.org website (requires use of command line). Or simply paste your code into the online style checker. I recommend the latter, unless you are already familiar with the command line, and/or want to be able to check code without an internet connection. (I know how often you all want to check the style of your code while on vacation).

File Backup

This isn't really part of the course software, but every year at least one poor student has a catastrophic hard drive failure or drops their laptop or some other problem, which always seems to happen the day before a big assignment is due. There is no excuse for not backing up your computer. I personally use a combination of Crashplan and Dropbox, but whatever software you use, please save your work regularly, and save it to more than one location. I cannot give extensions or deferrals for work missed due to computer failures. (This advice goes for all of your courses).