Wilson Mar bio photo

Wilson Mar

Hello!

Calendar YouTube Github Acronyms

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

python-tutorials.png Here are the tutorials I’ve seen that teach Python programming.

See my tutorial for how I would teach introduction to Python in the ChatGPT age that portends unemployed programmers.

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/library/index.html is the official documentation and is designed to overwhelm with all the details.

https://docs.python.org/3/tutorial is the official tutorial by those who created the Python language. That’s the place to learn Python with no gaps.

Online environments: Google Colab, Menti

  • https://trinket.io/features/python3

4.10. Coding Style PEP8: scanner

  • docstrings

3. Using Python as a calculator:

  • Numbers, Text, Lists

11.8 Decimal Floating-Point Arithmetic:

  • decimal data type from import decimal
  • c.getcontext()
  • c.traps[FloatOperation] = True
  • getcontext().prec = 36 # user-defined precision
  • Decimal(1) / Decimal(7) # notice the title case.
  • Decimal(2).sqrt()
  • round(.70 * 1.05,2)

4. Control Flow Tools:

  • if, for, range(), break, else, pass, match,
  • functions: parameters, arguments

5. Data Structures

  • Lists: 11.7 Tools
  • Stacks, Queues, List Comprehensions
  • del
  • Tuples and Sequences, Sets, Dictionaries
  • Looping, Conditions

12. Virtual Environments and Packages

  • pip CLI command vs. Conda (miniconda)

6. Modules

7. Input and Output

8. Errors and Exceptions

9. Classes

Qt GUI programming

mobile app

Python Foundation

Official FREE 42-hour online course to prepare for Python certification exams 2-course series:

Python For Aerospace

Angelina Tsuboi makes use of Google Colab in her https://www.pythonforaerospace.com/ on https://www.youtube.com/watch?v=V4jXVrUJsfM Her code is at https://github.com/ANG13T/python-for-aerospace

Mind maps

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

Harvard CS50 on YouTube

There are several variations of Harvard’s CS50 virtual class. Offered by the energetic Dr. David J. Malan, offering a unique and immersive learning experience:

  • The CS50X overview
  • The CS50P - Introduction to Python

Within CS50X “CS50 2023 - Week 6 - Section” video:

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.

https://7451111251303.gumroad.com/l/rgtfex

  • 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.

Python Foundations

From the organization who write certification exams on Python, official FREE 42-hour online course to prepare for Python certification exams 2-course series:

  • Python Essentials - Part 1 (Basics) for the $71 with practice test PCEP-30-02: Certified Entry-Level Python Programmer certification
    1. Introduction to Python and computer programming
    2. Data types, variables, basic input-output operations, and basic operators;
    3. Boolean values, conditional execution, loops, lists and list processing, logical and bitwise operations;
    4. Functions, tuples, dictionaries, exceptions, and data processing.
  • Python Essentials - Part 2 (Intermediate) in a PCAP-31-03: Certified Associate in Python Programming certification
    1. Modules, packages, and PIP
    2. Strings, String and List Methods, Exceptions
    3. Object-Oriented Programming

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.

Most In-depth 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 ( dr-chuck.com) 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

Universities:

MIT

YouTube Playlist: MIT 6.100L Introduction to CS and Programming using Python, Fall 2022 by Ana Bell using Jupyter

  1. Introduction to CS and Programming Using Python ***
  2. Strings, Input/Output, and Branching ***
  3. Iteration ***
  4. Loops over Strings, Guess-and-Check, and Binary ***
  5. Floats and Approximation Methods ***
  6. Bisection Search (FIXED) ***
  7. Decomposition, Abstraction, and Functions ***
  8. Functions as Objects ***
  9. Lambda Functions, Tuples, and Lists ***
  10. Lists and Mutability (FIXED) ***
  11. Aliasing and Cloning

  12. List Comprehension, Functions as Objects, Testing, and Debugging (FIXED) ***
  13. Exceptions and Assertions ***
  14. Dictionaries ***
  15. Recursion
  16. Recursion on Non-numerics ***

  17. Python Classes
  18. More Python Class Methods
  19. Inheritance
  20. Fitness Tracker Object-Oriented Programming Example

  21. Timing Programs and Counting Operations
  22. Big Oh and Theta ***
  23. Complexity Classes Examples
  24. Sorting Algorithms ***
  25. Plotting
  26. List Access, Hashing, Simulations, and Wrap-Up

