Software
In 6.01, we will use the Python programming language and a collection of 6.01 Python modules that were written specifically for 6.01. These programs are available for installation on your personal computers (see links below).
You'll also need an editor and/or development environment for writing and debugging your programs. In 6.01, we will be using IDLE, a programming environment specially designed for Python programming and included with the Python distribution. It's also possible to use Emacs if you prefer.
You can install the 6.01 software on your personal computer if your operating system is GNU/Linux, Windows (7/XP), or MacOS X. In all cases, you will need Python version 2.6.x (other versions will NOT function properly). The 6.01 software has been tested with version 2.6.6, but version 2.6.7 should also be fine.
More detailed installation notes are available for the following operating systems.
Installing on GNU/Linux
Installing on MacOS X
Installing on Windows 7/XP (32-bit)
Installing on Windows 7/XP (64-bit)
Software Documentation
The 6.01 Software Documentation describes all the modules included in the lib601 software. If you need to look up information about any class, method, or attribute in the lib601 software, this is the exhaustive reference.
Lab References
6.01 uses the ActivMedia Pioneer 3-DX robot in design labs. Some components of design labs cannot be completed without these robots, such as explorations and mappings using sonar arrays, design challenges related to coordination between the robot head and body controls, and articulation of the disparities between simulation and actual performance.
However, the majority of the Design Lab material can be covered without access to a physical robot. These references describe and document the hardware and software used in the 6.01 lab.
Python/IDLE Resources
Python Tutorial, by Guido Van Rossum
This is the standard tutorial reference by the inventor of Python. Everyone should have a bookmark for it in their browser for reference. For learning programming, however, start with Think Python, below.
Think Python: An Introduction to Software Design, by Allen Downey. (PDF - 1.0MB)
This is a good introductory text that uses Python to present basic ideas of computer science and programming. It's especially recommended if you don't have a lot of programming experience and a good thing to skim even if you do.
The official Python IDLE documentation, including keyboard shortcuts, debugging, etc.