Skip Navigation

Introduction to Python Programming for Middle School Students



Open to: Grades 6-8

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

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.

By the end of the course, students will be able to apply the basic programming principles they mastered to learn other programming languages.


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.

This course uses an online virtual classroom for discussions with the instructor. The classroom works on standard computers with the Adobe Connect Add-in or Adobe Flash plugin, and also tablets or handhelds that support the Adobe Connect Mobile appStudents who are unable to attend live sessions will need a computer with the Adobe Connect Add-in or Adobe Flash plugin installed to watch recorded meetings. The Adobe Connect Add-in, Adobe Flash plugin, and Adobe Connect Mobile app are available for free download. Students who do not have the Flash plug-in installed or enabled on their browsers will be prompted to download and install the Adobe Connect add-in when accessing the virtual classroom.

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.