Previously, 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:

https://ocw.mit.edu/courses/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2011/ MIT OpenCourseWare - A Gentle Introduction to Programming Using Python

https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/ MIT OpenCourseWare - Intro to CS & Programming Using Python

CMU

Carnagie Mellon University’s (in Pittsburg) Computer Science Academy has free courses that enhances code.org curriculum:

CISCO Network Academy

Replit

https://firewalledreplit.com/learn/100-days-of-python/hub?enroll=success Tutorial - Replit’s “100 days of python”

https://firewalledreplit.com/@JudsonBirkel/Creating-Art-Using-Turtle-Python-Tutorial-Challenge Tutorial - Replit’s “Creating Art Using Turtle Python”

https://firewalledreplit.com/learn/mindjoy-python-turtle Tutorial - Replit’s “Code Art - Master the Basics” (uses Turtle Python)

https://firewalledreplit.com/@JudsonBirkel/Learn-steganography-in-Python-Tutorial#main.py Tutorial - Replit’s “Learn Stenography in Python”

EarSketch

The EarSketch platform was created by Georgia Tech to use Python to program sound and music.

  1. CLick “Create/Reset Account” at:

    https://earsketch.gatech.edu/earsketch2/#

  2. Sign up

    https://www.teachers.earsketch.org/

  3. Look at the CSP curriculum for lesson plans, slides, Activities worksheets, MiniTasks, Challenges, Summative Assessments, quizzes, mid-unit assessment, final unit assessment

    https://www.teachers.earsketch.org/computer-science-principles

    1. Fundamentals
    2. Abstractions
    3. Structures

Others

https://www.101computing.net/category/python-beginner/ Challenges - 101 Computing Python Beginner

https://wiingy.com/learn/python/ Wiingy - Wiingy Learn Python

https://runestone.academy/ns/books/published/fopp/index.html Runestone - Foundations of Python Programming Course

https://developers.google.com/edu/python Curriculum - Google For Education - 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:

  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.

Tutorials

GraderThan.com

By Harris Williams

Before attending these webinars, create your Grader Than Account and Python Based Grader Than Workspace.

  1. Basics (April 6, 2023) 33:45 referencing 010_variables.ipynb (Jupyter Notebook)
    1. Assign data to variables.
    2. Print text to the console.
    3. Develop an application that accepts user input and assigns it to a variable.

  2. If Statements (April 13, 2023) referencing 020_logic.ipynb
    1. Create logical expressions.
    2. Use logical expressions in if-statements to branch your code.
    3. Use elif/else statements to complete your logical blocks.

  3. Loops (April 20, 2023) referencing 03_loops_notebooks.zip
    1. Create a for-loop.
    2. Create a while-loop.
    3. Use loops to create a Read Event Print Loop (REPL).

  4. Functions (April 27, 2023) referencing 040_functions.ipynb
    1. Write your own function.
    2. Specify default functional arguments.
    3. Call your own functions.

  5. Data Structures (May 4, 2023) referencing data_structures_notebooks.zip containing 050_lists_and_tuples.ipynb, 051_sets.ipynb, 052_dictionaries.ipynb
    1. Work with tuples
    2. Work with lists
    3. Work with dictionaries

  6. Text File IO (May 10, 2023) referencing notebooks.zip containing 060_writing_files.ipynb & 061_reading_files.ipynb
    1. Understand basic file system concepts
    2. Write text to a file
    3. Read text from a file

OReilly.com

Brilliant.com

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

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

