Who will teach you to code in Python?
Overview
- Python Official documentation
- Python Foundation
- Python For Aerospace
- Mind maps
- Harvard CS50 on YouTube
- Python Foundations
- Coursera.com University Courses
- Edx.org University Courses
- Free Tutorials about Python
- AWS
- Azure
- Universities:
- EarSketch
- Others
- Paid Tutorials about Python
- O’Reilly
- Tutorials
- Brilliant.com
- YouTube
- Challenges
- Secure coding
- Community
- Desktop apps
- API
- Stephen Gruppetta
- References
- Pragmatic Works Training
- KodeKloud Lydia Hallie
- HPI by
- MIT Intro to CS & Python
- CISCO
- Others
- Backend Ideas
- Pydantic data validation
- Surf.new
- References
- Berkeley’s BJC
- US University Courses
- Azure cloud
- Tutorials
- More on Python
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)
- if, for, range(), break, else, pass, match,
- functions: parameters, arguments
- 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)
- Search path, Standard modules, dir() function
- Packages
- 10. Standard Library
- 11.5 Logging
- Strings, format(),
- Reading and writing files: json
- 11.1. Output Formatting
Qt GUI programming
mobile app
Python Foundation
Official FREE 42-hour online course to prepare for Python certification exams 2-course series:
- Python Essentials - Part 1 (Basics) for the
To prepare for the $71 with practice test
PCEP-30-02: Certified Entry-Level Python Programmer certification
- Introduction to Python and computer programming
- Data types, variables, basic input-output operations, and basic operators;
- Boolean values, conditional execution, loops, lists and list processing, logical and bitwise operations;
- Functions, tuples, dictionaries, exceptions, and data processing.
- Python Essentials - Part 2 (Intermediate) in a
PCAP-31-03: Certified Associate in Python Programming certification
- Modules, packages, and PIP
- Strings, String and List Methods, Exceptions
- Object-Oriented Programming
-
PCPP1 – Certified Professional in Python Programming 1 (Exam PCPP-32-10x)
- PCPP2 – Certified Professional in Python Programming 2 (Exam PCPP-32-20x)
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
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:
- Strings (“Goodnight Moon”) using DALL-E. Unlike C code (which need data type), Python code indent.
- Loops
- Dictionaries
- Libraries
- CSV files
- File I/O using import csv and from csv import DictReader using reader iterable.
- set() data structure automatically filters out duplicates
- global declarations cannot be changed within functions. Avoid them.
- Constants
- Type Hints, mypy
- Docstrings
- argparse
- Unpacking
- map
- List Comprehensions
- filter
- Dictionary Comprehensions
- enumerate
- Generators, Iterators, yield
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)
- Conditionals
- Loops
- Exceptions
- Libraries
- Unit Tests
- File I/O
- Regular Expressions
- Object-Oriented Programming
- 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
- Introduction to Python and computer programming
- Data types, variables, basic input-output operations, and basic operators;
- Boolean values, conditional execution, loops, lists and list processing, logical and bitwise operations;
- Functions, tuples, dictionaries, exceptions, and data processing.
- Python Essentials - Part 2 (Intermediate) in a
PCAP-31-03: Certified Associate in Python Programming certification
- Modules, packages, and PIP
- Strings, String and List Methods, Exceptions
- 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.
- 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.
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.
- 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
Universities:
MIT
YouTube Playlist: MIT 6.100L Introduction to CS and Programming using Python, Fall 2022 by Ana Bell using Jupyter
- Introduction to CS and Programming Using Python ***
- Strings, Input/Output, and Branching ***
- Iteration ***
- Loops over Strings, Guess-and-Check, and Binary ***
- Floats and Approximation Methods ***
- Bisection Search (FIXED) ***
- Decomposition, Abstraction, and Functions ***
- Functions as Objects ***
- Lambda Functions, Tuples, and Lists ***
- Lists and Mutability (FIXED) ***
-
Aliasing and Cloning
- List Comprehension, Functions as Objects, Testing, and Debugging (FIXED) ***
- Exceptions and Assertions ***
- Dictionaries ***
- Recursion
-
Recursion on Non-numerics ***
- Python Classes
- More Python Class Methods
- Inheritance
-
Fitness Tracker Object-Oriented Programming Example
- Timing Programs and Counting Operations
- Big Oh and Theta ***
- Complexity Classes Examples
- Sorting Algorithms ***
- Plotting
- 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:
- 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
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:
-
“Exploring Programming with Python” is the Lightweight version of CS1 - same interactive fun as CS1, smaller curriculum. 4 UNITS for Out of school programs, Middle school, Camps
-
“CS1: Introduction to Programming with Python” is CMU’s Flagship Course - A robust introduction to programming through graphics and animations. 12 UNITS for 8th + 9th grade, High school with No prior CS Academy experience required.
-
“15-111: College Programming and Computer Science” - 4 University Credits for a full-year honors-level course in programming and computer science. For Advanced students with math skills and at least one prior programming course required. For those looking for college credit, available with $200 exam completion. PDF
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.
-
CLick “Create/Reset Account” at:
https://earsketch.gatech.edu/earsketch2/#
-
Sign up
https://www.teachers.earsketch.org/
-
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
- Fundamentals
- Abstractions
- 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
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.
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
GraderThan.com
By Harris Williams
Before attending these webinars, create your Grader Than Account and Python Based Grader Than Workspace.
- Basics (April 6, 2023) 33:45 referencing 010_variables.ipynb (Jupyter Notebook)
- Assign data to variables.
- Print text to the console.
- Develop an application that accepts user input and assigns it to a variable.
- If Statements (April 13, 2023) referencing 020_logic.ipynb
- Create logical expressions.
- Use logical expressions in if-statements to branch your code.
- Use elif/else statements to complete your logical blocks.
- Loops (April 20, 2023) referencing 03_loops_notebooks.zip
- Create a for-loop.
- Create a while-loop.
- Use loops to create a Read Event Print Loop (REPL).
- Functions (April 27, 2023) referencing 040_functions.ipynb
- Write your own function.
- Specify default functional arguments.
- Call your own functions.
- Data Structures (May 4, 2023) referencing data_structures_notebooks.zip containing 050_lists_and_tuples.ipynb, 051_sets.ipynb, 052_dictionaries.ipynb
- Work with tuples
- Work with lists
- Work with dictionaries
- Text File IO (May 10, 2023) referencing notebooks.zip containing 060_writing_files.ipynb & 061_reading_files.ipynb
- Understand basic file system concepts
- Write text to a file
- Read text from a file
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/
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
-
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.
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”
- List houses.append objects, print(type(houses)),
- Creating classes
- Methods
- Interaction between classes
- Inheritance
- 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
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
“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)
- Python Introduction
- Data Analysis and Visualization
- Data Cleaning
- The Command Line
- Working with Data Sources Using SQL
- APIs and Web Scraping in Python
- Probability and Statistics
- Machine Learning In Python
- Deep Learning in Python
- 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
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)
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:
- Arrays & Strings
- Hashmaps & Sets
- Pointers
- Stacks
- Linked Lists
- Binary Search
- Sliding Window
- Trees
- Heaps
- Recursive Backtracking
- Graphs
- 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:
- Password managers
- Git
- Shells and Terminal
- Basic Python
- Object Oriented Programming
- Functional Programming
- Golang
- Rust?
- Algorithms
- Data Structures
- Memory Management
-
SQL
- HTTPS clients & CIA Cybersecurity
- JavaScript & Node.js
- File Servers and CDNs
- HTTP Servers
- Docker
- CI/CD
- Kubernetes
- Pub/Sub
- 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
- Python Programming Fundamentals 24 hours
- Introduction to Python 4 hours
- Python basics 3 hours
- Functions and modules 5 hours
- Data structures in Python 4 hours
- Error handling and debugging 3 hours
- Testing basics & version control 4 hours
- Data Analysis and Visualization with Python 20 hours
- Automation and Scripting with Python 26 hours
- Introduction to automation, Crontab, Selenium PyAutoGUI
- Basic automation scripts,
- 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.
- Optimization and scaling, focuses on optimizing and scaling automation scripts for improved performance and handling larger, more complex tasks.
- Git collaboration: Essential skills for a team environment
- Web Development with Python 22 hours
- Advanced Python Development Techniques 21 hours March 3
- 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:
- Global Impact of Computing
- [BJC.3x] Saving the World with Computing
- [BJC.4x] Human Computer Interaction
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.
- 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>"
- LOG IN
az login --service-principal --username APPLICATION_ID --password PASSWORD --tenant TENANT_ID --allow-no-subscriptions
-
Do something
- 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:
- 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