Wilson Mar bio photo

Wilson Mar


Email me Calendar Skype call

LinkedIn Twitter Gitter Instagram Youtube

Github Stackoverflow Pinterest

Who will teach you to code in python

US (English)   Español (Spanish)   Français (French)   Deutsch (German)   Italiano   Português   Estonian   اَلْعَرَبِيَّةُ (Egypt Arabic)   中文 (简体) Chinese (Simplified)   日本語 Japanese   한국어 Korean


Here are the classes I’ve seen that teach Python programming.

NOTE: Content here are my personal opinions, and not intended to represent any employer (past or present). “PROTIP:” here highlight information I haven’t seen elsewhere on the internet because it is hard-won, little-know but significant facts based on my personal research and experience.

Python Official documentation

https://docs.python.org/3/tutorial is the official tutorial.

https://docs.python.org/3/library/index.html is the official documentation.

Mind maps

PythonFundamentalsCourse-MindMap-1.png from http://www.seleniumframework.com/python-course

Harvard CS 50P on YouTube

This Harvard University’s CS50P: Introduction to Programming with Python is a comprehensive course tailored to teach Python programming from scratch. It’s taught by the energetic Dr. David J. Malan, offering a unique and immersive learning experience. One 16-hour HD YouTube 2160p 4K video via FreeCodeCamp.org:

Free Tutorials about Python

Data-Flair offers projects

Microsoft LEARN: 1 hr text Introduction to Python

Full Stack Python is an open source book that explains technical concepts in plain language. Every layer is about code written in Python: Development Environments, Data, Web Development, Deployment, DevOps.

Python Networking Engineering on ReadTheDocs by Natasha Samoylenko (in Ukraine) hosts exercises and answers in GitHub.



https://www.github.com/rg3/youtube-dl Reading the code for youtube-dl turned me into a web-scraping machine. I picked up many good habits and tricks from following the code carefully.

Python for Everyone

May 2019 Python for Everybody (py4e.com) free Python 3 book, PowerPoint slides and code in GitHub or in one zip file from FreeCodeCamp.org in a single YouTube video, from Dr. Chuck (Severance) at the University of Michigan School of Information.

  1. Why Program?
  2. Variables, expressions, and statements
  3. Conditional Execution
  4. Functions
  5. Loops and Iterations
  6. Strings
  7. Files
  8. Lists (Data)
  9. Dictionaries
  10. Tuples
  11. Regular Expressions
  12. Network Programming (Networked Programs)
  13. Using Web Services
  14. Object-Oriented Programming
  15. Databases
  16. Data Visualization? (using D3.js)


Google’s Python Class from 2010 is still relevant. It’s taught by Stanford CS lecturer Nick Parlante.

It has videos that covers strings, lists, sorting, dicts, files, regular expressions, utilities. Support materials at

Udacity video courses

Programming Foundations 6 week course include object-oriented programming

Steven Thurlow


  1. Installing Python
  2. Very Simple Programs
  3. Variables, and Programs in a Script
  4. Loops and Conditionals
  5. Functions
  6. Tuples, Lists, and Dictionaries
  7. The for loop
  8. Classes
  9. Importing Modules
  10. File I/O
  11. Error Handling

EDX.org & MIT

MIT’s Introduction to Computer Science using Python course 600.1.X Aug 10, 2016 (free or $75 certificate) makes use of Windows and MacOS/Linux. Its major topics:

Learn Python the Hard Way is $29 from ZED.

realpython.com has a $60 course package.

Cornell has several certificates on Python:

  • https://ecornell.cornell.edu/certificates/technology/python-programming/ 6 courses for $2,520
  • https://ecornell.cornell.edu/certificates/data-science/data-visualization-with-python/
  • https://ecornell.cornell.edu/certificates/data-science/python-for-data-science/
  • https://ecornell.cornell.edu/certificates/data-science/python-360/ 15 courses for $5,530


https://www.datacamp.com/courses provides an interactive playground with videos. The beginner class is free, with intermediate classes at $29 a month.

Pluralsight video courses

Robert Smallshire (@robsmallshire, rob@ixty-north.com) and Austin Bingham (@Austin_Bingham, austin@sixty-north.com)

Unit Testing with Python Oct 31, 2013 2h 58m by Emily Bache