YouTube

https://www.youtube.com/watch?v=eWRfhZUzrAc Python for Beginners – Full Course [Programming Tutorial] on FreeCodeCamp.org

based on https://www.freecodecamp.org/news/the-python-handbook/ by Flavio Copes

Rock, Paper, Scissors Intro Project

  • (0:03:11) RPS - Variables and Functions
  • (0:09:07) RPS - Calling Functions
  • (0:12:31) RPS - Dictionaries
  • (0:15:28) RPS - User Input
  • (0:16:55) RPS - Libraries, Lists, Methods
  • (0:20:45) RPS - Function Arguments
  • (0:22:33) RPS - If Statements
  • (0:25:40) RPS - Concatenating Strings
  • (0:27:13) RPS - f-strings
  • (0:30:26) RPS - Else and Elif Statements
  • (0:33:37) RPS - Refactoring and Nested If
  • (0:38:37) RPS - Accessing Dictionary Values
  • (0:41:55) RPS - Testing Game

Fundamentals of Python

  • (0:43:52) Setup Python Locally
  • (0:47:47) Creating New Repl
  • (0:48:45) Variables
  • (0:51:21) Expressions and Statements
  • (0:52:38) Comments
  • (0:54:23) Data Types
  • (1:00:16) Operators
  • (1:00:44) Arithmetic Operators
  • (1:03:52) Comparison Operators
  • (1:05:13) Boolean Operators
  • (1:07:26) Bitwise Operators
  • (1:07:42) is & in Operators
  • (1:08:21) Ternary Operator
  • (1:09:40) Strings
  • (1:12:36) String Methods
  • (1:16:41) Escaping Characters
  • (1:19:23) String Characters & Slicing
  • (1:21:45) Booleans
  • (1:26:07) Number Data Types
  • (1:28:19) Built-in Functions
  • (1:29:50) Enums
  • (1:32:51) User Input
  • (1:34:39) Control Statements
  • (1:36:48) Lists
  • (1:46:21) Sorting Lists
  • (1:49:57) Tuples
  • (1:53:49) Dictionaries
  • (2:01:45) Sets
  • (2:06:10) Functions
  • (2:16:57) Variable Scope
  • (2:18:35) Nested Functions
  • (2:21:37) Closures
  • (2:22:59) Objects
  • (2:26:27) Loops
  • (2:32:01) Break and Continue
  • (2:33:02) Classes
  • (2:39:12) Modules
  • (2:45:55) Arguments from Command Line
  • (2:52:42) Lambda Functions
  • (2:54:51) Map, Filter, Reduce
  • (3:02:41) Recursion
  • (3:04:42) Decorators
  • (3:06:45) Docstrings
  • (3:09:54) Annotations
  • (3:11:30) Exceptions
  • (3:17:09) With
  • (3:18:26) Installing Packages with pip
  • (3:21:39) List Compression
  • (3:23:09) Polymorphism
  • (3:24:23) Operator Overloading

Blackjack Card Game Project

  • (3:26:58) Blackjack - Beginning
  • (3:50:13) Blackjack - Deck Class
  • (3:58:45) Blackjack - Card Class
  • (4:03:25) Blackjack - Hand Class
  • (4:21:13) Blackjack - Game Class
  • (4:37:04) Blackjack - Testing

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.

Stephen Gruppetta

https://www.linkedin.com/in/stephengruppetta/ He lives in Harpenden, England, United Kingdom stephengruppetta.com

$200 one-time ThePythonCodingPlace.com

The Python Coding Book is “a programming book that feels like a conversation with a friend who’s here to show you the ropes”.

His object-oriented programming “Magical Tour” makes use of Hogwarts fandom “School of Codecraft and Algorithmancy”

  1. List houses.append objects, print(type(houses)),
  2. Creating classes
  3. Methods
  4. Interaction between classes
  5. Inheritance
  6. Special Methods (Dunder methods)

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

