Wilson Mar bio photo

Wilson Mar

Hello!

Calendar YouTube Github

LinkedIn

Who will teach you to code in Python?

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

Overview

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 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)
  1. Conditionals
  2. Loops
  3. Exceptions
  4. Libraries
  5. Unit Tests
  6. File I/O
  7. Regular Expressions
  8. Object-Oriented Programming
  9. 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.


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.

Become a Python Developer

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.

  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)

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

Google

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

http://sthurlow.com/python/

  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

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:

  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

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

OReilly.com

Brilliant.com

https://brilliant.org/courses/programming-python/

https://brilliant.org/courses/python-next-steps/

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

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

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:

  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