Spread the love


Python 3
64-bit Windows version. You will need to download PyScripter separately (see below).
Python 3, 32-bit version
32-bit Windows version — use if you have an older machine that won’t support the 64 bit version
PyScripter IDE
Easy-to-use Integrated Development Environment for 64-bit Windows (same as packaged with Portable Python)
IEP Interactive Editor for Python
Cross-platform IDE aimed at simplicity & efficiency
PyCharm IDE
Another IDE; free version should be sufficient.
Python 3 for Mac
64-bit version for OS/X 10.6+, includes IDE
Python 3 for Mac
32-bit version for OS/X prior to 10.6, includes IDE
PythonAnywhere online IDE
If you just can’t get Python working on your own machine, use this.
Graphics Module Code
John Zelle’s Python graphics module. Download this to your computer or USB drive and save it into your Python Lib folder.


Official Python language site
Start here.
Python Chapter
Supplemental textbook chapter
Graphics Module Reference”
Documentation for John Zelle’s Python graphics module
How Would Pareto Learn Python
Online book geared towards beginners
The Python Guide: Learning Python
Part of the in-progress Python Guide
Hands On Python Tutorial
By Dr. Andrew Harrington of Loyola University
Assignment statements in Python
If-else statements in Python
Classes in Python
Dive Into Python 3
Online version of the book
Online Python Tutor
Learn Python by visualizing code execution
Invent Your Own Computer Games with Python
Teaches Python programming in the context of games. Available free online as HTML or PDF file; available in print from Amazon.
Making Games with Python & Pygame
Sequel to the above book, covering the Pygame library in depth.
Google’s Python Class
Python introductory class, taught over two intense days at Google.

Key Terms

  • Applets: Programs designed to run from Web pages.
  • Applications: Complete standalone programs that reside and run on a self-contained computer.
  • Applicative languages: Functional programming languages.Argument list: Will pass values to the function that are pertinent to that function’s task.
  • Assignment statement: Assigns a value to a program variable.
  • Boolean condition (boolean expression): Can be either true or false.
  • Case-sensitive language: Uppercase letters are distinguished from lowercase letters.
  • Class: A collection of sections of code called methods that are able to perform various related services.
  • Comments: Anything appearing on a line after the double slash symbol (//).
  • Common Language Runtime or CLR: Handles garbage collection for a C# program or for any other language that uses the .NET platform.
  • Compound statement: Can be used anywhere a single statement is allowed.
  • Constants: Quantities that are fixed throughout the duration of the program.
  • Control statements: Affect the order in which instructions are executed.
  • Declarative languages: Logic programming languages.
  • Device driver: A program that interacts with an I/O device.
  • Divide and conquer: A problem-solving approach.
  • Encapsulation: Each class has its own program module to perform each of its subtasks.
  • External libraries: Collections of well-written, efficient, and thoroughly tested FORTRAN code modules that are separately compiled and then drawn on by any program that wishes to use their capabilities.
  • Fact: Expresses a property about a single object or a relationship among several objects.
  • Flow of control: The path through the program that is traced by following the currently executing statement.
  • Functional programming language: A programming language that views every task in terms of functions.
  • Garbage collection: The process of reclaiming memory no longer needed by the program.
  • Identifiers: Names in a programming language.
  • If-else statement: Instruction that carries out conditional flow of control.
  • Inference engine: A piece of software that is supplied as part of the compiler or interpreter in a logic programming language; allows the programmer to interact with the program by posing queries.
  • Infinite loop: Program that contains an infinite loop will execute forever.
  • Inheritance: Once a class A of objects is defined, a class B of objects can be defined as a “subclass” of A.
  • Input statement: Collects a specific value from the user for a variable within the program.
  • Integrated Development Environment (IDE): Lets the programmer perform a number of tasks within the shell of a single application program, rather than having to use a separate program for each task.
  • Literal string: Printed out exactly as is.
  • Logic programming: Programming in which various facts are asserted to be true, and on the basis of these facts, a program can infer or deduce other facts.
  • Microsoft .NET Framework: A collection of tools for software development that was designed so that traditional text-based applications, GUI applications, and Web-based programs could all be built with equal ease.
  • Microsoft Intermediate Language (MSIL): The language into which .NET programs are compiled; the MSIL code is later compiled into object code.
  • Neural networks: Networks patterned after the human brain; can involve massive interconnections of many extremely simple devices.
  • Objects: Instances of classes.
  • Output statement: Writes a message or the value of a program variable to the user’s screen.
  • Paradigm: A model or mental framework for representing or thinking about something.
  • Parallel processing: Computing architectures and approaches to algorithms that involve the simultaneous use of two or more processors.
  • Parameter list: List of variables local to the function that will receive their values from the corresponding argument list when the function is invoked.
  • Pointer: A data type in the C language that is used to refer to memory addresses.
  • Polymorphism: Objects may provide services that should logically have the same name because they do roughly the same thing, but the details differ.
  • Primitive functions: Functions in a functional programming language that are defined as part of the language.
  • Procedural languages: Languages in which a program consists of sequences of statements that manipulate data items; it is the programmer’s task to devise the appropriate step-by-step sequence of instructions to be carried out by the computer to accomplish the desired task.
  • Prologue comment: Introductory comment that comes first.
  • Query interpreter: An inference engine.
  • Sentinel value: One extra integer that is not part of the legitimate data but is instead a signal that there are no more data.
  • Side effect: Occurs when a function, in the course of acting on its argument values to produce a result value, also changes other values that it has no business changing.
  • Syntax: The correct form for each component of the language.
  • Tags: Special characters in an HTML document that achieve formatting, special effects, and references to other HTML documents.
  • Type casting: Changing of data type.
  • Variables: Values that are not known ahead of time but must be obtained from the computer user as the program runs.