Introduction to Programming

Introduction to Programming uses the Python programming language to introduce students to basic programming skills. Students learn the principles of programming by comparing Python to other programming languages. The course begins with algorithms, and then it lays a foundation of mastering variables, operators, and control structures. Students use models as a way to quickly solve new problems using knowledge and techniques already learned. After this foundation is established, students learn to design programs and write functions. In addition, students learn program design, documentation, formal debugging, and testing.

Students complete numerous programs in the course, including both text and graphics/animation programs. In their culminating project, students create their own computer game of Tic-Tac-Toe, Pot-Shot, Blackjack, or Shoot-the-Ball, demonstrating all of the programming skills and knowledge they have acquired. Students hone the important skills of problem solving, thinking logically, looking at the big picture, and paying attention to detail. Students also examine career opportunities as system programmers, application programmers, and system engineers, and they consider the education, experience, and skills needed to enter and succeed in programming-related professions.

This course is expected to take a total of 86 50-minute class periods.

Course Scope & Sequence

The Scope & Sequence lists the learning objectives for each lesson, providing you with an overview of what your students will learn during the course. You can use these learning objectives as a guide to determine how the course enables your students to reach the requisite goals set for them.

Download File type: .DOCX

Lesson Descriptions

The Lesson Descriptions document includes a brief overview of every lesson in the course. This is the narrative companion to the course Scope & Sequence document.

Download File Type: .DOCX

Course Support

If you have questions about this course, need a hand with a particular lesson, or just have a great idea to share, please contact the NAF Instructional Managers directly at We are available to support you in teaching the course while also gathering feedback to improve the NAF curriculum.

Culminating Project Overview

In every NAF course, students complete a culminating project and present it in the final lesson. Download the Project Overview to learn the details about the culminating project for this course and to find out what advance preparation the project entails.

Download k> File type: .DOCX

NAFTrack Certification Course Guide

NAFTrack Certification is a nationally recognized, standards-based set of tools developed by NAF to evaluate students' readiness for college and career. By completing all NAFTrack Certification requirements, students demonstrate mastery of academic skills and career-related knowledge. The requirements are as follows: for each of four NAF courses, students complete all coursework, pass the end-of-course exam, and fulfill culminating project responsibilities, as evidenced by uploading key pieces of work.

Download File type: .DOCX Resources

Correlations to the Common Core State Standards

This document identifies which of the ELA and Math Common Core State Standards are met by each lesson in the course. You can use these correlations as an aid to preparing your students for college and careers.

Download File type: .DOCX

We welcome questions and feedback about these course materials. For a prompt response, please email the NAF Instructional Managers directly at

The ZIP file below contains the current version of every file for this course. Be sure to download it before the start of each school year. If you just need a specific file or two, it's quicker to use the individual links listed on this page.

All Course Files (ZIP file) (last updated )


Lesson 5: Working with Variables

Lesson 6: Using Arithmetic Operators to Manipulate Data

Lesson 7: Using String Operators and Methods to Manipulate Data


Lesson 14: Working in Programming and Learning from Industry Experts

Lesson 15: Project Presentation and Course Closure

Access NAF's Curriculum
Please fill out the following fields to download your copy of this NAF resource:
By downloading this resource, you confirm that you have read and agree to the NAF Terms of Service and that you agree to the processing of your personal data by NAF as described in our Privacy Statement. We will not sell or share your email address with third parties.