Who will teach you to code in Python?
Overview
- Python Official documentation
- Mind maps
- Harvard CS50P on YouTube
- Coursera.com University Courses
- Edx.org University Courses
- Free Tutorials about Python
- AWS
- Azure
- Paid Tutorials about Python
- O’Reilly
- Linux Academy
- Tutorials
- OReilly.com
- Brilliant.com
- Challenges
- Secure coding
- Community
- Desktop apps
- API
- References
- More on Python
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
from http://www.seleniumframework.com/python-course
Harvard CS50P on YouTube
This Harvard University’s CS50P: Introduction to Programming with Python - in a single 16-hour HD YouTube 2160p 4K video - 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:
-
Introduction https://cs50.dev/ explain highlighted code
-
0. Functions, Variables print()
https://docs.python.org/3/library/functions.html
print(*objects, sep=' ', end='\n', file=sys.stdout, flash=false)
- Conditionals
- Loops
- Exceptions
- Libraries
- Unit Tests
- File I/O
- Regular Expressions
- Object-Oriented Programming
- Et Cetera: sets to filter out duplicates.
Coursera.com University Courses
https://www.coursera.org/learn/python-data-processing Nanjing University Data Processing Using Python
https://www.coursera.org/learn/3d-modeling-rhinoscript University of Michigan Design Computing: 3D Modeling in Rhinoceros with Python/Rhinoscript
https://www.coursera.org/learn/problem-solving-programming-video-games University of Alberta Problem Solving, Python Programming, and Video Games
https://www.coursera.org/learn/python-statistics-financial-analysis Python and Statistics for Financial Analysis Instructor: Xuhu Wan of Hong Kong
https://www.coursera.org/learn/bioinformatics University of California San Diego Biology Meets Programming: Bioinformatics for Beginners - Python
Edx.org University Courses
Each video course on edx.org are $149 if you want assignments graded and long-term access (otherwise FREE).
“Statistical Learning” video course on edX.org by Stanford University professors Trevor Hastie and Rob Tibshirani and they are hilarious as a pair who have worked together for 30 years.
- Talk to them on the forum at stats.stackexchange.com
- For a 613-page pdf that accompanies the class, click on the link on their website: https://www.statlearning.com
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.reddit.com/r/Python/comments/1ls7vq/best_written_projects_on_python_github/
https://www.programiz.com/python-programming/examples
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.
- Why Program?
- Variables, expressions, and statements
- Conditional Execution
- Functions
- Loops and Iterations
- Strings
- Files
- Lists (Data)
- Dictionaries
- Tuples
- Regular Expressions
- Network Programming (Networked Programs)
- Using Web Services
- Object-Oriented Programming
- Databases
- Data Visualization? (using D3.js)
AWS
AWS has Boto3 library. https://www.youtube.com/watch?v=SmilJDG4B_8
Azure
Among CBTNuggets training for Azure is https://www.cbtnuggets.com/blog/new-skills/new-training-python3-with-the-azure-python-sdk 5 videos in 26 minutes of training created in May 2020 by Michael Levan
180+ Azure Python SDK libraries are open-sourced at https://azure.github.io/azure-sdk/releases/latest/python.html to provision, manage and use Azure resources from within your Python applications, whether they reside on the cloud or on-premise.
The Python packages from pipy and conda from https://aka.ms/azsdk/python/docs https://github.com/azure/azure-sdk-for-python/
There are two distinct types of libraries in the SDK:
- management libraries relate to the management plane of your infrastructure to provision and manage Azure resources
- client libraries relate to the data plane of your infrastructure to connect and use resources.
When using the SDK, develop your applications locally, then deploy them to the cloud. To configure your local development environment, install necessary components, such as Python and the Azure CLI, then configure authentication to the Azure resources to access.
Authenticating to Azure with Python azcli
Listing Virtual Machines with Python
Creating a Key Vault with Python
https://www.youtube.com/watch?v=xWLdzQNDrTg Introduction to Python SDK Azure: How to get list of resource groups and resources using Python https://github.com/wilsonmar/python-sdk-azure/blob/main/resourcegroup.py
https://www.youtube.com/watch?v=wAIZn6RDSJg
Jie Jenn has produced a vast series of videos spanning Python, SQL, Microsoft, Google, AI, Salesforce
https://developers.google.com/edu/python
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
https://developers.google.com/edu/python
Udacity video courses
Programming Foundations 6 week course include object-oriented programming
Steven Thurlow
- Installing Python
- Very Simple Programs
- Variables, and Programs in a Script
- Loops and Conditionals
- Functions
- Tuples, Lists, and Dictionaries
- The for loop
- Classes
- Importing Modules
- File I/O
- 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:
- Welcome
- Knowledge
- Machine Architecture
- Aspects of Languages
- A Notion of computation
- The Python programming language
- Some simple algorithms
- Testing and debugging
- An informal introduction to algorithmic complexity
- Data structures
Paid Tutorials about Python
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
Datacamp
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 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:
-
BOOK Python Tricks: A Buffet of Awesome Python Features
-
Dan Bader has emails and courses on Python: VIDEO: What Python Projects Should I Build to Get a Job?
- Tensorflow (for machine learning)
- Crawling (spider based projects, using Beautiful Soup)
- Database handling (firebase, Mysql, Neo4j etc.)
- Object-oriented programming with classes and their methods
- Cloud Python
O’Reilly
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.
Tutorials
-
Dive Into Python - a survey of Python syntax, datatypes, etc.
-
Think Python by Allen Downey - a good general overview of the Python language. Includes exercises.
-
Reserved Keywords in Python - don’t use these as variable names
-
PEP 8 - Style Guide for Python Code - learn what is good and bad style in Python
-
CheckIO - learn Python by exploring a game world
-
Invent with Python - develop your Python skills by making games or hacking ciphers
-
Codecademy.com - (note: for Python 2) learn Python by building web apps and manipulating data; interactive tutorial sequence
OReilly.com
-
Packt BOOK: Python for Geeks October 2021 references https://github.com/PacktPublishing/Python-for-Geeks
-
BOOK: Fluent Python August 2015. By Luciano Ramalho.
Brilliant.com
https://brilliant.org/courses/programming-python/
https://brilliant.org/courses/python-next-steps/
Challenges
-
Project Euler - programming challenges sorted by increasing difficulty
-
CodeCombat.com - “The most engaging way to learn computer science”
-
Python Challenge - a series of puzzles you can try to test your Python abilities
-
Coding Bat - problems you can solve within an online interpreter (Python and Java)
-
Codewars presents code (katas) that does not execute, to which you fix to run. This improves your skills by training on real code challenges.
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
FreeCodeCamp.org
Community
Desktop apps
pyz
py2app/py2exe
pyInstaller
API
From among FreeCodeCamp.org Python Back-end projects is 3-hr “APIs for Beginners 2023 - How to use an API “ by Craig Dennis.
“Swagger” refers to tools open-sourced by Tony Tam in 2011, but then licensed from SmartBear.
Since 2016, at Swagger 3.0, “OpenAPI” refers to the API specification defined & maintained by the OpenAPI initiative.
SmartBear’s licensed tools include SwaggerHub, Inspector.
SmartBear’s free tools include SwaggerUI, Swagger Editor, Swagger Codegen.
References
https://dev.to/sewinter/25-best-github-repos-for-python-developers-5419?utm_source=digest_mailer&utm_medium=email&utm_campaign=digest_email
https://github.com/GeekTrainer/Introduction-Programming-Python by Christopher Harrison, Program Manager at Microsoft Cloud & AI.
Learn Python With This ONE Project! by Tech With Tim
NVIDIA’s Fundamentals of Accelerated Computing with CUDA Python
- <a target=”_blank href=”https://courses.nvidia.com/courses/course-v1:DLI+C-AC-02+V1”>$90</a> self-paced
- DLI Instructor-Led when scheduled
- During conference on March 19, 2024.
The class covers use of Numba — the just-in-time, type-specializing Python in Jupyter to accelerate Python code by using NumPy CUDA universal functions (ufuncs) using GPU kernel memory management techniques, all within on massively parallel NVIDIA GPUs.
One student’s course GitHub:
- https://numba.readthedocs.io/en/stable/cuda/index.html
- https://www.kaggle.com/discussions/general/274291
Structure Module 1 – Introduction to CUDA Python with Numba [Notebook]
- Begin working with the Numba compiler and CUDA programming in Python.
- Use Numba decorators to GPU-accelerate numerical Python functions.
- Optimize host-to-device and device-to-host memory transfers.
Module 2 – Custom CUDA Kernels in Python with Numba [Notebook] - Learn CUDA’s parallel thread hierarchy and how to extend parallel program possibilities.
- Launch massively parallel custom CUDA kernels on the GPU.
- Utilize CUDA atomic operations to avoid race conditions during parallel execution.
Module 3 – Multidimensional Grids, and Shared Memory for CUDA Python with Numba [Notebook] - Learn multidimensional grid creation and how to work in parallel on 2D matrices.
- Leverage on-device shared memory to promote memory coalescing while reshaping 2D matrices.
@JIT notes that Numba is a Just-In-Time function.
https://www.nvidia.com/en-us/training/instructor-led-workshops/fundamentals-of-accelerated-computing-with-cuda-python/
https://learning.oreilly.com/library/view/learn-python-the/9780138270711/ Learn Python the Hard Way: A Deceptively Simple Introduction to the Terrifyingly Beautiful World of Computers and Data Science, 5th Edition Feb 2024 By Zed A. Shaw
More on Python
This is one of a series about Python:
- Python install on MacOS
- Python install on MacOS using Pyenv
- Python tutorials
- Python Examples
- Python coding notes
- Pulumi controls cloud using Python, etc.
- Test Python using Pytest BDD Selenium framework
- Test Python using Robot testing framework
- Python REST API programming using the Flask library
- Python coding for AWS Lambda Serverless programming
- Streamlit visualization framework powered by Python
- Web scraping using Scrapy, powered by Python
- Neo4j graph databases accessed from Python