Differences between revisions 78 and 80 (spanning 2 versions)
Revision 78 as of 2015-06-28 15:18:33
Size: 9384
Comment:
Revision 80 as of 2015-07-11 05:35:49
Size: 9429
Comment: fix typo; add language info
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
Below are links to [[#Video_Tutorials|video tutorials]], [[#Graded_Introductory_Programming_Courses|online courses]] with programming exercises, [[#Websites_and_Books|websites, books]], and [[#For_Younger_Students|resources for younger students]].

== Books, Websites, Tutorials (non-interactive) ==
== Books ==
These books can be bought in hard copy, but are also available online for free.
Line 9: Line 8:
 * [[http://www.afterhoursprogramming.com/tutorial/Python/Overview/|After Hours Programming Python 3 Tutorial]] (Python 3)
 * [[http://www.checkio.org|CheckiO interactive learning resource]] Creative way to learn Python with interesting tasks, it also supports Python 3|2
 * [[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://swaroopch.com/notes/python/|Byte of Python]], by Swaroop C.H., is also an introductory text for people with no previous programming experience. (Python 3)
 * [[http://www.pentangle.net/python/handbook/|Handbook of the Physics Computing Course]] 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. (Python 2)
 * [[http://openbookproject.net/thinkcs/python/english2e/|How to Think Like a Computer Scientist - 2nd edition]] Allen Downey's open source textbook has a Python version, written with Jeff Elkner. It's also available in book form. It was updated and current version is 2nd edition. (Python 2)
 * [[http://hetland.org/writing/instant-hacking.html|Instant Hacking]] A minimal crash course by Magnus Lie Hetland that's an excellent starting point. (Python 2)
 * http://inventwithpython.com/bookshelf/| One of the best Python book compilations (Python 3|2)
 * [[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)
Line 18: Line 10:
 * [[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://learn-to-program.net/python|Learning Python (for the complete nOOb)]] by Derrick Wolters. A beginner's tutorial to learn how to program in Python. (Python 2) -- ''1/3/14: This is a dead link and a quick but very limited Google search turned up nothing. It is available on the wayback machine, however - [[https://web.archive.org/web/20110913183904/http:/www.learn-to-program.net/|Wayback Machine]]''
 * [[http://inventwithpython.com/pygame|Making Games with Python & Pygame]], by Al Sweigart is a free e-Book that introduces the Pygame framework for novices and intermediate programmers to make graphical games. (Python 3)
 * 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://en.wikibooks.org/wiki/Non-Programmer's_Tutorial_for_Python_2.6|Non-Programmer's Tutorial for Python 2.6]] by Josh Cogliati.
 * [[http://en.wikibooks.org/wiki/Non-Programmer's_Tutorial_for_Python_3.0|Non-Programmer's Tutorial for Python 3]] on Wikibooks.
 * [[http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html|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)
 * Pasteur Institute courses 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.
  * [[http://www.pasteur.fr/formation/infobio/python/|Introduction to Programming using Python]] is for people completely new to programming.
  * [[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://docs.python.org/tut/|Python Tutorial]] 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. This is currently for Python 2, but there is also a [[http://docs.python.org/py3k/tutorial/|Python 3 Tutorial]].
 * [[http://www.python-course.eu/course.php|Python 2.7 Tutorial]]: This tutorial is quite extensive and suitable for complete beginners.
 * [[http://www.python-course.eu/python3_course.php|Python 3 Tutorial]]: This tutorial is extensively covering Python3, starting from scratch with lots of illustrations.
 * [[https://www.pythonspot.com|Pythonspot Tutorials]] Python tutorials.
 * [[http://www.pythonforbiologists.com|Python for biologists]] (Python 3)
 * [[http://www.teachmepython.com|Teach Me Python]] A Python tutorial for fast learners. (Python 2)
 * [[http://programminghistorian.org|The Programming Historian 2]] From the "About This Book" page: "This book is a tutorial-style introduction to programming for practicing historians. We assume that you're starting out with no prior programming experience and only a basic understanding of computers. More experience, of course, won't hurt. Once you know how to program, you will find it relatively easy to learn new programming languages and techniques, and to apply what you know in unfamiliar situations." (Python 2)
 * [[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]]
Line 36: Line 12:
 * 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://www.freepythontips.wordpress.com/|Free python tips and tutorials]] Python tips and tutorials for beginners and professional programmers.
== Interactive Courses ==
These sites give you instant feedback on programming problems that you can solve in your browser.
Line 39: Line 15:
== Interactive Tools and Lessons ==
Line 42: Line 17:
 * [[http://cscircles.ca/|Computer Science Circles]], aussi [[FrenchLanguage|en français]] (Python 3)
 * [[http://interactivepython.org/runestone/static/thinkcspy/index.html|How to Think Like a Computer Scientist: Interactive Edition (Python 3.x)]]
 * [[http://www.learnpython.org/|learnpython.org]] (Python 2)
 * [[http://www.learnstreet.com/lessons/languages/python|LearnStreet: Free interactive Python courses and practice exercises]] (Python 2)
 * [[http://www.checkio.org|CheckiO]] is a gamified website containing programming tasks that can be solved in either Python 2 or 3.
 * [[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://interactivepython.org/runestone/static/thinkcspy/index.html|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.
Line 47: Line 21:
 * [[http://www.talk-it.biz/tutorial-categories/python/|Python tutorials on TalkIT]] (Python 3)
Line 49: Line 22:
== Video Tutorials == == K-12 Oriented (for Children) ==
/* please keep this list alphabetized */

 * [[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://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://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.

== Tutorials and Websites ==
/* please keep this list alphabetized */

 * [[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)
 * [[http://www.afterhoursprogramming.com/tutorial/Python/Overview/|After Hours Programming Python 3 Tutorial]] (Python 3)
 * [[http://hetland.org/writing/instant-hacking.html|Instant Hacking]] A minimal crash course by Magnus Lie Hetland that's an excellent starting point. (Python 2)
 * [[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)
 * The Wikibooks Non-Programmer's Tutorial for Python by Josh Cogliati is available for both [[http://en.wikibooks.org/wiki/Non-Programmer's_Tutorial_for_Python_2.6|Python 2]] and [[http://en.wikibooks.org/wiki/Non-Programmer's_Tutorial_for_Python_3.0|Python 3]].
 * [[http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html|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)
 * The [[http://pythontips.com/|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 [[http://docs.python.org/tut/|Python 2]] and [[http://docs.python.org/py3k/tutorial/|Python 3]].
 * The Python-Course.eu website has an extensive tutorial for complete beginners, in both [[http://www.python-course.eu/course.php|Python 2]] and [[http://www.python-course.eu/python3_course.php|Python 3]], with lots of illustrations.
 * [[https://www.pythonspot.com|Pythonspot Tutorials]] Python tutorials.

== 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://www.pentangle.net/python/handbook/|Handbook of the Physics Computing Course]] 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. (Python 2)
 * 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.
 * [[http://programminghistorian.org|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)

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

{{{#!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.

 * [[http://learn-to-program.net/python|Learning Python (for the complete nOOb)]] by Derrick Wolters. A beginner's tutorial to learn how to program in Python. (Python 2) -- ''1/3/14: This is a dead link and a quick but very limited Google search turned up nothing. It is available on the wayback machine, however - [[https://web.archive.org/web/20110913183904/http:/www.learn-to-program.net/|Wayback Machine]]''

 * 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.pythonforbiologists.com|Python for biologists]] (Python 3)
 * [[http://www.teachmepython.com|Teach Me Python]] A Python tutorial for fast learners. (Python 2)
Line 54: Line 71:
 * [[http://www.learnpython.org/|learnpython.org]] (Python 2) ''2/10/15: interactivity not working''
 * [[http://www.learnstreet.com/lessons/languages/python|LearnStreet: Free interactive Python courses and practice exercises]] (Python 2)
 * [[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.
Line 55: Line 77:
== For Younger Students ==
/* please keep this list alphabetized */

 * [[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.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.
 * [[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://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://python.lycee.free.fr/|Débuter avec Python au lycée]] A french tutorial intended to secondary school pupils.
}}}

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

These books can be bought in hard copy, but are also available online for free.

  • How to Think Like a Computer Scientist (2nd ed.) by Elkner, Downey, and Meyers is an open-source book. (Python 2)

  • Learn Python The Hard Way The title is a misnomer. It would be better titled "Learn Python By Coding It." The author determined that learning python should be similar to learning an instrument. You don't get a book on scales, but you're taught a scale and practice it. The author teaches you how to code properly, how to think like a programmer, and develop quality problem solving skill through a set of 52 exercises that build on each other. (Python 2)

  • 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 many other excellent free books

Interactive Courses

These sites give you instant feedback on programming problems that you can solve in your browser.

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.

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)

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

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

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)

  • Pasteur Institute courses are aimed at biologists but are useful to anyone wanting to learn Python. Introduction to Programming using Python is for people completely new to programming.

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

Videos

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

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