Skip Navigation

Introduction to Python Programming for Middle School Students

Arrow image that is used as button to enroll in courses. Enroll in this Course

Open to: Grades 6-8

Eligibility: CTY-level or Advanced CTY-level math score required

Prerequisites: A strong grasp of the English language is recommended.

Course Format: Individually Paced

Course Length: Typically 3 months

Course Code: IPM

Course Description


This course introduces students to the exciting world of programming using the Python language. Students will gain a basic understanding of object-oriented programming and enhance their critical thinking and problem-solving skills as they learn to design, code, and debug Python programs. Challenging assignments encourage them to master important programming concepts such as variables, operators, and control flow constructs. Students will use their creativity and imagination to draw different shapes on the computer screen and work with Turtle Graphics. They will also discover how to use functions to reuse code and how to read and write to files. While no prior programming experience is required, some exposure to programming languages may help students succeed in this highly challenging course. Parental support may be needed. By the end of the course, students will be able to apply the basic programming principles they mastered to learn other programming languages.

This course does not have any synchronous class meetings, but students may schedule one-on-one virtual meetings directly with the instructor to answer questions or concerns.

Students may be invited to interact in CTY community spaces that include students and instructors and potentially specially invited guests that are not enrolled in their course. Student contributions (e.g., projects, forum posts, etc.) may remain in the course after the student completes the course. These artifacts may be preserved to showcase student work or to continue important conversations.

Materials Needed

Students will need to download the latest version of Python for free.

The required course textbook is:

Python for Kids: A Playful Introduction To Programming, by Jason R. Briggs. ISBN 78-1593274078

References and supplementary readings will be provided, where required, on the course website.

Detailed Course Information

Getting Started

  • History of Python
  • Sample Python projects
  • Writing your first program
  • Saving and opening programs
  • Using comments

Moving your Turtle

  • Using the turtle module- pen()
  • Using the turtle module – forward(), backward(), left(), and right()
  • Changing the pen size and color
  • Penup() and pendown()
  • Drawing circles

Math and Variables

  • Operators and Order of Operations
  • Variables
  • Revisiting the turtle with variables


  • Creating strings
  • Multi-line strings
  • Quotation marks inside strings
  • Embedding values inside strings
  • Multiplying strings
  • Using the input() function
  • Converting strings to numbers
  • Concatenating strings

Reusing Code with Functions and Modules

  • Defining a function
  • Using functions
  • Returning a value
  • Variables and scope
  • Modules

Conditional Statements

  • If statements
  • If-then-else statements
  • If and elif statements
  • Multiple conditions and multiple if statements


  • Using for loops
  • Creating while loops
  • Nesting loops
  • Using the break command and avoiding infinite loops

Using the Turtle with Loops and Functions

  • Drawing with loops
  • Drawing with Functions
  • Adding more color
  • Drawing spirals

Data Structures

  • Lists
  • Maps

Introduction to Object Oriented Programming

  • Introduction to Object Oriented Programming
  • Classes and Objects
  • Instance Variables and Methods
  • Class Variables
  • Special Method Names
  • Class Containment and Default Parameters
  • Inheritance

Built-in Functions

  • Helpful built-in functions

Working with Files

  • Creating a file
  • Opening a file in Python
  • Writing to a file

Technical Requirements

This course requires a properly maintained computer with high-speed internet access and an up-to-date web browser (such as Chrome or Firefox). The student must be able to communicate with the instructor via email. Visit the Technical Requirements and Support page for more details.

Zoom online virtual classroom
This course uses an online virtual classroom which can be used for instructor-student communication if the student has any questions about the course or curriculum. The classroom works on standard computers with the Zoom desktop client and also tablets or handhelds that support the Zoom Mobile app. Students will need a computer with the Zoom desktop client installed to watch any recorded meetings. The Zoom desktop client and Zoom Mobile App are both available for free download.

Most course lectures may be viewed on mobile devices, but in some cases assignments and quizzes must be completed on a desktop or laptop computer.

Chromebooks are not recommended due to required downloading of specialized software.

This course uses Respondus LockDown Browser proctoring software for designated assessments. LockDown Browser is a client application that is installed to a local computer. Visit the Respondus website for system requirements.

While Chromebook can be used to progress through the course, all exams must be completed on a PC or Mac.