Appendix D: Resources

There are many resources freely available on the web for further learning.

One of the strengths of Python relative to other languages is the diversity of of applications it has.

Do find one area of interest and make it your own.


The important ones are:

  • Tutorial
  • Library Reference - Practical
  • Language Reference - Academic, authoritative.

Online Courses

Python today is widely taught in University. Here are some execelent resources.

  • Udacity - CS101
  • MIT Intro to Computer Science and Programming (MITOpenCourseware)
  • Introduction to Interative Programming in Python (Coursera)
  • Learn to Program: The Fundamentals (University of Toronto, Coursera)


The best way to consolidate learning programming is to find a domain that is of interest and learn more about programming it.

Here are some resources that will inspire.

Natural Language Processing

Natural Language processing refers to tools used to parse and add semantics to human language. Talking with computers.

Web development


Raspberry Pi is currently the center of focus for fun with home electronics.

  • Make: Sensors: A Hands-On Primer for Monitoring the Real World with Arduino and Raspberry Pi
  • Make: More Electronics: Journey Deep Into the World of Logic Chips, Amplifiers, Sensors, and Randomicity
  • Raspberry Pi Home Automation with Arduino
  • Raspberry Pi for Secret Agents
  • Raspberry Pi Cookbook for Python Programmers
  • OReilly RPi
  • Getting Started with Sensors: Measure the World with Electronics, Arduino, and Raspberry Pi


  • Violent Python (book)
  • Grey Hat Python (book)

Data Science

Machine Learning

Course References

Some materials that inspred this course.