Intro to Python is a free, beginner-friendly Python programming course for middle and high school students. Python is one of the most popular programming languages in the world. It's used for websites, data science, games, automation, and artificial intelligence, and its clean syntax makes it an ideal first language.
Step into the world of Python and turn your big ideas into real projects. Through real-world challenges, you'll master core concepts like variables, loops, and functions on the way to building games, apps, and tools of your own. The course moves one topic per week, from printing your first line of text to designing your own classes and data structures, and it closes with a semester project where you build something original.
This course is written for students in grades 6 through 12 who have never programmed before. You don't need any prior coding experience or advanced math, just basic arithmetic and a computer with a web browser. Free online editors such as Replit or Python's own IDLE are all you need to follow along. Students who already know Scratch will find the jump to Python especially smooth.
Plan on about 18 hours in total: roughly an hour to an hour and a half per weekly lesson, plus extra time for the final project. Most students finish in one semester working once or twice a week, but the course is self-paced, so you can move faster or slower.
Yes. Intro to Python is completely free, with no fees, subscriptions, or account required. STEM for Others is a 501(c)(3) nonprofit, and every course in our curriculum library is free for students, families, and teachers.
Yes. Python reads almost like plain English, so beginners can focus on problem-solving instead of complicated syntax. It's also used by professional engineers and scientists, so what you learn here carries straight into real projects and more advanced courses.
Students who finish this course often move on to Intro to Machine Learning or Intro to Data Analysis, or pick up a second language with Intro to Java.
Click Begin Course at the top of this page to open the full slide deck in a new tab. You can also flip through the slides embedded above. Work through one unit at a time and try the practice questions before moving on.
The self-paced Intro to Python materials don't include an official certificate. If you're taking the course through a STEM for Others chapter program, ask your chapter leader about recognizing your completion.
Yes. Teachers, homeschool families, libraries, and after-school clubs are welcome to use the Intro to Python materials with their students at no cost. STEM for Others volunteers also teach our curriculum in partner schools and libraries. You can find a chapter near you or start one at your school.
Watch HTML & CSS Basics, a free STEM for Others webinar, to learn how web pages are built with HTML and CSS. Browse all free STEM webinars.