List of resources for Python education

There are many ways to submit contributions to this project. You can start here.

The protocol that the current resource follows is CC0.

Ps: This list is translated from awesome-python-in-education. The translated content is updated to this submission and will be synchronized with the original project periodically

Awesome-xxx is a well-known set of projects on GitHub, whose home page is the Awesome List

Recently, I have been paying attention to the status quo and resources of programming in education, so I found this resource list, many of which I have been using. For the projects I am not familiar with, I will try them out by myself, and give my comments and experience

directory

course

MOOC (Massive Open Online Courses)

  • Programming for Everyone (Getting Started with Python) – This course is an introduction to Python on Coursera. It has a 4.8 user rating
  • Introduction to Interactive Programming in Python (Part 1) – Part 1 of this course introduces you to the basic elements of programming (such as expressions, conditions, and functions), and then uses them to create simple interactive applications
  • Introduction to Interactive Programming in Python (Part 2) – In Part 2 of this course, you’ll learn more about programming elements (such as lists, dictionaries, and loops) and then use them to create things like blackjack games
  • Python Programming: A Concise Introduction – This course on Coursera will show you how to install Python and write and debug programs using the Spyder IDE (Integrated Development Environment) (Python3.x)
  • Introduction to Computer Science and Programming Using Python – EdX This course is an Introduction to Computer Science and Programming Using Python to solve real world analytical problems. It aims to help people who have no computer science or programming experience develop their computational thinking and write programs to solve practical problems
  • Learn to Program Using Python – EdX. Exercises in this course will be based on small tasks related to real-world problems.
  • CS For All: Introduction to Computer Science and Python Programming – Gain a broad understanding of the field of Computer Science through a variety of demonstrations and projects
  • Programming Basics: A course in Python-Udacity. In this introductory programming course, you will learn a skill that software engineers must master — object-oriented programming methods. You’ll write server-side code to store your favorite movies, including movie poster and trailer urls. This data is then presented as a web page, allowing visitors to review movies and watch trailers.
  • Python Codecademy – Codecademy is an online interactive site that offers free programming classes and lots of users doing exercises
  • CS 61A: The Structure and Interpretation of Computer Programs – CS 61 series is an introduction to Computer science, with special emphasis on looking at machines from The perspective of software and programmers. The schedule of this course will give you the feeling of being on campus
  • Python School – The Python School provides ICT(Information communication technology) teachers with a way to teach the knowledge and skills required for computer/computer science in schools.
  • Let’s all build a comprehensive Interactive Python curriculum together – A learning resource from FreeCodeCamp.com: Let’s build a comprehensive interactive Python course together

