Differences between revisions 112 and 113
Revision 112 as of 2020-02-01 12:42:54
Size: 10813
Editor: ChrisM
Comment:
Revision 113 as of 2020-02-01 12:54:39
Size: 10876
Editor: ChrisM
Comment: Alphabetized list, full Grammarly check (multiple comma errors), removed bad formatting, added free Python book resources
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
 *
'''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." ||[[https://automatetheboringstuff.com/|website]] ||[[http://www.amazon.com/gp/product/1593275994/|print version]] ||
 * '''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." ||[[https://automatetheboringstuff.com/|website]] ||[[http://www.amazon.com/gp/product/1593275994/|print version]] ||
Line 12: Line 11:
 * '''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.'' ||[[http://openbookproject.net/thinkcs/python/english3e/|website]] ||[[http://openbookproject.net/thinkcs/python/english3e/|print version]] ||
Line 13: Line 13:
 *
 '''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.'' ||[[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. ||[[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 16: Line 15:
You can find many free Python books online. For example, check out
Line 17: Line 17:
 *
 '''Making Games with Python & Pygame''' by ''Al Sweigart'' introduces the Pygame framework for novices and intermediate programmers to make graphical games. ||[[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]] ||
[[https://blog.finxter.com/free-python-books/|this article with 101 free Python books]].
Line 26: Line 24:
 *
[[http://www.checkio.org|CheckiO]] is a gamified website containing programming tasks that can be solved in Python 3.
 * [[http://www.checkio.org|CheckiO]] is a gamified website containing programming tasks that can be solved in Python 3.
Line 29: Line 26:
 *
[[https://www.codecademy.com/search?query=python|Python on Codecademy]]
 * [[https://www.codecademy.com/search?query=python|Codecademy (]]Python)
Line 32: Line 28:
 *
[[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.
 * [[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.
Line 35: Line 30:
 *
[[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.
 * [[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.
Line 38: Line 32:
 *
[[https://www.datacamp.com/courses/intro-to-python-for-data-science|DataCamp Python Tutorial]] 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://www.datacamp.com/courses/intro-to-python-for-data-science|DataCamp Python Tutorial]] 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.
Line 41: Line 34:
 *
[[https://finxter.com|Finxter]] - How good are your Python skills? Test and Training with >300 hand-picked Python puzzles.
 * [[https://finxter.com|Finxter]] - How good are your Python skills? Test and Training with >300 hand-picked Python puzzles.
Line 44: Line 36:
 *
[[http://interactivepython.org/runestone/static/thinkcspy/index.html|How to Think Like a Computer Scientist: Interactive Edition]] is an interactive reimagination of Elkner, Downey and Meyer's book with visualizations and audio explanations.
 * [[http://interactivepython.org/runestone/static/thinkcspy/index.html|How to Think Like a Computer Scientist: Interactive Edition]] is an interactive reimagination of Elkner, Downey and Meyer's book with visualizations and audio explanations.
Line 53: Line 43:
 *
[[http://www.thinkful.com/learn/python-programming-fundamentals/|Build a "Pypet"]] Learn programming fundamentals in Python while building a Tamagotchi style "Pypet" by Tatiana Tylosky.
 * [[http://www.thinkful.com/learn/python-programming-fundamentals/|Build a "Pypet"]] Learn programming fundamentals in Python while building a Tamagotchi style "Pypet" by Tatiana Tylosky.
Line 56: Line 45:
 *
[[http://gvr.sourceforge.net|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.
 * [[http://gvr.sourceforge.net|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.
Line 59: Line 47:
 *
[[http://jasonrbriggs.com/python-for-kids/index.html|Python for Kids]] by Jason R Briggs. Book with sample code and puzzles.
 * [[http://jasonrbriggs.com/python-for-kids/index.html|Python for Kids]] by Jason R Briggs. Book with sample code and puzzles.
Line 62: Line 49:
 *
[[http://pythonturtle.org|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.
 * [[http://pythonturtle.org|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.
Line 65: Line 51:
 *
[[http://www.letslearnpython.com/learn/|Young Coders tutorial]] 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.
 * [[http://www.letslearnpython.com/learn/|Young Coders tutorial]] 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 68: Line 53:
 *
[[https://www.webucator.com/self-paced-training/index.cfm#!?courseId=PYT111|Webucator's self-paced Python 3 course]] free for homeschoolers and other students (use HOMESCHOOL as the coupon code when checking out). This course is appropriate for students 13 and up. '''From our experience, these students can learn at least as quickly as adults new to programming.'''
 * [[https://www.webucator.com/self-paced-training/index.cfm#!?courseId=PYT111|Webucator's self-paced Python 3 course]] free for homeschoolers and other students (use HOMESCHOOL as the coupon code when checking out). This course is appropriate for students 13 and up. '''From our experience, these students can learn at least as quickly as adults new to programming.'''
Line 75: Line 58:
 *
[[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.
 * [[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.
Line 78: Line 60:
 *
[[http://www.afterhoursprogramming.com/tutorial/Python/Overview/|After Hours Programming Python 3 Tutorial]]
 * [[http://www.afterhoursprogramming.com/tutorial/Python/Overview/|After Hours Programming Python 3 Tutorial]]
Line 81: Line 62:
 *
[[http://askpython.com/|Ask Python]] Absolute Beginners Python Tutorial
 * [[http://askpython.com/|Ask Python]] Absolute Beginners Python Tutorial
Line 84: Line 64:
 *
[[https://classpert.com/python-programming|Classpert - Python]] - A large collection of free and paid Python online courses, from a wide range of providers.
 * [[https://classpert.com/python-programming|Classpert - Python]] - A large collection of free and paid Python online courses, from a wide range of providers.
Line 87: Line 66:
 *
[[https://hackr.io/tutorials/learn-python|Hackr.io - Python]]: Programming community recommended best Python tutorials and courses
 * [[https://hackr.io/tutorials/learn-python|Hackr.io - Python]]: Programming community recommended best Python tutorials and courses
Line 90: Line 68:
 *
[[http://www.cs.luc.edu/~anh/python/hands-on/3.0/|Hands-on Python Tutorial]] Beginners' Python, graphics, and simple client/server introduction, with videos
 * [[http://www.cs.luc.edu/~anh/python/hands-on/3.0/|Hands-on Python Tutorial]] Beginners' Python, graphics, and simple client/server introduction, with videos
Line 93: Line 70:
 *
[[http://www.alan-g.me.uk|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)
 * [[http://www.alan-g.me.uk|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)
Line 96: Line 72:
 *
[[http://letsfindcourse.com/python|Letsfindcourse - Python]]: Best Python tutorials and courses recommended by experts.
 * [[http://letsfindcourse.com/python|Letsfindcourse - Python]]: Best Python tutorials and courses recommended by experts.
Line 99: Line 74:
 *
[[http://en.wikibooks.org/wiki/Non-Programmer's_Tutorial_for_Python_3.0|The Wikibooks Non-Programmer's Tutorial for Python by Josh Cogliati]]
 * [[http://en.wikibooks.org/wiki/Non-Programmer's_Tutorial_for_Python_3.0|The Wikibooks Non-Programmer's Tutorial for Python by Josh Cogliati]]
Line 102: Line 76:
 *
[[https://overiq.com/python/3.4/intro-to-python/|Learn Python]] An Introductory yet in-depth tutorial for Python beginners.
 * [[https://overiq.com/python/3.4/intro-to-python/|Learn Python]] An Introductory yet in-depth tutorial for Python beginners.
Line 105: Line 78:
 *
[[http://www.alan-g.me.uk/l2p/|Learning to Program]] by Alan Gauld
 * [[http://www.alan-g.me.uk/l2p/|Learning to Program]] by Alan Gauld
Line 108: Line 80:
 *
The [[http://pythontips.com/|Python tips]] blog includes Python tips and tutorials for beginners and professional programmers.
 * The [[http://pythontips.com/|Python tips]] blog includes Python tips and tutorials for beginners and professional programmers.
Line 111: Line 82:
 *
[[http://docs.python.org/py3k/tutorial/|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.
 * [[http://docs.python.org/py3k/tutorial/|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.
Line 114: Line 84:
 *
[[http://www.python-course.eu/python3_course.php|The Python-Course.eu's extensive tutorial for complete beginners]], with lots of illustrations.
 * [[http://www.python-course.eu/python3_course.php|The Python-Course.eu's extensive tutorial for complete beginners]], with lots of illustrations.
Line 117: Line 86:
 *
[[https://www.pythonspot.com|Pythonspot Tutorials]] Python tutorials.
 * [[https://www.pythonspot.com|Pythonspot Tutorials]] Python tutorials.
Line 120: Line 88:
 *
[[http://thepythonguru.com/|The Python Guru]] A beginner-friendly guide for aspiring programmers.
 * [[http://thepythonguru.com/|The Python Guru]] A beginner-friendly guide for aspiring programmers.
Line 123: Line 90:
 *
[[https://gitconnected.com/learn/python|Top Courses to Learn Python - gitconnected.com]] Python tutorials submitted and ranked by Python developers with the best rising to the top
 * [[https://gitconnected.com/learn/python|Top Courses to Learn Python - gitconnected.com]] Python tutorials submitted and ranked by Python developers with the best rising to the top
Line 130: Line 95:
 *
[[http://www.onlamp.com/pub/a/python/2002/10/17/biopython.html|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.
 * [[http://www.onlamp.com/pub/a/python/2002/10/17/biopython.html|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.
Line 133: Line 97:
 *
[[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).
 * [[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 136: Line 99:
 *
[[http://www.pythonforbiologists.com|Python for biologists]]
 * [[http://www.pythonforbiologists.com|Python for biologists]]
Line 143: Line 104:
 *
[[http://www.toonzcat.com/progart.html|Python 3 Beginner Video Tutorials]]
 * [[http://www.toonzcat.com/progart.html|Python 3 Beginner Video Tutorials]]
Line 146: Line 106:
 *
[[https://youtu.be/uCzFUKWtzgA?list=PLboXykqtm8dy_DNg1NZiS08Dnyj35PWXw|Python Programming Tutorials for Beginners]]: Installation, IDE, variables, functions, strings, lists, OOP
 * [[https://youtu.be/uCzFUKWtzgA?list=PLboXykqtm8dy_DNg1NZiS08Dnyj35PWXw|Python Programming Tutorials for Beginners]]: Installation, IDE, variables, functions, strings, lists, OOP
Line 149: Line 108:
 *
The [[http://young-programmers.blogspot.com/search/label/python|Young Programmers Podcast]] contains video lessons on Python, Pygame, Jython, Scratch, Alice, Java, and Scala.
 * The [[http://young-programmers.blogspot.com/search/label/python|Young Programmers Podcast]] contains video lessons on Python, Pygame, Jython, Scratch, Alice, Java, and Scala.
Line 154: Line 111:
 *
[[http://thonny.org|Thonny, Python IDE for beginners]]
 * [[http://thonny.org|Thonny, Python IDE for beginners]]

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." ||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. ||website ||print version ||

  • Making Games with Python & Pygame by Al Sweigart introduces the Pygame framework for novices and intermediate programmers to make graphical games. ||website ||print version ||

You can find many free Python books online. For example, check out

this article with 101 free Python books.

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 Python 3.

  • Codecademy (Python)

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

  • DataCamp Python Tutorial 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 is an interactive reimagination of Elkner, Downey and Meyer's book with visualizations and audio explanations.

Resources for Younger Learners

(This section was previously called "K-12 Oriented", K-12 being a USA-centric term which refers to the primary and secondary educational stages; through level 3 on the UNESCO ISCED education levels list.)

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

  • Python for Kids by Jason R Briggs. Book with sample code and puzzles.

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

  • Young Coders tutorial 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.

  • Webucator's self-paced Python 3 course free for homeschoolers and other students (use HOMESCHOOL as the coupon code when checking out). This course is appropriate for students 13 and up. From our experience, these students can learn at least as quickly as adults new to programming.

Tutorials and Websites

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.

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

  • Python for biologists

Videos

Tools


CategoryPythonInEducation CategoryPythonInEducation

BeginnersGuide/NonProgrammers (last edited 2023-03-03 16:42:03 by AdamEmery)

Unable to edit the page? See the FrontPage for instructions.