How to Think About Machine Learning Algorithms Sep 27, 2016 3h 8m by Swetha Kolalapudi of loonycorn.com

Play by Play: Building a Python Code Stats Tool Apr 28, 2011 1h 51m by Zed Shaw and Geoffrey Grosenbach

Getting Started in the Dota 2 Workshop Jul 07, 2016 4h 34m by Dan Cox

Understanding Machine Learning with Python May 17, 2016 1h 54m by Jerry Kurata (@jerrykur insteptech.com)

Design Patterns with Python Oct 13, 2016 1h 57m by Gerald Britton

Hands on with Python Jinja Templating Dec 29, 2014 1h 30m by Brett Romero

Python Desktop Application Development Sep 03, 2014 1h 42m by Bo Milanovich

Full Stack Web Development with Python (WEB2PY) by Terry Toy

The Python Developer’s Toolkit Jul 17, 20142h 19m by Reindert-Jan Ekker

Python Desktop Application Development: Part 2 - Design Oct 09, 20142h 17m by Bo Milanovich

Procedural Rigging with Python in Maya Advanced - Sep 22, 2015 7h 47m by Jakub Krompolc

Developing Python Tools in NUKE Advanced Aug 15, 2015 2h 38m by Simon Jokuschies

Introduction to Python Scripting in NUKE

  • Intermediate - Sep 30, 2012 2h 53m</a> by Chris Glick

Developing GUI-based Tools for Production in NUKE Sep 13, 2016 1h 49m by Simon Jokuschies

Getting Started with Python Scripting in Maya

  • Beginner Sep 08, 2013 1h 42m</a> by Delano Athias

Game Programming with Python and PyGame Dec 17, 2013 4h 18m by Filip Ekberg

Dan Bader:

  1. Tensorflow (for machine learning)
  2. Crawling (spider based projects, using Beautiful Soup)
  3. Database handling (firebase, Mysql, Neo4j etc.)

  • Object-oriented programming with classes and their methods
  • Cloud Python


Python for DevOps: Learn Ruthlessly Effective Automation 1st Edition (by Noah Gift, Kennedy Behrman, Alfredo Deza, Grig Gheorghiu) shows you how to use Python for everyday Linux systems administration tasks with today’s most useful DevOps tools, including Docker, Kubernetes, and Terraform.

Linux Academy

The video course at LinuxAcademy by Keith Thompson references includes a practice exam.



https://github.com/google/teknowledge A basic CS curriculum to teach high schoolers coding in Python. Developed by Googlers on their 20% time with Carnagie Mellon https://academy.cs.cmu.edu/about in Pittsburg over 10 weeks in 2018. http://teknowledge.xyz

https://github.com/google/mobly a Python-based test framework that specializes in supporting test cases that require multiple devices, complex environments, or custom hardware setups.

Secure coding

CodeBashing.com from Checkmarx, developer of CxSAST, which scans for security vulnerabilities in code, start a tutorial at https://www.checkmarx.com/supported-coding-languages/python-security-vulnerabilities-and-language-overview are gamified lessons covering vulnerable coding and how to mitigate:

  • SQL Injections (SQLi)
  • XSS (Cross Site Scripting)
  • Cross Site Request Forgery,

  • LDAP Injections
  • Command Injections
  • XPath Injections


Desktop apps






https://github.com/GeekTrainer/Introduction-Programming-Python by Christopher Harrison, Program Manager at Microsoft Cloud & AI.

KodeKloud’s Q&A about the Python Entry Level Programmer Certification and Certified Associate in Python Programming

More on Python

This is one of a series about Python:

  1. Python install on MacOS
  2. Python install on MacOS using Pyenv
  3. Python install on Raspberry Pi for IoT

  4. Python tutorials
  5. Python Examples
  6. Python coding notes
  7. Pulumi controls cloud using Python, etc.
  8. Jupyter Notebooks provide commentary to Python

  9. Python certifications

  10. Test Python using Pytest BDD Selenium framework
  11. Test Python using Robot testing framework
  12. Testing AI uses Python code

  13. Microsoft Azure Machine Learning makes use of Python

  14. Python REST API programming using the Flask library
  15. Python coding for AWS Lambda Serverless programming
  16. Streamlit visualization framework powered by Python
  17. Web scraping using Scrapy, powered by Python
  18. Neo4j graph databases accessed from Python