Differences between revisions 12 and 117 (spanning 105 versions)
Revision 12 as of 2005-12-08 14:16:41
Size: 3817
Comment: fix title
Revision 117 as of 2020-05-05 22:01:30
Size: 11184
Editor: JulienPalard
Comment: Adding my own Python exercises platform.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#acl All:read
Line 3: Line 2:
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.
Line 4: Line 4:
== Books ==
Each of these books can be purchased online and is also available as a completely free website.
Line 5: Line 7:
If you've never programmed before, the tutorials on this page are
recommended for you; they don't assume that you have previous
experience.
/* please keep this list alphabetized */
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]] ||
Line 10: Line 11:
If you have previous programming experience,
the list of programmer-oriented tutorials on the ["BeginnersGuide/Programmers"] page
may get you started more quickly, but the tutorials on this page
may still be helpful.
 * '''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 15: Line 13:
 * '''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 [[https://blog.finxter.com/free-python-books/|this article with 101 free Python books]].
Line 17: Line 17:
  * [http://www.freenetpages.co.uk/hp/alan.gauld/ 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.
== Interactive Courses ==
These sites give you instant feedback on programming problems that you can solve in your browser.
Line 22: Line 20:
  * [http://www.byteofpython.info/ A Byte of Python], by Swaroop C.H., is also an introductory text
  for people with no previous programming experience.
/* please keep this list alphabetized */
Line 25: Line 22:
  * [http://www.hetland.org/python/instant-hacking.php Instant Hacking]  * [[http://www.checkio.org|CheckiO]] is a gamified website containing programming tasks that can be solved in Python 3.
Line 27: Line 24:
  A minimal crash course by Magnus Lie Hetland
  that's an excellent starting point.
 * [[https://www.codecademy.com/search?query=python|Codecademy (]]Python)
Line 30: Line 26:
 * [[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 31: Line 28:
  * [http://www.ibiblio.org/obp/thinkCSpy/ How to Think Like a Computer Scientist]  * [[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 33: Line 30:
  Allen Downey's open source textbook has a
  Python version, written with Jeff Elkner. It's also available in book form.
 * [[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 36: Line 32:
  * [http://www.honors.montana.edu/~jjc/easytut/easytut/ A Non-Programmer's Tutorial for Python] by Josh Cogliati.  * [[https://finxter.com|Finxter]] - How good are your Python skills? Test and Training with >300 hand-picked Python puzzles.
Line 38: Line 34:
  * [http://www.pentangle.net/python/handbook/ Handbook of the Physics Computing Course]  * [[https://hackinscience.org|HackInScience]] - 50+ Python exercises on a free, adless, simple, and open source platform.
Line 40: Line 36:
  Also available in various forms at the
  author's [http://www.pentangle.net/python/ 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.
 * [[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 47: Line 38:
  * [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.
== 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.)
Line 51: Line 41:
  * Two courses from the Pasteur Institute are aimed at biologists but
  are useful to anyone wanting to learn Python. Both tutorials are
  quite extensive, covering data types, object-oriented programming,
  files, and even design patterns.
/* please keep this list alphabetized */
Line 56: Line 43:
  * [http://www.pasteur.fr/formation/infobio/python/ Introduction to Programming using Python] is for people completely new to
  programming.
 * [[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 59: Line 45:
  * [http://www.pasteur.fr/recherche/unites/sis/formation/python/ Bioinformatics course in Python]
  focuses on preparing people with some programming background for using the
  [http://www.biopython.org Biopython] modules.
 * [[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 63: Line 47:
 * [[http://jasonrbriggs.com/python-for-kids/index.html|Python for Kids]] by Jason R Briggs. Book with sample code and puzzles.
Line 64: 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.
Line 65: Line 51:
  * [http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html One Day of IDLE Toying]  * [[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 67: Line 53:
  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.
 * [[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 71: Line 55:
  * [http://docs.python.org/tut/ Python Tutorial] == Tutorials and Websites ==
/* please keep this list alphabetized */
Line 73: Line 58:
  This tutorial is part of
  Python's documentation set and is updated with each new release. It's
  not written with non-programmers in mind, but skimming through it will
  give you an idea of the language's flavor and style.
 * [[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]]
Line 79: Line 62:
 * [[https://www.programiz.com/learn-python|An App to Learn Python]] - A beginner-friendly app on Android and iOS to learn Python step by step with in-built interpreter and quizzes.
Line 80: Line 64:
== For Younger Students ==  * [[http://askpython.com/|Ask Python]] Absolute Beginners Python Tutorial
Line 82: Line 66:
 * [[https://classpert.com/python-programming|Classpert - Python]] - A large collection of free and paid Python online courses, from a wide range of providers.
Line 83: Line 68:
    * [http://www.livewires.org.uk/python/ LiveWires]  * [[https://hackr.io/tutorials/learn-python|Hackr.io - Python]]: Programming community recommended best Python tutorials and courses
Line 85: Line 70:
    A set of Python lessons used during 1999, 2000, 2001 and 2002
    children's summer camps in Britain by Richard Crook, Gareth McCaughan,
    Mark White, and Rhodri James. Aimed at children 12-15 years old.
 * [[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 89: Line 72:
    * [http://gvr.sourceforge.net Guido van Robot]  * [[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 91: Line 74:
    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://letsfindcourse.com/python|Letsfindcourse - Python]]: Best Python tutorials and courses recommended by experts.

 * [[http://en.wikibooks.org/wiki/Non-Programmer's_Tutorial_for_Python_3.0|The Wikibooks Non-Programmer's Tutorial for Python by Josh Cogliati]]

 * [[https://overiq.com/python/3.4/intro-to-python/|Learn Python]] An Introductory yet in-depth tutorial for Python beginners.

 * [[http://www.alan-g.me.uk/l2p/|Learning to Program]] by Alan Gauld

 * The [[http://pythontips.com/|Python tips]] blog includes Python tips and tutorials for beginners and professional programmers.

 * [[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://www.python-course.eu/python3_course.php|The Python-Course.eu's extensive tutorial for complete beginners]], with lots of illustrations.

 * [[https://www.pythonspot.com|Pythonspot Tutorials]] Python tutorials.

 * [[http://thepythonguru.com/|The Python Guru]] A beginner-friendly guide for aspiring programmers.

 * [[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

== Tutorials for Scientific Audiences ==
/* please keep this list alphabetized */ These websites are written in support of science courses, but are general enough that anyone can learn from them.

 * [[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://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://www.pythonforbiologists.com|Python for biologists]]

== Videos ==
/* please keep this list alphabetized */

 * [[http://www.toonzcat.com/progart.html|Python 3 Beginner Video Tutorials]]

 * [[https://youtu.be/uCzFUKWtzgA?list=PLboXykqtm8dy_DNg1NZiS08Dnyj35PWXw|Python Programming Tutorials for Beginners]]: Installation, IDE, variables, functions, strings, lists, OOP

 * The [[http://young-programmers.blogspot.com/search/label/python|Young Programmers Podcast]] contains video lessons on Python, Pygame, Jython, Scratch, Alice, Java, and Scala.

== Tools ==
 * [[http://thonny.org|Thonny, Python IDE for beginners]]

{{{#!wiki comment/dashed
Dead Links / Broken Sites

If these sites come back to life, feel free to move them back up. Perhaps after 6 months it would be reasonable to delete them.

 * Free Python video lectures are also available as a course titled [[Intro to programming with Python and Tkinter]], Unix users can view the video using mplayer once you have downloaded the files. Windows users will need to have a DivX player, available from http://www.divx.com/divx/windows/. (One user reports success viewing the videos on OS X 10.4 using the VLC player -- http://www.videolan.org/) -- ''1/3/14: This is not a dead link but it is a dead option. These videos have been dropped from Blip.tv so the link gets you nothing.''

 * [[http://www.pasteur.fr/recherche/unites/sis/formation/python/|Bioinformatics course in Python]] focuses on preparing people with some programming background for using the [[http://www.biopython.org|Biopython]] modules.
 * [[http://www.khanacademy.org/#computer-science|Khan Academy computer science]] (Python 2, not actively maintained) -- ''20/4/14: This link now leads to the Khan Academy sign-on page. Python material seems to have been disappeared from Khan Academy.''
 * [[http://www.talk-it.biz/tutorial-categories/python/|Python tutorials on TalkIT]] (Python 3) ''7/10/15: it is almost all behind a paywall''
 * [[http://www.livewires.org.uk/python/|LiveWires]] A set of Python lessons used during 1999, 2000, 2001 and 2002 children's summer camps in Britain by Richard Crook, Gareth McCaughan, Mark White, and Rhodri James. Aimed at children 12-15 years old. ''7/10/15: Site not up when clicked.''
 * [[http://python.lycee.free.fr/|Débuter avec Python au lycée]] A french tutorial intended to secondary school pupils.
}}}
----
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." ||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.

  • HackInScience - 50+ Python exercises on a free, adless, simple, and open source platform.

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