Resources
This page contains links to third-party resources that you may find helpful. If you have suggestions for other resources that your fellow students may find helpful, please let me know.
Code snippets for this class.
Python
- Python.org - Python language home page
- Python Docs - Official Python documentation
- Python Tutorial - Official Python tutorial
- PEP 8 - Python code style guide (Nathan Sprague's overview)
- Think Python - Free e-book on Python
- Learn Python - CodeAcademy Python track
LaTeX
- LaTeX-Project.org - LaTeX home page
- Texmaker - Cross-platform LaTeX editor
- Lyx - Graphical semi-WYSIWYG LaTeX editor
- ShareLaTeX - Web-based LaTeX collaborative editor
Data Structures and Algorithms
- Data Structures and Algorithms in Python - Official textbook for this class (Safari Online)
- Concise Notes on Data Structures and Algorithms - Course notes by Dr. Chris Fox (free e-book, uses Ruby not Python)
Software
There is a large list of Python editors for various platforms in the Python documentation.
Online:
- Python Tutor - Web-based Python code execution visualizer
- Ideone - Web-based IDE for code testing and debugging
Cross-platform:
- IDLE - Documentation for built-in Python IDE (recommended in the lab)
- Eclipse and PyDev - Python IDE (and instructions for setting it up)
- Aptana Studio - Python IDE
Linux:
- gedit - Basic Gnome text editor
- KDevelop - Full-featured IDE for KDE environment
- Vim - The classic modal text editor
- Emacs - The classic monolithic editor (use the Python Mode)
Mac:
- Brackets - Web-focused text editor (install the "Integrated Development" extension to enable IDE features, but you have to switch it to use Python 3 manually)
- TextWrangler - Free version of widely-popular BBEdit software
Windows:
Note: There is an option to add "python" to the system PATH variable when
you install Python 3 on Windows. You will make your life a lot easier if you
enable that option. If you've already installed Python, don't worry; just run
the installation again and look for that option. Once you do that, typing
"python
" in the command line will run Python 3 (as opposed to other
platforms, where you need to run "python3
").
- Brackets - Web-focused text editor (install the "Integrated Development" extension to enable IDE features)
- Notepad++ - Python-aware text editor
- Notepad2 - Python-aware text editor
Miscellaneous
- OpenClipArt - Public domain images (clipart on this website comes from here)
- Wolfram Alpha - General purpose mathematical engine