PyCrafters™ – Python for Teens is a comprehensive, standards-aligned coding course designed specifically for middle school students (grades 6–9, ages 11–14). Developed by the OpenEDG Python Institute, the course introduces students to the exciting world of computer programming and computational thinking using Python, one of the most popular and beginner-friendly programming languages.
The course is aligned to the CPALMS Coding Fundamentals CTE Standards (CTE-IT.68.9009200) for Middle School within the Information Technology Career Cluster.
The course is structured around four modules that gradually build skills from computing basics to advanced beginner programming:
Throughout the course, students learn not only how to code, but also how to work collaboratively, plan projects using tools such as Kanban boards, document their work clearly, and present their ideas effectively.
Lesson activities are designed with two levels of proficiency:
to ensure that activities are developmentally appropriate and engaging for all learners.
EARLY BEGINNER (Middle School: Grades 6–9)
--
Early Beginner
20 weeks (~90 hrs)
English
An engaging early beginner course for ages 11–14, developed by the OpenEDG Python Institute and aligned with the Coding Fundamentals CTE Standards (CTE-IT.68.9009200) on CPALMS. Students learn core Python (variables, decisions, loops, functions, strings, lists, files) and create visual projects with Turtle, Pygame, and VPython.
Two learning paths – Explorer (guided) and Adventurer (challenge) – support different experience levels. The program includes mini projects and a final team project with Kanban planning, documentation, and presentations.
Upon completing the course and passing the in-course final exam, learners receive a Certificate of Completion from the OpenEDG Python Institute and a shareable digital badge via Credly.
By the end of the course, students will be able to:
No prior coding experience is required. This course is designed for absolute beginners who are enthusiastic about technology, enjoy exploring new ideas, and are curious about how computers and programs work. Students should bring a willingness to learn step by step, practice problem-solving, and collaborate with classmates in creative projects. The course is especially suited for those who are looking to build future-ready skills that are increasingly sought after in today’s job market.
Length: ~90 hours (20 weeks)
Levels: Explorer (ages 11–12), Adventurer (ages 13–14)
Course Modules:
The course is divided into four modules:
Module 1: Computers, operating systems, file management, software apps, spreadsheets, algorithms, pseudocode, programming languages, careers.
Module 2: Python basics, variables, decisions, loops, functions, strings, lists, dictionaries, files, debugging, mini project.
Module 3: Turtle graphics, Pygame 2D games, VPython 3D graphics, creative mini project.
Module 4: Final project, project management (Kanban), documentation, teamwork, presentations, exam prep.
Duration: ~12 hours (Weeks 1–3)
Goal: Build a foundation in computing by exploring hardware, operating systems, file management, software applications, algorithms, and pseudocode. Develop basic problem-solving strategies with algorithms and pseudocode, practice organizing projects, and prepare for coding through teamwork and communication.
Objective: Understand what a computer does, the role of operating systems, and how to organize files and applications.
mkdir
, ls/dir
)Objective: Use software applications (spreadsheets, text editors, IDEs) to process, organize, and represent information.
Objective: Break down problems into algorithms and represent them with pseudocode and flowcharts.
Objective: Explore languages, why they differ, and how coding connects to real jobs.
Objective: Apply knowledge of computers, OS, software apps, algorithms, and languages to design a small project; organize files; create pseudocode/flowcharts; present.
Duration: ~42 hours (Weeks 4–12)
Goal: Learn Python basics (variables, operators, conditionals, loops, functions, strings, lists, dictionaries, files, debugging). Practice writing small programs and complete a fundamentals mini project.
Objective: Write and run your first program; connect algorithms to code; understand simple program structure and data storage.
print("Hello, World!")
#
)print()
and input()
.py
fileprint
and read error.py
fileinput()
Objective: Perform calculations; combine text and numbers; convert types; debug type errors.
int
, float
, str
, bool
int()
, float()
, str()
int("hello")
Objective: Use conditions and branching to handle different outcomes.
if
, elif
, else
if
errorsObjective: Repeat actions automatically using for
and while
; control loops safely.
for
with range()
while
loopsbreak
, continue
time.sleep()
Objective: Write reusable code with functions; pass inputs/returns; import and use Python libraries (math
, random
, time
, this
).
def
; call functionsmath
, random
, time
, this
math.sqrt()
, math.pi
, random.randint()
, random.choice()
, time.sleep()
greet(name)
→ “Hello, name!”math.sqrt()
on user inputrandom.randint(1, 6)
math.pi
random.choice()
return
, indentation)this
: discuss the Zen of PythonObjective: Access characters, slice substrings, and apply string methods to transform/analyze text.
word[0:3]
, word[-2:]
).upper()
, .lower()
, .replace()
, .find()
, .count()
len()
; iterating with for
len()
.find()
Objective: Store/manage multiple items; add/remove; sort/reverse; loop through lists.
[]
append()
, remove()
for
len()
random.shuffle
Objective: Use key–value pairs; add/update/retrieve values; iterate through items.
{}
KeyError
with .get()
Objective: Save output to a file and read it back; understand file types (.txt vs .csv).
.txt
vs .csv
with open()
for writing/readingObjective: Identify and fix common coding mistakes; use error messages and simple exception handling.
try/except
ValueError
, ZeroDivisionError
)Objective: Build a small project combining variables, decisions, loops, functions, strings, collections, file I/O, and debugging; practice planning, teamwork, and presentations.
Duration: ~28 hours (Weeks 13–18)
Goal: Use Turtle, Pygame, and VPython to create visual programs, drawings, animations, and simple games; apply concepts in creative, interactive projects.
Objective: Use Turtle to draw simple shapes and text; learn coordinates, colors, and movement.
import turtle as t
penup()
/pendown()
positioningObjective: Create complex drawings via loops and reusable functions; experiment with fills and patterns.
for
loops for repetitionpenup()
/pendown()
Objective: Explore 2D graphics with Pygame; create windows, shapes, text; learn refresh loops.
Objective: Make graphics interactive with keyboard/mouse; add basic sounds and boundaries.
Objective: Combine movement, collisions, and scoring to make a basic game; practice game loop logic.
Objective: Visualize and animate 3D objects; build simple scientific models.
Objective: Use Turtle, Pygame, or VPython to design a creative project; plan, code, debug, and present.
Duration: ~8 hours (Weeks 19–20)
Goal: Plan, build, and present a final project demonstrating coding skills, teamwork, communication, and documentation; review for the certification-style exam.
Objective: Plan, design, and begin building a final project that demonstrates coding knowledge, teamwork, and communication.
Objective: Review key concepts; practice debugging; present final projects with clear communication and reflection.
Objective: Demonstrate mastery of the course content by completing a proctored, certification-style exam.
Students who successfully pass the exam will receive a digital certificate and badge via Credly, recognizing their achievement in Python fundamentals and creative coding.
Download Course Syllabus in PDF
This course is fully aligned with the Coding Fundamentals CTE Standards (CTE-IT.68.9009200 – CIP: 0511020109, Short Program: 9009200, Career Cluster: Information Technology) as published on CPALMS by Florida State University. Lessons and activities directly address objectives such as problem-solving with algorithms, using specialized coding software, developing proficiency with operating systems and applications, practicing teamwork and communication, and building real projects with Python. A detailed, lesson-by-lesson alignment to the CTE standards is provided in the course documentation.
Download Alignment to CTE Standards in PDF
Students who complete the course and successfully pass the final in-course exam will be awarded the PyCrafters™ – Python for Teens Certificate of Completion issued by the OpenEDG Python Institute. In addition, they will receive a digital badge via Credly, which can be shared on social media, added to digital portfolios, or included in resumes and school applications as proof of achievement in coding fundamentals.
SPECIFICATIONS ITEM | DESCRIPTION |
---|---|
Exam name | PyCrafters™ Final Exam – Python for Teens |
Validity | Lifetime |
Exam Duration | Exam: 45 minutes |
Number of Items | 32 |
Format | Single- and multiple-select questions, interactive and short coding tasks |
Scoring | Each item = max 10 points (total = 320 points) |
Passing Levels | Explorer Certificate – score between 70% and 85%
Adventurer Certificate – score between 86% and 100% |
Credential Awarded | OpenEDG Python Institute Certificate
Digital Badge via Credly |
Exam Delivery Channel | OpenEDG Testing Service (TestNow™) |
The PyCrafters™ Exam is organized into four domains that reflect the core knowledge and skills developed throughout the course. Each domain contains a set of exam objectives that specify what students are expected to know and demonstrate.
Domain 1 focuses on foundational computer concepts, operating systems, file management, and pseudocode. Domain 2 emphasizes Python fundamentals, including program structure, variables, data types, conditionals, loops, functions, libraries, and error handling. Domain 3 highlights visual and interactive programming with Turtle, Pygame, and VPython, applying Python concepts to creative projects and games. Domain 4 assesses teamwork, project planning, documentation, and communication. Each exam item is mapped to one or more objectives, ensuring that all critical skills are evaluated.
5 exam items → 50 points (15.6% of total exam)
14 exam items → 140 points (43.8% of total exam)
8 exam items → 80 points (25% of total exam)
5 exam items → 50 points (15.6% of total exam)
The PyCrafters™ Final Exam is designed to fairly and securely assess each student’s mastery of the course content. The policies below outline important rules and procedures for all candidates.
The exam is delivered securely online through the TestNow™ platform, supporting AI-proctored, teacher-proctored, or hybrid supervision models.
Test candidates should take exams in a quiet, well-lighted area, which is free from noise and distraction.
The following Code of Honor and rules for taking the exam must be respected throughout and after the exam session:
The test candidate declares they will not participate in any cheating incident, breach of security, or any other behavior that may be considered a compromise of the integrity or confidentiality of the exam. Prohibited behaviors include (but are not limited to):
The PyCrafters™ Exam is the final assessment for the PyCrafters™ – Python for Teens course. It validates the student’s knowledge of computing foundations, Python programming basics, and creative coding projects. This Candidate Guide explains exam logistics, policies, accommodations, and certification outcomes.
Download Candidate Guide in PDF