Data science

  • Notebooks of Python and the Jupyter Notebooks A Whirlwind Tour of Python and the Notebooks of Scikit-Learn Github has the source code
  • A Crash Course in Python for Scientists – This Course is taught by Jupyter Notebook
  • Intro to Python for Data Science – datacamp Intro to Python for Data Science – datacamp
  • Learning Python for Data Science – This is a list of resources for Learning Data Science
  • Introduction to Python for Data Science – This course at EDX will introduce you to the world of Data visualization through Python and create amazing visualizations based on actual Data
  • Programming with Python for Data Science – Use machine learning to do Data mining
  • Python Data Science Handbook – Python Data Science Handbook
  • Exploratory Computing with Python – (Jupyter Notebook) This series of notebooks is written for scientists and engineers who wish to use Python for Exploratory Computing, scripting, data analysis, and visualization
  • Data Carpentry: Python for Ecologists – These courses can be completed in one day (approximately 6 hours) and include Python syntax, use of Jupyter Notebook, importing CSV files, use of PANDAS, statistics and drawing
  • Plotting and Programming in Python – (python3/ Jupyter Notebook
  • Applied Plotting, Charting & Data Representation in Python-Coursera will introduce the basics of information visualization and use the Matplotlib library for Plotting
  • Using Python for Research – This course Bridges the gap between introductory and advanced Python courses and allows you to apply Python skills to your Research projects

Reference and Forum

reference

  • Official Python Documentation: Official Python documentation
  • Git repo: Python in Education – Git repo: Python in Education – Git repo: Python in Education – Git repo: Python in Education – Git repo
  • Google’s Python Class: Google’s Python Class
  • The Hitchhiker’s Guide to Python is an excellent resource that covers most programming topics and is good to take a look at every now and then
  • Tiny Python 3.6 Notebook: A booklet for quick syntax reference
  • First Steps With Python Start your Python journey by taking you hand in hand
  • PEP8 – Python Style Guide: Python coding Style Guide
  • The Elements of Python Style: How to write better code
  • PyMOTW3 – Tutorials on using built-in modules
  • Full Stack Python – (Best Python Resources) : A list of Python Full Stack resources and boot
  • Learn X in Y minutes where X=python3: Learn X in Y minutes
  • PyCrumbs – Bits and bytes of Python from the Internet: List of resources
  • EduPython – Use Blockly to generate Python and control Minecraft
  • A gallery of interesting IPython Notebooks – A summary of some interesting IPython Notebooks
  • CS1 Python Programming Projects Archive a course published under the Creative Commons protocol
  • Python cheatsheet Python cheatsheet
  • Crash Course – Cheat Sheets Python Crash Course – Cheat Sheets
  • Algorithms Implemented in Python (for Education)
  • Algorithms python implementation of Algorithms
  • Minimal examples of data structures and algorithms in Python
  • Awesome – Python – List of Python resources (awesome series)
  • Python GitHub Projects – List of Python resources
  • Pycrumbs – List of Python resources
  • Python Reference – A list of Python resources
  • Pythonidae – A convenient Python resource for scientific computation
  • Python-patterns – Python and Design Patterns (very comprehensive)
  • Python implementation of the common design pattern of PyPattyrn
  • Python 3 Patterns, Recipes and Idioms Common design Patterns for intermediate programmers
  • How to make mistakes in Python
  • A collection of best practices and anti-patterns for Python and popular Python frameworks
  • Python IAQ: Infrequently Answered Questions (By Peter Norvig)
  • Anti-patterns in Python Programming – Anti-patterns in Python Programming
  • DjangoGirls Introduction to Python Python tutorial in DjangoGirls project
  • Master in Python Pedagogy – Rendered version of Python teaching Practice
  • 29 Common Beginner Python errors on one page 29 Common Beginner Python errors on one page
  • Learn Python – Udacity Introduction to Pyhton on Udacity
  • Popular Python Recipes Some Popular code snippets
  • Transforming Code into Beautiful, Idiomatic Python – Some tricks to make Code more elegant
  • Improve your Python skills (Dan Bader’s Blog
  • Practical Business Python Some Python code used in real Business
  • Python Lessons – 6 Lessons from teachwithict

BBS

Tools and libraries

  • Your Python Trinket – Put interactive Python anywhere on the web
  • Python Tutor – Visualizes running Python code
  • Skulpt – Skulpt is a completely browser-based Python runtime environment
  • SoloLearn Python 3 tutorial-python3 Primer, accessible on mobile
  • Python Anywhere Python Anywhere is an online integrated development environment (IDE) and Web hosting service based on the Python language
  • Repl. It PYTHon3 online IDE
  • Python AST Explorer Python Abstract syntax tree viewing tool
  • Kite – a development tool that allows programmers to program smarter
  • EarSketch – Learn programming by creating music
  • Ren ‘py – Visual novel engine that allows anyone to write large visual novels efficiently. Ren’Py supports almost everything a visual novel should do, including branching stories, saving and loading games, retracting to previous story-storage points, and a variety of scene transitions

visualization

  • Bokeh: Python package for interactive environments that use modern Web techniques for visualization of large data sets
  • VisPy: VisPy is a high-performance interactive 2D/3D data visualization library. Using graphics processor GPU through OpenGL library to display very large data sets

IDEs

  • Bpython: BPython is a lightweight Python parser that includes common IDE features. Features include syntax highlighting, expected parameter lists, auto indentation, and auto completion
  • Ptpython is lighter than IPython and easier to use than BPython, with many thoughtful details
  • Thonny, Python IDE for Beginners: Python IDE for Beginners (Thonny comes with Python 3.6 built in), easy to install third party packages
  • VIM with Python plugins: VIM is a text editor developed from VI. Code completion, compilation, error jump and other convenient programming functions are particularly rich, widely used in programmers. Tied with Emacs as the most popular editor for Unix-like systems (PS: I mostly use VIM)
  • Emacs with Python plugins: With great extensibility, Emacs is one of the two main players in the hacker editor wars (the other is VIM).
  • Sublime Text 3 with Python Plugins :Sublime Text is a set of cross-platform Text editors that support Python-based plug-ins and have a nice, beginner friendly interface
  • PyCharm Edu – With some courses: – Provides code analysis, graphical debugger, integration tester, integrated version control system, and support for web development using Django
  • Spyder – Spyder (formerly Pydee) is an open source cross-platform IDE for scientific computing using the Python language. Spyder integrates NumPy, SciPy, Matplotlib and IPython
  • Wingware Python IDE: Commercial software, debugger is VC/ Eclipse like
  • Ninja-ide: Ninja-IDE is an open source software (GPLv3 license) developed using Python and Qt
  • PyDev: This project implements a powerful Eclipse plug-in that allows users to fully leverage Eclipse for Python application development and debugging
  • Visual Studio Code with Python Plugins: Visual Studio Code is lightweight and easy to use based on Electron

Meetings and Videos

books

Ps: Below are some books from publishing houses. I will not translate them. If you know the corresponding Chinese version, you are welcome to pr

Coding Club books

Green Tea Press

Invent with Python series

Manning Publications

No Starch Press

O’Reilly

Packt Pub

hardware

  • Cozmo: a highly rated robot with a personality and a little cuteness. The shape is a small bulldozer that pulls you to play the game. It has a full SDK that allows you to enhance it programmatically

Arduino

  • Arduino and Python(including serial communication)
  • Using Python with Arduino: A series of courses on Using Python to interact with Arduino

PyBoard

  • MicroPython: MicroPython is a stripped-down implementation of Python3, including a subset of the Python standard library, running under microcontrollers and constraints. Currently supports 32-bit ARM processors