Python 在教育方面的资源列表中文版

4,298 阅读22分钟
原文链接: github.com

Python教育方面的资源列表

有许多方式为本项目提交贡献. 你可以从这儿开始.

当前资源的遵循的协议是CC0.

ps: 本列表翻译自awesome-python-in-education,翻译的内容更新到此次提交,之后将定期与原项目同步

Awesome-XXX 是GitHub上知名的一组项目,其主页:Awesome 清单

近期我在关注编程在教育中的现状和资源,于是找到这份资源列表,其中许多项目我都在使用,对于我不熟悉的项目,我将亲手试用一遍,并给出我的评价和使用体验,也欢迎大家一起补充

目录

课程

交互式编程环境

慕课

介绍和教程

数据科学

练习和游戏

  • CheckiO - 用户可以通过编程(Python/JavaScript)来解决游戏中的各种任务,还可以与其他开发者玩编程逻辑游戏进行比赛,来交流编程技能、经验
  • CodeAbbey - 网站带有online judgement,让你在做题中进步
  • Empire of Code - 这是一个战略、战术和编码混合的空间游戏。尽管可以不使用编码技能来玩游戏,但是使用代码会给你带来优势
  • Project Euler - 一系列具有挑战性的数学/计算机编程问题
  • Exercism - 通过解决问题来学习编程的网站,支持丰富的编程语言(包括Python)
  • HackerRank Challenges - 又一个通过解决问题来学习编程的网站
  • PyBites - 一个基于pelican的博客,经常会更新一些小练习或是教程,颇似国内的一些Python公众号
  • Practice Python - 有笨方法学Python的味道
  • Python Challenge - 一个网页闯关游戏,通过一些提示找出下一关的网页地址,可玩性很强,尤其是和一起学习的伙伴看谁先顺着线索走下去,有探案的快感
  • Python for Fun - 对算法和计算机科学感兴趣的小伙伴可能会喜欢它,涉及比较多的算法
  • CodingBat - 来自斯坦福大学的一名计算机科学讲师的项目,包含很多练习
  • Reeborg's world - 通过代码操控指定的虚拟角色来学习
  • Python Koans - 通过TDD的方式来学习Python
  • Boston Python Puzzles - 通过解决一个个有趣的谜题来学习
  • Code & Conquer -
  • CodeCombat - 这是一个多人回合制策略游戏,在游戏中你可以用代码去创建你的人工智能
  • TeachCraft-Challenges - 用于教中学和高中生的基础编程知识.学生在minecraft可以调用他们在代码中编写的法术,互相战斗
  • Slice like a Ninja - 极简的闯关游戏
  • Python Datasets: The Collection of Really Great, Interesting, Situated Datasets - (visit CORGIS for raw formats) - 来自现实世界的许多数据集,可直接在python中使用
  • Interactive Coding Challenges - 使用Python来挑战算法和数据结构
  • Pyweek Programming Challenge - 你可以独自或者组团去参加挑战,挑战任务都非常有趣
  • CodingGame 让程序员通过解决世界上最具挑战性的问题,学习新概念
  • CodeFights 这个网站目标是让编程变得有趣,在游戏中学到东西

参考和论坛

Python在教育中的适用性

参考

邮件列表

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

论坛

工具与库

  • Your Python Trinket - 将交互式的python放到网络上的任何地方
  • Python Tutor - 可视化python代码的运行
  • Skulpt - Skulpt是一个完全基于浏览器的Python运行环境
  • SoloLearn Python 3 Tutorial - python3入门,可在移动端访问
  • Python Anywhere Python Anywhere是一个基于Python语言的在线集成开发环境(IDE)和Web托管服务
  • repl.it python3的线上IDE
  • Python AST Explorer python抽象语法树查看工具
  • kite - 一款让程序员编程更智能的开发工具
  • EarSketch - 通过创作音乐来学编程
  • Ren'Py - 视觉小说引擎,允许任何人高效地编写大型视觉小说.Ren'Py几乎支持所有视觉小说所应该具有的功能,包括分支故事、储存和载入游戏、回退到之前故事的储存点、多样性的场景转换等

