CS 231: Algorithmic Problem Solving

Learning/reviewing Python

This course has been designed with the understanding that although all students will be familiar with programming, comfort with Python may vary. This page provides information to help prepare you for programming assignments.

The two Python guides list material to review as well as available resources; please see the schedule for dates by which the material should be mastered. The third document outlines differences between Python 2 (what you might have been taught, if you studied Python some time ago) and Python 3 (what is used in this course).

Logistics of using Python

The resources below are designed to help you get started in running Python. Please note that not all options listed here are guaranteed to ensure that your code will run in the school environment, as required for assignments.

  • Information on how to obtain and run Python software is available on the CS 116 website.
  • This resource addresses how to use Python on Windows and Linux machines.
  • The Python panel of Python from scratch (discussed more below) can be used to run Python on the web.
  • The file check.py is required for testing; you can learn more about it in the Python style guide, below.

Python style guide

Coding assignments in the course must use Python 3.2.3 or higher, and will be judged based on the criteria listed in the style guide linked below. Be sure to review the material listed, and if your previous exposure was to Python 2, make sure to learn differences between Python 2 and Python 3.

Modules created for the course

The links below cover three modules provided for the course, information on how to use them, and related files.

Materials for review sessions

Materials are provided here for those who are not able to attend one or more of the optional Python review sessions. Please attempt the questions by following the instructions for exercises prior to downloading the sample solutions.

Resources for learning/reviewing Python

The following links provide additional resources on Python, to be used as you need. They come with the caution that you are expected to follow the terminology and style presented in the course.