awesome-python-in-education
by quobit
A curated list about Python in Education
![]()
- stars
- 854
- forks
- 151
- watching
- 44
- awesome lists
- 4
- entries
- 443
What's in the list
443 links in 48 sections, with live GitHub stats.activeno commit in 2y
Contents / Reference and forums
Contents / Interactive environments
- From Blocks to Code with Trinket!
(more resources included in )
- Python for Everybody
Trinket.io interactive book
- How to Think Like a Computer Scientist
(more resources included in )
- BlockPy
web-based Python environment that lets you work with blocks, text, or both
- Edublocks
Making the transition from Scratch to Python easier
Python Lectures
IPython Notebooks to learn Python
- Code the blocks
interactive playground for learning how to code
- Pythonpad.js
programming environment for tiny Python 3 projects, that can be embedded in web pages (using )
Contents / MOOCs
Python curriculum outline
Curriculum outline at FreeCodeCamp.com GitHub issue
Contents / Introductions and Tutorials
- Beginning Python
- - - 4 courses from the archived O'Reilly School of Technology
- Testing and Continuous Integration with Python
a tutorial from the Software Carpentry
- Try Python
a free course from Code School
Python Synopsis
Python study guide
- Python Fundamentals I & II
two 20h free courses from Rithm School
- Asyncio in Python
collection of tutorials about Asyncio in Python
- Dead Simple Python
from beginners to python (not programming)
- Learn Python
Introduction and Intermediate Python, recorded for Frontend Masters by Nina Zakharenko
The Cracking Python Bootcamp
Learn How to Code in Python in 12 Weeks By Building Fun Real World Projects
Ultimate Python
study guide for newcomers and professionals alike
Contents / Data Science
- A Whirlwind Tour of Python
and the behind
Python Data Science Handbook
complete book in Jupyter Notebook format
- Python Level 1
free course at Kaggle
Exercises and Games
Norvig's pytudes
Python programs for perfecting programming skills
- Python Datasets: The Collection of Really Great, Interesting, Situated Datasets
(visit for raw formats)
- futurecoder
interactive beginner exercises -
- DevProjects - Python Projects
Learn programming with curated Python projects
Reference and forums / Python suitability for education
- CP4E
by Guido van Rossum
- Python in Education: Teach, Learn, Program
free e-book on why Python is well suited for education by Nicholas Tollervey
- 'Think Python like a Computer Scientist' book Foreword
by David Beazley
- Why I push for Python
by Lorena Barba
- Why Python is a Great First Language
by Elliott Hauser (Trinket CEO)
- Python is Now the Most Popular Introductory Teaching Language at Top U.S. Universities
by Philip Guo (Communications of the ACM)
- Why Learn Python? Here Are 8 Data-Driven Reasons
by Elena Ruchko
- [Level 1] Programming: Python
Archived version
Reference and forums / Reference
- PyMOTW3
Python Module Of The Week
- Tutorial - Learn Python in 10 minutes
but don't forget to
- CheckiO Python blog
curated Python articles
- A Sheet of Python
: direct access to the
- Python 3 Cheat Sheet
(PDF)
Python Reference
useful functions, tutorials, and other Python-related things
Pythonidae
curated decibans of scientific programming resources in Python
- Python Patterns
by Brandon Rhodes ( )
python-patterns
a collection of design patterns/idioms in Python
- The Little Book of Python Anti-Patterns
small book of Python anti-patterns and worst practices
- Python IAQ: Infrequently Answered Questions
by Peter Norvig
Python Code Disasters
more anti-patterns
What the f*ck Python?
A collection of interesting and tricky Python examples
- Python Lessons
6 lessons from teachwithict
AIAMA Python implementation
Python implementation of algorithms from Russell And Norvig's "Artificial Intelligence - A Modern Approach"
- PyFormat
Using % and .format() for great good!
- ugo_py_doc
a Python documentation website
- The 35 Words You Need to Python
The core vocabulary of Python you actually need to know to start to do meaningful work
Reference and forums / Mailing lists
- Python EDU-SIG
Python.org subsite
- Python EDU-SIG
Special Interest Group mailing list
- Python EDU-WG
Working Group mailing list
- Tutor
(mailing list) Discussion for learning programming with Python
- Python-list
General discussion list for the Python programming language (mailing list)
- jupyter-education
Teaching with Jupyter Notebooks mailing list
Reference and forums / Forums
- 'python' tag
StackOverflow: -
- r/Python
reddit: - - -
Tools and Libraries
- Your Python Trinket
Put Interactive Python Anywhere on the Web
- Python Tutor
Visualize the execution of Python programs
Livepython
Visually trace Python code in real-time (alpha stage)
- Skulpt
Skulpt is an entirely in-browser implementation of Python 2.X (!)
- SoloLearn Python 3 Tutorial
mobile version
- kite
programming copilot
- EarSketch
learn to code by making music
- FoxDot
Live Coding Music with Python & SuperCollider
- Ren'Py
a visual novel engine
ColorZero
Another color manipulation library for Python
LogZero
Robust and effective logging
NetworkZero
Make it easy for learning groups to use simple networking in Python
Tools and Libraries / Games, graphics and simulation
Jupylet
Create 2D and 3D games, graphics, live music and sound synthesizers, interactively in a Jupyter notebook
- Pygame Zero
for creating games without boilerplate
- Pyglet
a pure python cross-platform application framework intended for game development
- PythonTurtle
A learning environment for Python programming suitable for beginners and children, inspired by Logo. Easy installer for Windows so it could be installed by children on computers without internet access
- VPython
3D programming
- Pymunk
2D physics library
PyPhysicsSandbox
a simple wrapper around Pymunk
- Kivy
innovative user interfaces, such as multi-touch apps
PyQT 15 minute apps
15 minute (small) desktop apps built with PyQt
- PyQt5 tutorial
Create GUI applications with Python
- Panda3D
game engine and framework for 3D rendering
- Ursina Engine
game engine based on Panda3D but really easy-to-use. Great for beginners in 3D game coding
- gui zero
to allow children to quickly and easily create GUIs for their programs
- Free Python Games
collection of free Python games intended for education and fun
Angry Birds in Python
using pygame and pymunk
Jappy
the app powering the collaborative coding platform
- Predigame
instructional platform that teaches the basics of coding through the creation of arcade games
- ThorPy
A GUI library for pygame
sc8pr
A simple framework for new and experienced Python programmers to create animations, games, and other graphics-based programs
pyxel
A retro game development environment in Python
PySimpleGUI
Super-simple GUI to use... Powerfully customizable
- evennia
library and toolkit for building multi-player online text games
adventurelib
easy text adventures
PythonStdioGames
A compilation of text-based games written in Python that only use "standard i/o"
PyperCard
HyperCard inspired GUI framework for beginner developers in Python ( )
PyComic
A static website for generating Pythonic comics
Tools and Libraries / Visualization
- Bokeh
an interactive visualization library that targets modern web browsers for presentation
- VisPy
library for interactive scientific visualization that is designed to be fast, scalable, and easy to use
- Python Graph Gallery
showcase hundreds of charts, always providing the reproducible python code
Tools and Libraries / Jupyter
Awesome Jupyter
A curated list of awesome Jupyter projects, libraries and resources
Tools and Libraries / Jupyter / Project Jupyter
- github.com/jupyter4edu
best practices and content for teaching with Jupyter notebooks
Tools and Libraries / Jupyter / Project Jupyter / github.com/jupyter4edu
jupyter4edu/jupyter-edu-book
open source of the "Teaching and Learning with Jupyter" book
Tools and Libraries / Jupyter / Project Jupyter / github.com/jupyter4edu / jupyter4edu/jupyter-edu-book
- https://jupyter4edu.github.io/jupyter-edu-book/
"Teaching and Learning with Jupyter" book
Tools and Libraries / Jupyter / Project Jupyter
Tools and Libraries / Jupyter
jupyterhub/JupyterHub
multi-user server for Jupyter notebooks
Tools and Libraries / Jupyter / jupyterhub/JupyterHub
- Zero to JupyterHub
documentation for setting up a multi-user JupyterHub server
- TLJH: The Littlest JupyterHub
documentation for "a simple JupyterHub distribution for a small (0-100) number of users on a single server"
jupyterhub-deploy-teaching
reference deployment of JupyterHub and nbgrader on a single server
Tools and Libraries / Jupyter
jupyterlab/JupyterLab
rewrite of Jupyter Notebook with tabs, extensions, command list
Tools and Libraries / Jupyter / jupyterlab/JupyterLab
Tools and Libraries / Jupyter
- mybinder.org
"Binder": generate a container from a git repository (or a DOI) with repo2docker and run it in the cloud
Tools and Libraries / Jupyter / mybinder.org
jupyterhub/binderhub
BinderHub is the application that powers (on k8s)
jupyter/repo2docker
generate Jupyter-enabled Docker Images from repositories
- github.com/binder-examples
examples of Binder-ready (REES-compatible) Jupyter notebooks
- REES: Reproducible Execution Environment Specification
specification that repo2docker uses to build a container image for a given project and its dependencies
- REES Config files
requirements.txt, environment.yml, Pipfile.lock, postBuild, Dockerfile
Tools and Libraries / Jupyter
jupyter/nbgrader
nbgrader is a tool that facilitates creating and grading assignments in the Jupyter notebook
Tools and Libraries / Jupyter / jupyter/nbgrader
- nbgrader docs
docs for the nbgrader tool
jupyterhub/jupyterhub-deploy-teaching
reference deployment of JupyterHub and nbgrader on a single server
Tools and Libraries / Jupyter
jupyterlab/jupyterlab-google-drive
Google Drive for JupyterLab (see also: Google Colab)
jupyterlab/debugger
a JupyterLab debugger extension for debugging code in notebook cells
Tools and Libraries / Hosted Jupyter notebooks
- CoCalc
Jupyter notebook environment with Course Management, Handouts, Assignments, nbgrader, Time Travel history, chat
- Google Colab
Jupyter notebook environment for machine learning education and research (requires no setup to use)
- IllumiDesk
Jupyter notebook environment with LMS integration via LTI 1.1/1.3
Tools and Libraries / Jupyter Tools
fastpages
static/JAMstack blogging platform with support for Jupyter notebooks
hugo-academic
static/JAMstack website builder with support for Jupyter notebooks
ipytest
run py.test tests within the notebook environment
jupyter-edx-colab-cloud-xblock
launch Google Colab notebooks from within an Open edX XBlock
jupyter-edx-grader-xblock
auto-grade assignments with nbgrader and post the scores to an Open edX gradebook
jupyter-themes
Custom Jupyter Notebook Themes
jupyter-viewer-xblock
view Jupyter notebooks in an Open edX XBlock
jupytext
Jupyter Notebooks as Markdown, Julia, Python, or R scripts (that [auto-]save to the configured paired formats)
lolviz
data-structure visualization tool for lists of lists, lists, dictionaries
nbTranslate
translate cells of a notebook from one language to another - Adds multi language support
nbautoeval
creating auto-evaluated exercises
- nbconvert
convert Notebooks to other formats
nbdev
export, sync, and document notebook cells to and from regular python modules
- nbdime
diffing and merging of Jupyter Notebooks
nbgallery
platform for sharing and collaborating on Jupyter notebooks
- nbinteract
creates interactive webpages from Jupyter notebooks
nbscan
search for and print contents of cells in Jupyter notebooks
- nbsphinx
Sphinx extension for publishing Jupyter Notebooks as static/JAMstack websites
nbtranslate
translate content of Jupyter notebook using gettext tools
nbtutor
visualize Python code execution (line-by-line)
nbval
Py.test plugin for validating Jupyter notebooks
notedown
Convert IPython Notebooks to markdown (and back)
- pixiedebugger
The Visual Python Debugger for Jupyter Notebooks You’ve Always Wanted
pynb
Jupyter Notebooks as plain Python code with embedded Markdown text
rst2ipynb
convert standalone reStructuredText files to Jupyter notebook file
sphinxcontrib-jupyter
A Sphinx Extension for Generating Jupyter Notebooks
Tools and Libraries / Jupyter resources
LTI Launch JupyterHub Authenticator
Implements LTI v1 authenticator for use with JupyterHub
Tools and Libraries / IDEs
- Thonny
Python IDE for beginners
- VIM
with
- Emacs
with
- Sublime Text 3
with
- PyCharm Edu
With
Spyder
The Scientific PYthon Development EnviRonment
- PyDev
a Python IDE for Eclipse, which may be used in Python, Jython and IronPython development
- Mu
a simple Python editor for beginner programmers
- Rodeo
A Native Python IDE for Data Science
Turing
Free and cross-platform IDE for pseudocode and Python
PyScripter
a feature-rich but lightweight Python IDE
- Pyzo
computing environment that plays well with conda
Tools and Libraries / Debuggers
pdb++
a drop-in replacement for pdb
- Python Linter Online
Live Syntax Checking Using Pylint while Running Python
PyTA
static code analysis to help students find and fix common coding errors
- coala
linting and fixing code
wdb
An improbable web debugger through WebSockets
QuantifiedCode
a code analyis & automation platform
birdseye
graphical Python debugger using the AST
Hunter
a flexible code tracing toolkit
Conferences and videos
- Taking Your Python Skills to the Next Level With Pythonic Code
5 powerful Pythonic concepts and over 45 minutes of video examples
- Weekly Python Chat
Weekly live video chats about Python, teaching, open source, and more
- PyCon Australia 2015 Education Miniconf
(youtube playlist)
- Python Education Summit Schedule
(PyCon 2016)
- A one-day mini-conference about Python in Education
(PyConUK 2016)
- Python Programming in one video
Derek Banas playlist
- Teaching Python: The Hard Parts
PyCon 2016
- TheNewBoston Python 3 videotutorials
also and others on
Books
- Composing Programs
based on SICP textbook
- PythonBooks
categorized Python books
Books / Coding Club books
- Coding Cards
[PDF]
Books / Green Tea Press
Books / Invent with Python series
- Hacking Secret Ciphers with Python
-> 2nd ed:
Books / Manning Publications
- Hello Raspberry Pi!
Python programming for kids and other beginners
- Grokking Algorithms
An illustrated guide for programmers and other curious people
- Practices of the Python Pro
Professional software development principles and best practices for beginning developers
- The Well-Grounded Python Developer
Helping programmers who know Python become and think like developers
- Tiny Python Projects
An introduction to Python fundamentals through puzzles and games
- Publishing Python Packages
Book that reveals best practices and standards for packaging your Python code in an easy, automated, and scalable way
Books / No Starch Press
Books / O'Reilly
Books / Packt Pub
Hardware
Hardware / Raspberry Pi
Hardware / Arduino
Hardware / BBC microbit
Hardware / PyBoard
Hardware / ESP32
Hardware / Adafruit CircuitPython
CircuitPython
a MicroPython fork for teaching coding with microcontrollers
Awesome CircuitPython
A curated list of awesome CircuitPython guides, videos, libraries, frameworks, software and resources
Nothing in this list matches your filter.
Featured in 4 awesome lists
Each link jumps to the spot where the list mentions awesome-python-in-education.