https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-directory-file-acl-python?tabs=azure-ad Use Python to manage directories and files in Azure Data Lake Storage Gen2

1h 32m VIDEO: “Benchmarking, Profiling, and Optimizing Your Python Code: Easily Identify Bottlenecks and Efficiently Speed Up Your Python Code” by Coen de Groot It shows how to use the Python timeit for micro benchmarks, pytest.

“Parseltongue is the language of serpents and those who can converse with them. An individual who can speak Parseltongue is known as a Parselmouth. It is a very uncommon skill, and may be hereditary. Nearly all known Parselmouths are descended from Salazar Slytherin. – http://harrypotter.wikia.com/wiki/Parseltongue

https://github.com/gruns/icecream to never use print() to debug again

https://www.youtube.com/watch?v=WbNNESIxJnY&t=35s https://github.com/codingforentrepreneurs/SaaS-Foundations Django https://www.codingforentrepreneurs.com/blog/deploy-django-on-railway-with-this-dockerfile/ Neon database

https://www.udacity.com/enrollment/ud036 Programming Foundations with Python

https://pynative.com/python/ provides exercises and quizzes

https://www.w3schools.com/python/default.asp tutorial https://www.w3schools.com/python/python_reference.asp

https://app.dataquest.io/c/114/m/605/python-programming/1/learning-data-science?path=2&slug=data-scientist&version=1 https://app.dataquest.io/learning/path/data-scientist/v2-5/ Data Scientist in Python (38 courses)

  1. Python Introduction
  2. Data Analysis and Visualization
  3. Data Cleaning
  4. The Command Line
  5. Working with Data Sources Using SQL
  6. APIs and Web Scraping in Python
  7. Probability and Statistics
  8. Machine Learning In Python
  9. Deep Learning in Python
  10. Advanced Topics in Data Science

VIDEO 4h40m “Python for Beginners – Full Course [Programming Tutorial]” by Beau Carnes at freecodecamp. “The Python Handbook – Learn Python for Beginners” by Flavio Copes. Learn with just a browser using replit.com at https://join.replit.com/python-students Sample coding for: 💻 Rock, Paper, Scissors 💻 Blackjack

No longer available: The video course at LinuxAcademy by Keith Thompson references includes a practice exam.

Pragmatic Works Training

https://learning.pragmaticworkstraining.com/course/intro_to_python Ben Evans shows use of PyCharm IDE. Few quizzes.

  • Unit 1: Beginning in Computer Science
  • Exploring Careers in Computer Science
  • Unit 11: Internet
  • Source files in GitHub, Comments: header, inline
  • indentation vs. semicolon in C/Java
  • print(), exit() and debugging
  • GUI with tkinker [9B]: licensing
    • Titles, geometry, label, font, pack(pady), entry, button, Input string,
    • matplotlib Figure, dpi, canvas
    • password stored as salted hash
  • Debugging: communities
  • String operations: add, list, change, delete
    • Unit 8: Lists
    • Unit 9: 2D Lists
  • Unit 7: Functions & Modules Fibonacci
    • PT Modules: built-in, import Modules, Conda vs env
    • random()
  • Unit 2: Number Calculations and Data
  • Variables: Data Type https://www.youtube.com/watch?v=V4jXVrUJsfM&t=6m50s
    • Defensive programming: checking input
    • conversions: str(), num()
  • Iterables: Array Types: Lists, Tuples, Dictionaries
    • Unit 12: Dictionaries (Optional Extension)
  • Control Flow:
    • Unit 4: Repetition and Loops
  • Classes (objects) [5A] try loop exceptions
  • Loops:
    • Fibonacci: Recursion limit error [4B]
    • Infitie While [6A] for debugging: Break
    • for [6B] break, range()
    • Nested loops: LeetCode, memoization
    • Guessing game [6C] = Binary Search
    • Rock Paper Sizzors [6D]
  • File System: path, CSV: open() for rawx, close, read loop, print, write [8]
  • Unit 3: Making Decisions
  • Databases: built-in sqlite [9A] conn, CREATE TABLE, transaction protection
    • e.execute(“SELECT *”)
    • e.execute(“INSERT”)
    • Pandas vs. utilities
  • Unit 6: Graphics
  • Final Project: calculator [10A] Off scope:
  • Unit 5: Programming in EarSketch
  • Unit 10: Programming in EarSketch

