Grade level
Grades 6-12
Prerequisites
None
Time to complete
About 18 hours (12+ weekly lessons)
Cost
100% free

About this free Intro to Python course

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.

Who this course is for

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.

Course outline

  • Week 1: What is Python? How programs run, installing or opening a Python editor, and writing your first print statements.
  • Week 2: Data types and variables. Strings, integers, floats, and booleans, storing values in variables, and reading user input with input().
  • Week 3: Conditionals. Making decisions with if, elif, and else, comparison operators, and combining conditions with and / or.
  • Week 4: Built-in functions. Using Python's built-in tools such as len(), range(), type conversions, and the math module.
  • Week 5: User-defined functions. Writing your own functions with parameters and return values to keep code organized and reusable.
  • Week 6: Debugging and reading code. Tracing code line by line, reading error messages, and fixing common bugs.
  • Weeks 7-9: Objects and classes. An introduction to object-oriented programming: classes, objects, attributes, methods, and constructors.
  • Weeks 10-11: Data structures. Working with lists, dictionaries, tuples, and sets to store and process collections of data.
  • Week 12 and beyond: Semester project. Plan, build, and present an original Python program, such as a game, quiz, or utility.

What you'll learn

  • Write, run, and debug Python programs from scratch
  • Use variables, data types, conditionals, and loops to control program flow
  • Break problems into reusable functions with parameters and return values
  • Model real-world things with classes and objects
  • Store and process data with lists and dictionaries

How long it takes

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.

Frequently asked questions about Intro to Python

Is Intro to Python really free?

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.

Is Python a good first programming language?

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.

What should I learn after Intro to Python?

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.

How do I start the course?

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.

Do I get a certificate?

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.

Can teachers and clubs use this curriculum?

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.

Related free courses

Related free webinar

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.