游戏,图形与仿真

  • PyGame : 专为电子游戏设计。包含图像、声音。创建在SDL基础上,允许实时电子游戏研发而无需被低级语言,如C语言或是更低级的汇编语言束缚
  • Pygame Zero 一个脚手架,方便创建2D游戏
  • Python Arcade Library : 简单易学的一个2游戏框架
  • Pyglet - 一个纯python实现的跨平台游戏框架,没有额外的依赖包
  • Python Mode for Processing: Processing不仅仅是一种单一的语言,而是以艺术为导向的方法来学习,教学和编写代码
  • PythonTurtle : 通过移动屏幕上的Turtle(乌龟)来学编程,有悠久的历史,PythonTurtle是完全独立的,不需要Python
  • VPython - VPython可以轻松创建可导航的3D演示和动画
  • Pymunk - 2D 物理效果 library
  • PyPhysicsSandbox - 对 Pymunk的简单包装
  • Kivy - 用于开发采用自然用户界面的多点触控应用软件。它可以在Android,iOS,Linux,OS X和Windows执行
  • Panda3D - Panda3D 是一个游戏引擎,也是一个 3D 渲染和游戏开发框架
  • gui zero - 让孩子们能快速上手GUI编程

可视化

  • Bokeh : 使用现代web技术来进行大数据集的可视化展示的交互环境的Python包
  • VisPy : Vispy 是一个高性能的交互式 2D/3D 的数据可视化库。利用图形处理器 GPU 通过 OpenGL 库来显示非常大的数据集

Jupyter

IDEs

  • bpython:bpython是轻量级的Python解析器,同时包含了常见的IDE功能。功能包括语法高亮,预计参数列表、自动缩进和自动补全
  • ptpython 较ipython轻量,较bpython好用,有许多贴心的操作细节
  • Thonny, Python IDE for beginners : 适用初学者的Python IDE (Thonny内置了Python 3.6),轻松地安装第三方软件包
  • VIM with Python plugins : Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器(ps:我平时主要用VIM)
  • Emacs with Python plugins : 具有强大的可扩展性,Emacs是黑客们关于编辑器之战的两大主角之一(另一个是VIM)
  • Sublime Text 3 with Python plugins:Sublime Text 是一套跨平台的文本编辑器,支持基于Python的插件,界面好看,对新手友好
  • PyCharm Edu - With some courses : -它提供了代码分析、图形化调试器,集成测试器、集成版本控制系统,并支持使用Django进行网页开发
  • Spyder - Spyder(前身为Pydee)是一个使用Python语言的开放源代码跨平台科学运算IDE。Spyder集成了NumPy,SciPy,Matplotlib与IPython等
  • Wingware Python IDE : 商业软件,调试器是类VC/eclipse
  • Ninja-IDE : NINJA-IDE是一款开源软件(GPLv3许可),是使用Python和Qt开发
  • PyDev : 该项目实现了一个功能强大的 Eclipse插件,用户可以完全利用 Eclipse 来进行 Python 应用程序的开发和调试
  • Visual Studio Code with Python plugins : Visual Studio Code 基于 Electron 开发,轻巧好用

调试器

  • pdb : pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等
  • ipdb:ipdb提供了自动补全
  • PuDB:它在终端里融合了一个迷你图形界面.有几个面板来追踪当前的本地变量,栈,和存在的断点
  • pdb++:扩展了pdb
  • Python Linter Online - 语法在线检查(在线运行)
  • PyTA - 帮助学生发现和修复常见的错误
  • coala - 发现与处理代码问题
  • wdb - 基于web的调试器(使用WebSockets)

会议与视频

书籍

ps:下边是一些出版社的书,我就不翻译了,如果有同学知道对应的中文版,欢迎pr

Coding Club books

Green Tea Press

Invent with Python series

Manning Publications

No Starch Press

O'Reilly

Packt Pub

硬件

  • Cozmo : 评价极高的一个机器人,有性格,有萌点。外形是一个小推土机,它拉着你一起玩游戏。它有一套完整的SDK,允许你通过编程来增强它

树莓派

Arduino

BBC microbit

  • The micro:bit Foundation:micro:bit是一块开放的开发板,允许运行代码,连接任何类型硬件。你可以利用BBC micro:bit实现任何酷炫的小发明,无论是机器人还是乐器.micro:bit拥有25个可显示消息的红色LED灯;有两个可编程按钮,也可以检测动作并且告知你动作进行的方向,同时它也可以通过低功耗蓝牙模块与其它设备或因特网互联。
  • BBC micro:bit MicroPython:micro:bit的文档

PyBoard

  • MicroPython : MicroPython是Python3的精简版实现,包括Python标准库的一个子集,运行在微控制器和约束环境下。目前支持基于32-bit的ARM处理器

ESP32