KodeKloud Lydia Hallie

https://learn.kodekloud.com/user/courses/python-basics

https://learn.kodekloud.com/user/courses/d9f74b76-a361-40e8-9342-b49782bf2264 PCAP-31-03 - Python Certification Course

  • Control Flow - Conditional Blocks and Loops
  • Logic and Bit Operations
  • Lists
  • Functions
  • Dictionaries
  • Exceptions
  • Python Basics
  • Mock Exams

HPI by

October 2, 2024 - October 29, 2024 Berry Boessenkool at the Haz Plattner school in Germany http://open.hpi.de/courses/python2024 runs a course in German. It’s aimed at young people and shows how versatile Python is - from data analysis and system administration to artificial intelligence.

MIT Intro to CS & Python

MIT 6.100L Introduction to CS and Programming with Python https://www.youtube.com/watch?v=xAcTmDO6NTI&list=PLUl4u3cNGP62A-ynp6v6-LGBCzeH3VAQB

2) Strings, Input/Output, Branching 3) Iteration 4) Loops over Strings, Guess-and-Check, and Binary 5) Floats and Approximation Methods 6) Bisection Search 7) Decomposition, Abstraction, and Functions 8) Functions as Objects 9) Lambda Functions, Tuples, and Lists 10) Lists and Mutability 11) Aliasing and Cloning 12) List Comprehension, Functions as Objects, Testing, and Debugging 13) Exceptions and Assertions 14) Dictionaries 15) Recursion 16) Recursion on Non-numerics 17) Python Classes 18) More Python Class Methods 19) Inheritance 20) Fitness Tracker Object-Oriented Programming Examples 21) Timing Programs and Counting Operations 22) Big Oh and Theta 23) Complexity Classes Examples 24) Sorting Algorithms 25) Plotting 26) List Access, Hashing, Simulations, and Wrap-Up

CISCO

https://www.netacad.com/courses/programming/pcap-programming-essentials-python

PE1: Module 1. Introduction to Python and Computer Programming completed

  • 2.1.1 Your very first program
  • 2.1.2 The print() function
  • 2.1.3 Function arguments
  • 2.1.4 Function invocation
  • 2.1.5 LAB Working with the print() function
  • 2.1.6 The print() function and its effect, arguments, and values returned
  • 2.1.7 Instructions
  • 2.1.8 Python escape and newline characters
  • 2.1.9 Using multiple arguments
  • 2.1.10 Positional arguments
  • 2.1.11 Keyword arguments
  • 2.1.12 LAB The print() function and its arguments
  • 2.1.13 LAB Formatting the output
  • 2.1.14 SECTION SUMMARY
  • 2.1.15 SECTION QUIZ

PE1: Module 2. Python Data Types, Variables, Operators, and Basic I/O Operations

PE1: Module 3. Boolean Values, Conditional Execution, Loops, Lists and List Processing, Logical and Bitwise Operations

PE1: Module 4. Functions, Tuples, Dictionaries, Exceptions, and Data Processing

Others

A sample Python test by Certiport purchased by Pearsonvue. Python-ITS303-sample-test.docx

Paul Deitel

@PaluDeitel YouTube channel

