Introduction to Programming and Scientific Applications (Spring 2020)

Python coding resources

Below is a list of resources for information on Python. For information on specific Python try to Google it with "python topic", e.g. "python string concatenation". Many of the obvious questions have been asked and answered on e.g. stackoverflow.com.

Python programming language

Language documentation

Tools

Libraries

Python books

Introduction to Computation and Programming Using Python With Application to Understanding Data, John V. Guttag John V. Guttag. Introduction to Computation and Programming Using Python With Application to Understanding Data. Second Edition. 472 pages. MIT Press, 2016. ISBN: 9780262529624.

Primary book used in this course.

Recommended textbook for the free online course "Introduction to Computer Science and Programming Using Python: 6.00.1x" offered by MITx on edX, and "Introduction to Computational Thinking and Data Science: 6.00.2x".

Problem Solving with Algorithms and Data Structures using Python, Brad Miller and David Ranum

Brad Miller and David Ranum. Problem Solving with Algorithms and Data Structures using Python. Runestone Interactive.

Free online interactive book with a short introduction to the Python language but with a focus on Algorithms and Data Structures in Python.

Think Python 2nd Edition, Allen B. Downey

Allen B. Downey. Think Python 2nd Edition.Green Tea Press.

Free book.

Python vs Other Programming Languages



Java for Python Programmers

Brad Miller, Java for Python Programmers. Runestone Interactive.

Short online interactive note that describes the differences between Python and Java though a sequence of examples.



C for Python Programmers

Carl Burch, Elizabeth Patitsas, C for Python Programmers, 2012.

Short note on basic C compared to Python.

Python videos

There are numerous videos available on the Internet on Python, e.g. on Youtube and PyVideo.org.

Some technical Python videos

Raymond Hettinger, What make Python Awesome ?, Keynote talk at PyCon US 2013. [42:56]

Raymond Hettinger, Beyond PEP 8 - Best practices for beautiful intelligible code. Conference talk at PyCon 2015. [52:04]

Raymond Hettinger is a core contributer to Python. In this talk he talks about the PEP 8 style guide and other tricks to achieve more readable code.

Raymond Hettinger, Modern Python Dictionaries - A confluence of a dozen great ideas. Conference talk at PyCon 2016. [1:07:40]

In this talk Raymond Hettinger covers the ideas that led to the internal implementation of dictionaries in Python 3.6.

Raymond Hettinger, Super considered super!. Conference talk at PyCon 2015. [46:51]

Raymond Hettinger talks about dependency injection in Python using the super keyword and multiple inheritance.