Resources
This page lists web sites, PDF documents, Jupyter notebooks, and Python packages that have been mentioned during the course.
It’s not an attempt to list everything related to each of those topics; just to collect those resources that have already been mentioned into one place.
General
Stack Overflow is a community of programmers, and a knowledge base of programming questions and answers. You can search it directly from its site; it also shows up in Google search results.
Linux (Ubuntu)
- Get Set (this site): Install and Configure Ubuntu
- Linux at Olin (downloadable PDF)
- Spring 2014 NINJA tutorial: Wireless issues on Ubuntu
Git
See Git Help on this site.
Python
- Think Python, by Allen Downey – the class text
- Python 3.5 Documentation
- Python 3.5 Standard Library
- The Hitchhiker’s Guide to Python, especially Writing Great Python Code
- Spring 2014 NINJA tutorial: Python exercises
- Lambda functions
Python Style Guides
Python Libraries
This section lists libraries that are somewhat general-purpose: they’re introduced in a particular assignment or project toolbox, but could be useful in other projects too.
Also see Awesome-Python, a curated list of Python libraries.
Data Processing and Scientific Computing
- Pandas tables (like Excel) as a data type
- NumPy scientific computing (including arrays)
- OpenCV-Python image processing and computer vision
- Pillow image processing
- scikit-learn machine learning
Graphics and Interactivity
- Pygame real-time image display
- Pygame cheat sheet, written by sofdes ninjas
- Matplotlib graphing and plotting (Jupiter tutorial). Also see Bokeh and Seaboard.
- Seaborn improves the appearance of Matplotlib graphs and adds additional features
- Kivy for user interfaces
HTML and the Web
- Flask web applications (software that runs on a server and serves HTML pages to browsers)
- Beautiful Soup parses HTML pages
- Requests retrieves HTML pages
Text Editors
- Atom
- Sublime is an alternative to Atom. It’s faster for large files, but managing plugins is more difficult and it wants a commercial license.
- Visual Studio Code is the new kid on the block.
- PyCharm is an Integrated Development Environment (IDE). It does more than the text editors, and is harder to learn.