Paul’s live class Intro to Python on OReilly.com references https://github.com/pdeitel/PythonFullThrottle

  • the online JupyterLab environment (explained at https://jupyterlab.readthedocs.io/en/latest/)
  • https://mybinder.org/v2/gh/pdeitel/PythonFullThrottle/master?urlpath=lab
  • Run as http://localhost:8888/lab to interact with notebooks downloaded on your local system after docker run -p 8888:8888 -it --user root -v \ $HOME/jupyter/scipy-notebook:latest start.sh jupyter lab (replace FULL_PATH_TO with the exact location on your system of the PythonFullThrottle folder containing my notebooks)

They run Python locally using the Anaconda Python Distribution (currently Python 3.8) from https://www.anaconda.com/distribution/

James Murphy @mCoding

mCoding.com by James Murphy on his mCoding YouTube channel referencing code on his GitHub

Jake Callahan

YouTube channel referencing https://github.com/JacobCallahan/Understanding/tree/master/Python

Andrew Mallet (theurbanpenguin)

YouTube channel

Luke Polson (Mr P Solver)

Luke Polson is a PhD candidate in medical physics at the University of British Columbia studying “medical imaging and tomographic image reconstruction”. He specializes on programming for “STEM” on his Mr. P Solver YouTube channel, which provides thorough step-by-step explanations showing what’s in his GitHub of Python .pynb code that runs in Jupyter. His “Python STEM Essentials” $60 course on Udemy adds exercises and projects on modeling.

Greg Hogg

Greg Hogg specializes on solutions to Leetcode challenges in Python, C, Java, and JavaScript at https://github.com/gahogg/Leetcode-Solutions/tree/main which he explains at https://www.youtube.com/@GregHogg

He offers “Master Data Structures & Algorithms” for FREE at AlgoMap.io which provides challenges but not solutions:

  1. Arrays & Strings
  2. Hashmaps & Sets
  3. Pointers
  4. Stacks
  5. Linked Lists
  6. Binary Search
  7. Sliding Window
  8. Trees
  9. Heaps
  10. Recursive Backtracking
  11. Graphs
  12. Dynamic Programming

He also offers “Learn Python, Data Science & AI” at partner site mlnow.ai

OReilly Live Training

Code for the O’Reilly Live Training, presented by Arianne Dee. https://github.com/ariannedee/python-data-structs

Boot.dev

https://www.boot.dev/tracks/backend content is free under guest mode:

  1. Password managers
  2. Git
  3. Shells and Terminal
  4. Basic Python
  5. Object Oriented Programming
  6. Functional Programming
  7. Golang
  8. Rust?
  9. Algorithms
  10. Data Structures
  11. Memory Management
  12. SQL

  13. HTTPS clients & CIA Cybersecurity
  14. JavaScript & Node.js
  15. File Servers and CDNs
  16. HTTP Servers
  17. Docker
  18. CI/CD
  19. Kubernetes
  20. Pub/Sub
  21. Cryptography

Build Projects:

  • Bookbot
  • Astroids
  • Static Site Generator
  • Maze Solver
  • Pokedex
  • Blog Aggregator
  • Capstone Project
  • Web Crawler

For AI mentor, gameification, solutions, certificates of completion, use code TRAVISMEDIA get 25% off your first payment of $348/year ($29/month). 30-day money-back guarantee.

Backend Ideas

Solomon Eseme created masteringbackend.com that lists ideas for backends (server) projects. Only a few provide Python.

They offer a free example project at https://github.com/backendcommunity/build-your-own-library-management-system It contains a README and a db.sqlite file that defines a Python SQLite database.

https://masteringbackend.com/community

Ajit Jaokar at Oxford University https://www.linkedin.com/pulse/easy-way-learn-python-using-chatgpt-ajit-jaokar-sd8ee/ “An easy way to learn Python using ChatGPT” in his LinkedIn blog provides a Python program that uses ChatGPT to generate a Python program that can be used to create a database. Part 2 is at https://www.linkedin.com/pulse/easy-way-learn-python-coding-using-chatgpt-part-two-ajit-jaokar-5kagf/

https://www.udemy.com/course/database-design-and-app-development-with-python-mysql/ Database Design and App development with Python + MySQL (2.5 hours) – Unlock the Power of Database-Driven Apps with MySQL and Python Integration

https://youtube.com/shorts/pFag4mBsO1I?si=f93ZOHnvq4TVuQP- “The most asked question ever” https://www.youtube.com/@GregHogg/shorts front for bootcamps MLNOW.ai and AlgoMap.io

https://learn.mongodb.com/learning-paths/mongodb-python-developer-path 15 hours free

Patrick Loeber, Dev Advocate at AssemblyAI in Berlin (on on YouTube & patloeber.com) https://www.youtube.com/watch?v=qWYx5neOh2s

Derek Comartin at CodeOpinion.com https://www.youtube.com/watch?v=Bxf_HMs7SeQ Just store UTC? Handling Time Zones & Daylight Saving

Pydantic data validation

The built-in dataclasses also provides type hints. But Pydantic is an external library adds Data Validation (sanitizing), JSON Serialization.

Used by HuggingFace/transformers, tiangolo/fastapi, hwchase17/langchain, apache/airflow

Pydantic enables type hints in IDEs.

Pydantic Crash Course:

  • https://www.youtube.com/watch?v=g-F3FubxHd0 ArjanCodes:
  • https://www.youtube.com/watch?v=Vj-iU-8_xLs
  • https://www.youtube.com/watch?v=502XOB0u8OY
  • https://www.youtube.com/watch?v=zN4VCb0LbQI
  • https://www.youtube.com/watch?v=qkxf583t4Vc returns Eric Roby
  • https://www.youtube.com/watch?v=7DSuYAt0OlE Pydantic Has Saved Me Countless Hours Of Debugging
  • https://www.youtube.com/watch?v=YKRqnWLZbpU I Stopped Using Everything Else Once I Found Pydantic Kennedy:
  • https://www.youtube.com/watch?v=aHv7-6WIxNM Carberra
  • https://www.youtube.com/watch?v=t6Cme1WTFCI John Watson Rooney
  • https://www.youtube.com/watch?v=i4jespFbA1c Jason Liu
  • https://www.youtube.com/watch?v=yj-wSRJwrrc “Pydantic is all you need”
  • https://www.youtube.com/watch?v=pZ4DIH2BVqg “Pydantic is still all you need”

Pydantic AI:

  • https://www.youtube.com/watch?v=UnH7S5044GA

Surf.new

https://www.youtube.com/watch?v=MieyLy_6N40

References

BOOK: https://www.cosmicpython.com/book/preface.html What’s the best way of structuring your application so that it’s easy to test?

https://www.youtube.com/watch?v=7kf1SACqlRw I was bad at Data Structures and Algorithms. Then I did this. by Andrew Codesmith who wrote book $27 How to not suck at LeetCode/DSA Guide

https://frontendmasters.com/courses/ “My Dev Setup is Better Than Yours”</a> by ThePrimeagen

Microsoft on Coursera

https://www.linkedin.com/pulse/microsofts-python-certificate-worth-stealth-startup-careers-xgtmf/

https://www.coursera.org/professional-certificates/microsoft-python-developer Microsoft Python Development Professional Certificate

  1. Python Programming Fundamentals 24 hours
    1. Introduction to Python 4 hours
    2. Python basics 3 hours
    3. Functions and modules 5 hours
    4. Data structures in Python 4 hours
    5. Error handling and debugging 3 hours
    6. Testing basics & version control 4 hours
  2. Data Analysis and Visualization with Python 20 hours
  3. Automation and Scripting with Python 26 hours
    1. Introduction to automation, Crontab, Selenium PyAutoGUI
    2. Basic automation scripts,
    3. Advanced automation techniques introduces you to more sophisticated automation techniques, focusing on application programming interface (API) interaction, integration with third-party services, and task scheduling. Learners will explore the world of APIs, learning how to use Python’s requests library to interact with REST APIs, handle authentication, and manage rate limits.
    4. Optimization and scaling, focuses on optimizing and scaling automation scripts for improved performance and handling larger, more complex tasks.
    5. Git collaboration: Essential skills for a team environment
  4. Web Development with Python 22 hours
  5. Advanced Python Development Techniques 21 hours March 3
  6. Project Development in Python 19 hours March 3

Berkeley’s BJC

“BJC” (Berkeley’s Joyful Computing) channel on Youtube hosts videos from EdX incorporating AP CSP content:

VIDEO: In 2014, Dan Garcia at the University of California at Berkeley renamed its introductory computer science course in 2014 from “Introduction to Symbolic Programming” to “Joy and Beauty of Computing.” That resulted in the first time the course ever had more women enrolled than men.

@cspbjc

  • BJC Sparks: Our middle school / early high school curriculum that teaches a functional approach to programming (https://bjc.berkeley.edu/sparks/)

BJC’s AP CS Principles: high school curriculum (https://bjc.edc.org/) as offered in Montana’s online, the one-semester “Computer Science” course covers the following topics:

  • Unit 1: Introduction to Programming
  • Unit 2: Simple Python Data
  • Unit 3: Debugging Interlude
  • Unit 4: Python Turtle Graphics
  • Unit 5: Python Modules
  • Unit 6: Functions
  • Unit 7: Selection
  • Unit 8: More About Iteration
  • Unit 9: Strings

https://bjc.edc.org/bjc-r/course/bjc4nyc_teacher.html

  • Unit 1 Teacher Guide: Introduction to Programming
  • Unit 2 Teacher Guide: Abstraction
  • Unit 3 Teacher Guide: Data Structures

  • Unit 4 Teacher Guide: How the Internet Works
  • Unit 5 Teacher Guide: Algorithms and Simulations
  • Unit 6 Teacher Guide: How Computers Work

  • Unit 7 Teacher Guide: Fractals and Recursion
  • Unit 8 Teacher Guide: Recursive Functions

https://bjc.berkeley.edu/summer-pd

US University Courses

Pace College within the University of Washigton has an online 8-month CERTIFICATE IN PYTHON PROGRAMMING for $4,194

Purdue has (with Simplearn) a
6-month online Professional Certificate In Data Science And Generative AI for $3,800.

Azure cloud

https://learn.microsoft.com/en-us/azure/developer/python/ Azure for Python Developers lists link to dev tools, SDK, Use ready-made AI services (face, speech, text, image, etc.), Python enterprise RAG chat sample

https://learn.microsoft.com/en-us/training/modules/authenticate-azure-deployment-pipeline-service-principals/?source=recommendations Authenticate your Azure deployment pipeline by using service principals

https://learn.microsoft.com/en-us/azure/developer/python/sdk/authentication/local-development-service-principal?tabs=azure-cli Authenticate Python apps to Azure services during local development using service principals Create separate app registrations for each developer working on the app.

AZ-SVC-PRIN-NAME="john-doe-prin-1"
az ad sp create-for-rbac --name "$AZ-SVC-PRIN-NAME"

The command also creates the app registration for the app at the same time. This creates separate application service principals for each developer to use during local development and avoid the need for developers to share credentials for a single application service principal.

   {
  "appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
  "displayName": "<service-principal-name>",
  "password": "Ee5Ff~6Gg7.-Hh8Ii9Jj0Kk1Ll2Mm3_Nn4Oo5Pp6",
  "tenant": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}

Create separate app registrations per app. This scopes the app’s permissions to only what is needed by the app.

az ad group create --display-name MyDisplay --mail-nickname MyDisplay --description "<group-description>"
  1. LOG IN
    az login --service-principal --username APPLICATION_ID --password PASSWORD --tenant TENANT_ID --allow-no-subscriptions
    
  2. Do something

  3. Log out
    az logout
    

Tutorials

FREE micropython-courses at sensemakersams.org in Amsterdam (the Netherlands) who reference upython_on_wokwi in their lessons:

https://www.zerotoknowing.com/pricing offers a $2,999 for 1-on-1 coaching calls with Josh at https://www.youtube.com/@codewithjoshoffical https://youware.ai

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