Extracurricular Resources¶
The materials of this class are designed to be self-sufficient, however, there are many reasons why you may want to seek out further resources, including: 0. tools for improving your understanding
additional introductory practice / perspectives
deeper understanding of python and computing
more CSS-relevant python exploration
more guided applications of python in other domains
0. Tools for improving your understanding¶
Python Tutor: An interactive online system for understanding how python commands are being interpreted and executed, from Phil Guo.
Run Python online via shell / IDE
Run Python online via notebooks
There are many more similar services, including offerings from Microsoft (Azure), Kaggle, Amazon, etc.
1. Alternate Introductory Python approaches:¶
Programming-focused¶
python.org tutorial: very concise tutorial straight from the source.
Think Python: Introduction to Programming via Python
Learn Python the Right Way: A very similar book to the above.
A Byte of Python: Highly regarded online resource.
Python for Everybody: Informatics focused introduction to python (although it sticks to covering Python as a language).
{paid} Python crash course: A gentle and thorough introduction with fun applications at the end.
{paid} Learn Python 3 the Hard way: Based on a controversial, but not obviously wrong, premise that the best way to learn to code is by transcribing working code and modifying.
Data-analysis based¶
Elements of data science: A Python introduction targeting data science
Computational and Inferential Thinking: The Foundations of Data Science: A very gentle introduction to python, with an emphasis on providing a broad overview of data analysis methods.
2. Deeper understanding of Python and computing:¶
More intensive books¶
Introduction to Computation and Programming: A great introduction to computation in general. This would be most useful after you already have some familiarity, as it breezes through basic material.
Fluent Python: An excellent book to really understand how Python works, and how to use it effectively, once you have mastered the basics.
Think Stats: An introduction to statistics and exploratory data analysis assuming you already know Python.
Style guides:¶
guide supplement: pithy guide to writing pythonic code.
PEP 8: the official style guide
google python style guide google’s guide
Official documentation¶
language reference: technical, thorough, complete reference for the Python language and how it is understood by the interpreter
reference for standard library: covers all the built in and available-by-default functions, objects, modules, etc.
3. CSS-relevant Python resources:¶
Python companion to statistical thinking in the 21st century: Introduction to modern social (particularly psychological/cognitive) science statistics, glosses over the requisite python.
Think complexity: A Python introduction to complex systems, which has many chapters on models/simulations of complex social systems.
4. Guided application of python in other domains:¶
Invent with Python: A collection of books guiding you through starter projects that accomplish something immediately useful, via python. Of particular note:
Automate the Boring Stuff with Python: an introduction to python focused on interacting with objects and APIs many people have to routinely use to automate tedious tasks.
Invent your own computer games with python: making computer games.