Introduction to Python

Introduction to Python is a resource for students who want to learn Python as their first language, and for teachers who want a free and open curriculum to use with their students.

If you are viewing the project through IPython Notebook Viewer, you might want to visit the student-facing pages at There is a cleaner navigation there, and some better overall styling.

Start Learning Python

If your computer is already set up to run Python programs, you can get started with Hello World, your very first Python program.

Set Up Your Programming Environment

If your computer is not yet set up to run Python programs, we can show you how to get Python up and running.


If you already know Python and would like to help build Introduction to Python, see the project's GitHub page. You might want to look at Issue 17, which discusses a few specific ways you can contribute to the project.


If you have any questions or comments, feel free to get in touch:

Overall feedback: Issue 10 on GitHub. Twitter: @ehmatthes Email: ehmatthes at gmail dot com


I teach high school math and science, and I also teach an Introduction to Programming class each fall. This project started as a series of IPython Notebooks I wrote when teaching this year's programming class.