9714
Comment: correct verison of Python for one book
|
12313
Made list of interactive courses alphabetical. Added puzzle-based learning site resource.
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
Some of these books can be bought in hard copy, but are also available online for free. /* please keep this list alphabetized */ |
Each of these books can be purchased online and is also available as a completely free website. /* please keep this list alphabetized */ |
Line 8: | Line 7: |
* [[https://automatetheboringstuff.com/|Automate the Boring Stuff with Python - Practical Programming for Total Beginners]] by Al Sweigart, is "written for office workers, students, administrators, and anyone who uses a computer to learn how to code small, practical programs to automate tasks on their computer" (Python 3). * [[http://openbookproject.net/thinkcs/python/english2e/|How to Think Like a Computer Scientist (2nd ed.)]] by Elkner, Downey, and Meyers is an open-source book. (Python 2) * [[http://openbookproject.net/thinkcs/python/english3e/|How to Think Like a Computer Scientist - Learning with Python 3 (Rhodes Local Edition)]] by Wentworth, Elkner, Downey, and Meyers is an edition of ''How to Think Like a Computer Scientist'' for Python 3. * [[http://inventwithpython.com/pygame|Making Games with Python & Pygame]] by Al Sweigart (Python 3) introduces the Pygame framework for novices and intermediate programmers to make graphical games. The same author has written [[http://inventwithpython.com/bookshelf/|many other excellent free books]] |
* '''Automate the Boring Stuff with Python - Practical Programming for Total Beginners''' by ''Al Sweigart'' is "written for office workers, students, administrators, and anyone who uses a computer to learn how to code small, practical programs to automate tasks on their computer." ||Python 3 ||[[https://automatetheboringstuff.com/|website]] ||[[http://www.amazon.com/gp/product/1593275994/|print version]] || * '''How To Think Like a Computer Scientist''' is a classic open-source book by ''Allen Downey'' with contributions from ''Jeffrey Elkner'' and ''Chris Meyers''. It was updated to Python 3 by ''Peter Wentworth.'' ||Python 2 ||[[http://openbookproject.net/thinkcs/python/english2e/|website]] ||[[http://amzn.to/Owtmjy|print version]] || ||Python 3 ||[[http://openbookproject.net/thinkcs/python/english3e/|website]] ||[[http://openbookproject.net/thinkcs/python/english3e/|print version]] || * '''Making Games with Python & Pygame''' by ''Al Sweigart'' introduces the Pygame framework for novices and intermediate programmers to make graphical games. ||Python 3 ||[[http://inventwithpython.com/pygame|website]] ||[[http://www.amazon.com/Making-Games-Python-Pygame-Sweigart/dp/1469901730?ie=UTF8&tag=playwithpyth-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0982106017|print version]] || |
Line 19: | Line 19: |
* [[http://http://cscircles.cemc.uwaterloo.ca/|Computer Science Circles]] has 30 lessons, 100 exercises, and a message system where you can ask for help. Teachers can use it with their students. It is also available in Dutch, French, German and Lithuanian. (Python 3) | * [[http://www.codecademy.com/tracks/python|Python on Codecademy]] (Python 2) * [[https://codetheblocks.com|Code the blocks]] combines Python programming with a 3D environment where you "place blocks" and construct structures. It also comes with Python tutorials that teach you how to create progressively elaborate 3D structures. * [[http://cscircles.cemc.uwaterloo.ca/|Computer Science Circles]] has 30 lessons, 100 exercises, and a message system where you can ask for help. Teachers can use it with their students. It is also available in Dutch, French, German and Lithuanian. (Python 3) * [[https://www.datacamp.com/courses/intro-to-python-for-data-science|DataCamp Python Tutorial]] (Python 3) Unlike most other Python tutorials this 4 hour tutorial by [[https://www.datacamp.com/|DataCamp]] focuses on Python specifically for Data Science. It has 57 interactive exercises and 11 videos. * [[https://finxter.com|Finxter]] - How good are your Python skills? Test and Training with >300 hand-picked Python puzzles. |
Line 21: | Line 25: |
* [[http://www.codecademy.com/tracks/python|Python on Codecademy]] (Python 2) | * [[https://www.speltechnologies.com/bookdemo|Python story-based game]] (Python 2) Merscythe: Adventures with the Codue is a story-based game for learning Python. The tutorials provide feedback and hints. |
Line 29: | Line 33: |
* [[https://www.speltechnologies.com/bookdemo|Python story-based game]] (Python 2) Merscythe: Adventures with the Codue is a story-based game for learning Python. The tutorials provide feedback and hints. * [[http://www.letslearnpython.com/learn/|Young Coders tutorial]] (Python 3) This is the full text of the tutorial taught annually at PyCon (North America), with examples and exercises throughout. This tutorial starts with basic skills and builds to working with complex logic and games. Appropriate for ages 10 and up, including adult beginners, |
|
Line 33: | Line 39: |
* [[http://swaroopch.com/notes/python/|A Byte of Python]], by Swaroop C.H., is also an introductory text for people with no previous programming experience. (Python 2) | * [[http://swaroopch.com/notes/python/|A Byte of Python]], by Swaroop C.H., is also an introductory text for people with no previous programming experience. (Python 3) |
Line 36: | Line 42: |
* [[https://hackr.io/tutorials/learn-python|Hackr.io - Python]]: Programming community recommended best Python tutorials and courses * [[http://anh.cs.luc.edu/handsonPythonTutorial/|Hands-on Python Tutorial]] Beginners' Python, graphics, and simple client/server introduction, with videos (Python 3) |
|
Line 40: | Line 48: |
* [[https://overiq.com/python/3.4/intro-to-python/|Learn Python]] An Introductory yet in-depth tutorial for Python beginners. | |
Line 47: | Line 56: |
/* please keep this list alphabetized */ These websites are written in support of science courses, but are general enough that anyone can learn from them. |
/* please keep this list alphabetized */ These websites are written in support of science courses, but are general enough that anyone can learn from them. |
Line 52: | Line 60: |
* Pasteur Institute courses are aimed at biologists but are useful to anyone wanting to learn Python. [[http://www.pasteur.fr/formation/infobio/python/|Introduction to Programming using Python]] is for people completely new to programming. | |
Line 54: | Line 61: |
* [[http://illustratedtheoryofnumbers.com/prog.html|Python for Number Theory]] is a series of Python notebooks (for Jupyter) for applications to number theory and cryptography. They assume no prior programming experience, and are suitable for someone learning elementary number theory at the same time. They conclude with an introduction to primality testing and cryptography (Diffie-Hellman, RSA). | |
Line 59: | Line 67: |
* [[https://youtu.be/uCzFUKWtzgA?list=PLboXykqtm8dy_DNg1NZiS08Dnyj35PWXw|Python Programming Tutorials for Beginners]]: Installation, IDE, variables, functions, strings, lists, OOP | |
Line 60: | Line 69: |
== Tools == * [[http://thonny.org|Thonny, Python IDE for beginners]] |
|
Line 79: | Line 91: |
Line 81: | Line 92: |
---- CategoryPythonInEducation CategoryPythonInEducation |
Python for Non-Programmers
If you've never programmed before, the tutorials on this page are recommended for you; they don't assume that you have previous experience. If you have programming experience, also check out the BeginnersGuide/Programmers page.
Books
Each of these books can be purchased online and is also available as a completely free website.
Automate the Boring Stuff with Python - Practical Programming for Total Beginners by Al Sweigart is "written for office workers, students, administrators, and anyone who uses a computer to learn how to code small, practical programs to automate tasks on their computer." ||Python 3 ||website ||print version ||
How To Think Like a Computer Scientist is a classic open-source book by Allen Downey with contributions from Jeffrey Elkner and Chris Meyers. It was updated to Python 3 by Peter Wentworth. ||Python 2 ||website ||print version || ||Python 3 ||website ||print version ||
Making Games with Python & Pygame by Al Sweigart introduces the Pygame framework for novices and intermediate programmers to make graphical games. ||Python 3 ||website ||print version ||
Interactive Courses
These sites give you instant feedback on programming problems that you can solve in your browser.
CheckiO is a gamified website containing programming tasks that can be solved in either Python 2 or 3.
Python on Codecademy (Python 2)
Code the blocks combines Python programming with a 3D environment where you "place blocks" and construct structures. It also comes with Python tutorials that teach you how to create progressively elaborate 3D structures.
Computer Science Circles has 30 lessons, 100 exercises, and a message system where you can ask for help. Teachers can use it with their students. It is also available in Dutch, French, German and Lithuanian. (Python 3)
DataCamp Python Tutorial (Python 3) Unlike most other Python tutorials this 4 hour tutorial by DataCamp focuses on Python specifically for Data Science. It has 57 interactive exercises and 11 videos.
Finxter - How good are your Python skills? Test and Training with >300 hand-picked Python puzzles.
How to Think Like a Computer Scientist: Interactive Edition (Python 3.x) is an interactive reimagination of Elkner, Downey and Meyer's book with visualizations and audio explanations.
Python story-based game (Python 2) Merscythe: Adventures with the Codue is a story-based game for learning Python. The tutorials provide feedback and hints.
K-12 Oriented (for Children)
Build a "Pypet" Learn programming fundamentals in Python while building a tamagotchi style "Pypet" by Tatiana Tylosky.
Guido van Robot A teaching tool in which students write simple programs using a Python-like language to control a simulated robot. Field-tested at Yorktown High School, the project includes a lesson plan.
PythonTurtle A learning environment for Python suitable for beginners and children, inspired by Logo. Geared mainly towards children, but known to be successful with adults as well.
Python story-based game (Python 2) Merscythe: Adventures with the Codue is a story-based game for learning Python. The tutorials provide feedback and hints.
Young Coders tutorial (Python 3) This is the full text of the tutorial taught annually at PyCon (North America), with examples and exercises throughout. This tutorial starts with basic skills and builds to working with complex logic and games. Appropriate for ages 10 and up, including adult beginners,
Tutorials and Websites
A Byte of Python, by Swaroop C.H., is also an introductory text for people with no previous programming experience. (Python 3)
After Hours Programming Python 3 Tutorial (Python 3)
Ask Python Absolute Beginners Python Tutorial (Python 3)
Hackr.io - Python: Programming community recommended best Python tutorials and courses
Hands-on Python Tutorial Beginners' Python, graphics, and simple client/server introduction, with videos (Python 3)
Instant Hacking A minimal crash course by Magnus Lie Hetland that's an excellent starting point. (Python 2)
Learning to Program An introduction to programming for those who have never programmed before, by Alan Gauld. It introduces several programming languages but has a strong emphasis on Python. (Python 2 and 3)
The Wikibooks Non-Programmer's Tutorial for Python by Josh Cogliati is available for both Python 2 and Python 3.
One Day of IDLE Toying A very gentle introduction to the IDLE development environment that comes with Python. This tutorial by Danny Yoo has been translated into nine different languages. (Python 2)
Learn Python An Introductory yet in-depth tutorial for Python beginners.
The Python tips blog includes Python tips and tutorials for beginners and professional programmers.
There is a Python Tutorial in Python's documentation set. It's not written with non-programmers in mind, but it will give you an idea of the language's flavor and style. It is available for both Python 2 and Python 3.
The Python-Course.eu website has an extensive tutorial for complete beginners, in both Python 2 and Python 3, with lots of illustrations.
Pythonspot Tutorials Python tutorials.
The Python Guru A beginner friendly guide for aspiring programmers.
Tutorials for Scientific Audiences
These websites are written in support of science courses, but are general enough that anyone can learn from them.
Beginning Python for Bioinformatics by Patrick O'Brien. An introduction to Python aimed at biologists that introduces the PyCrust shell and Python's basic data types.
Handbook of the Physics Computing Course Also available in various forms at the author's Python in Education page, this is a preliminary course handbook for 1st-year university students with no computing experience. This course material is still preliminary and assumes some high school-level maths. It does not cover object-oriented programming or graphical applications. (Python 2)
The Programming Historian is a tutorial-style introduction to programming for practicing historians. It assumes that you're starting out with no prior programming experience and only a basic understanding of computers. (Python 2)
Python for Number Theory is a series of Python notebooks (for Jupyter) for applications to number theory and cryptography. They assume no prior programming experience, and are suitable for someone learning elementary number theory at the same time. They conclude with an introduction to primality testing and cryptography (Diffie-Hellman, RSA).
Videos
Python Programming Tutorials for Beginners: Installation, IDE, variables, functions, strings, lists, OOP
The Young Programmers Podcast contains video lessons on Python, Pygame, Jython, Scratch, Alice, Java and Scala.