PyCrafters™ – Python for Teens is a standards-aligned Python course for middle school students ages 11–14. Students learn coding fundamentals by building games, animations, visual programs, and real projects while developing problem-solving, teamwork, and communication skills.
The course is aligned with the CPALMS Coding Fundamentals CTE Standards for Middle School, helping schools introduce Python through a structured, age-appropriate curriculum.
Interested in PyCrafters™?
PyCrafters™ is coming soon. Request pilot access to learn more about availability and early implementation opportunities.
Request Pilot Access
First — who's signing up?
This helps us send you to the right place. We ask students for nothing at all.
Request Pilot Access
Where should we send access?
We'll only use this to share the pilot and early implementation details.
Learn Python by creating games, animations, visual programs, and practical coding projects.
Educators
Use a structured curriculum with clear modules, activities, projects, and assessment preparation.
Schools
Introduce middle school learners to coding fundamentals through a standards-aligned Python course.
Course Overview
Students progress through four practical modules, moving from computing basics to Python programming, visual coding projects, and a final team project.
Module 3: Visual & Interactive Programming — creative projects using Turtle, Pygame, and VPython.
Module 4: Final Project & Exam Prep — teamwork, Kanban planning, documentation, presentations, and final assessment preparation.
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.
The course includes two learning paths:
Explorer — guided, step-by-step activities for ages 11–12.
Adventurer — more independent challenges for ages 13–14.
This makes the course suitable for different confidence levels while keeping all students on the same learning track.
Coming soon. Educators, schools, and partners can request pilot access.
PyCrafters™ helps young learners build confidence with Python through practical coding activities, visual projects, mini projects, and a final team project.
Students who complete the course and pass the in-course final exam receive a Certificate of Completion from the OpenEDG Python Institute and a shareable digital badge via Credly.
Teaching with PyCrafters™
Most coding lessons work best with a few minutes of explanation and a lot of doing. PyCrafters™ is built that way. Each lesson introduces one idea, then hands the keyboard straight back to the student.
How a lesson runs
A concept, in minutes. Every topic is introduced in plain language with worked examples you can talk through in about fifteen minutes — a starting point, not a lecture.
Real code, right away. A Python editor and console sit beside the lesson. Students type the examples, change them, break them, and run them on the spot — nothing to install, nothing to configure. The idea and the practice share one screen.
Practice they can check. Short activities and quizzes follow each concept, so students apply what they’ve just met and check their understanding as they go.
The story, as a reward. Each lesson closes with a single short story video from the PyCrafters™ world — the payoff for finishing the work, not a detour through it. Use it or skip it without losing any of the teaching.
You keep control of the pace and the shape. Teach it flipped, teach it live, lean hard on the editor and treat the narrative as optional — the course fits your classroom rather than dictating to it.
What students will learn:
Explain how computers, operating systems, and common software applications support programming and problem-solving tasks.
Use Python coding software to write, test, debug, and improve simple programs, applying structured problem-solving strategies.
Apply key programming concepts including algorithms, variables, conditionals, loops, functions, strings, lists, dictionaries, and file handling.
Design and build creative projects such as games, animations, utilities, and interactive simulations using Python libraries like Turtle, Pygame, and VPython.
Develop workplace-ready skills by practicing teamwork, collaboration, project planning with tools such as Kanban boards, clear documentation, and oral and written communication.
Recognize that multiple algorithms can solve the same problem and collaboratively implement coding solutions as part of a team project.
Prerequisites
No prior coding experience is required. PyCrafters™ is designed for curious beginners who want to learn how computers, programs, and Python projects work. Students should be ready to practice problem-solving, follow step-by-step activities, and collaborate with classmates.
Module 3: Visual & Interactive Programming — creative projects using Turtle, Pygame, and VPython.
Module 4: Final Project & Exam Prep — teamwork, Kanban planning, documentation, presentations, and final assessment preparation.
Module 1: Introduction to Computers and Programming
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.
Lesson 1: What Is a Computer? (2 hrs)
Objective: Understand what a computer does, the role of operating systems, and how to organize files and applications.
Topics
Hardware vs software
The role of the operating system (Windows, macOS, Linux, Android, iOS)
Common software apps: word processor, spreadsheet, presentation, coding IDE
Files, folders, and extensions (.txt, .docx, .xlsx, .png, .py, etc.)
Keyboarding and shortcuts (copy/paste, open, save, etc.)
Everyday uses of computing in school/work
Explorer Activities
“Computer as a house” analogy (hardware = walls, OS = manager, apps = furniture)
Match hardware parts to roles (CPU, storage, memory)
Create SchoolProject folder and save a text file (GUI)
Identify file icons and guess types (.docx, .png, .mp3)
Type a short paragraph and save it
Save a Doc and a Python file in a project folder
Adventurer Activities
Research: Windows vs Linux similarities/differences
Use CLI to create/list folders (mkdir, ls/dir)
Plan a folder tree map (School > Science > Project1)
Rename/move/delete files using OS tools
Reflection: Why different OSes exist and when each is useful
Lesson 2: Exploring Software Applications & Data (2 hrs)
Objective: Use software applications (spreadsheets, text editors, IDEs) to process, organize, and represent information.
Topics
Word processors, spreadsheets, presentations, coding IDEs
Sorting, filtering, searching in spreadsheets
Why spreadsheets/databases matter at work (finance, HR, inventory, scheduling)
Displaying info with charts/graphs
How programming automates tasks
Explorer Activities
Create a class schedule in a spreadsheet
Enter attendance and filter absent students
Sort classmates alphabetically
Filter favorite movies by genre
Create a bar chart of daily screen time
Adventurer Activities
Expense tracker (add, sort, sum)
Graph monthly spending
Compare spreadsheet vs coding (pros/cons)
Save as .xlsx and .csv; open both and compare
Weekly work hours calculator
Lesson 3: Thinking Like a Programmer: Algorithms & Problem-Solving (4 hrs)
Objective: Break down problems into algorithms and represent them with pseudocode and flowcharts.
Topics
What is an algorithm? Everyday examples
Multiple ways to solve the same problem
Flowcharts and pseudocode basics
Problem decomposition
Links between real-world tasks and program logic
Explorer Activities
Pseudocode: brushing teeth
Flowchart: sandwich/cereal
Group: two pseudocode solutions for “cross the street safely”
Compare versions for clarity
Type pseudocode in a text editor (keyboarding practice)
Adventurer Activities
Pseudocode: vending machine or traffic light
Flowchart a simple maze/decision tree
Translate flowchart to step-by-step instructions
Research a famous algorithm (sorting, LIFO, FIFO)
Debate: multiple algorithms for one problem
Lesson 4: Programming Languages & Careers (2 hrs)
Objective: Explore languages, why they differ, and how coding connects to real jobs.
Topics
Why many languages exist (design approaches, strengths)
Python vs JavaScript/Swift/C++
Careers: games, business, AI, web
Teamwork and communication in coding
Coding for workplace tasks (automation, reporting, web tools)
Explorer Activities
Match careers to workplace applications
Watch short demo: Python vs Scratch vs HTML
Career match-up: “Which job uses which language?”
Reflection: “Where could I use coding in my life?”
Adventurer Activities
Research: pick a language and share main use
Group brainstorm: file formats & why they exist
Case study: Python in games/AI
Case study: Python + spreadsheets for data processing
Team pseudocode → short code exercise
Present findings (short slides)
Lesson 5: Mini Project – Computing Foundations (2 hrs)
Objective: Apply knowledge of computers, OS, software apps, algorithms, and languages to design a small project; organize files; create pseudocode/flowcharts; present.
Topics
Project folder structure
Using apps to support development
Pseudocode and flowcharts for a scenario
Multiple algorithms for the same problem
Clear, concise presentations
Explorer Activities
Checklist to track project steps
Create folder with subfolders (Docs, Data, Code, Images); save one file in each
Goal: Learn Python basics (variables, operators, conditionals, loops, functions, strings, lists, dictionaries, files, debugging). Practice writing small programs and complete a fundamentals mini project.
Lesson 6: First Steps in Python (3 hrs)
Objective: Write and run your first program; connect algorithms to code; understand simple program structure and data storage.
Topics
IDE options (Edube Sandbox, Thonny, IDLE, online REPL)
print("Hello, World!")
Comments (#)
Variables = storage boxes
print() and input()
Program sequence
Saving a .py file
Explorer Activities
Run Hello, World!
Greet three friends
Ask for name, print welcome
Add comments to explain each line
Pseudocode “introduce yourself” → code
Debug: misspell print and read error
Run a saved .py file
Adventurer Activities
Pseudocode first, then implement
Store answers in variables; format output
Three-question survey via input()
Pair: one writes pseudocode, one codes
Debug a broken “Hello, World!”
Lesson 7: Numbers and Text in Python (4 hrs)
Objective: Perform calculations; combine text and numbers; convert types; debug type errors.
Topics
Types: int, float, str, bool
Type conversion: int(), float(), str()
Operators: +, −, *, /, //, %, **
Operator precedence (PEMDAS)
Mixing strings and numbers
Common type errors
Explorer Activities
Birthday program: “Next year you will be …”
Sum and product of two numbers
Name Repeater (×5)
Pet sentence generator
Debug: int("hello")
Adventurer Activities
Tip Calculator (split bill)
Rectangle area & perimeter
Mini Math Quiz (random additions)
Debug wrong type conversions
Lesson 8: Making Choices with If Statements (6 hrs)
Objective: Use conditions and branching to handle different outcomes.
Topics
Booleans
Comparisons (==, <, >, >=, <=, !=)
if, elif, else
Nested conditionals
Explorer Activities
Umbrella program (raining?)
Pass/Fail quiz (≥ 50)
Even/Odd checker
Compare two numbers
Favorite color response
Adventurer Activities
Rock–Paper–Scissors (2-player)
Leap Year checker
Discount calculator (> 100)
Three-question quiz grader
Debug nested if errors
Lesson 9: Repetition with Loops (6 hrs)
Objective: Repeat actions automatically using for and while; control loops safely.
Topics
for with range()
while loops
break, continue
Infinite loop debugging
Explorer Activities
Print 1–20
Multiplication table (1–5)
Countdown 10 → 1
Ask until “stop”
All even numbers up to 20
Adventurer Activities
Number Guessing Game (1–10)
ASCII triangle with *
Password retry (3 attempts)
Prime number checker
Use time.sleep()
Debug an infinite loop
Lesson 10: Reusable Code – Functions and Imports (5 hrs)
Objective: Write reusable code with functions; pass inputs/returns; import and use Python libraries (math, random, time, this).
Topics
Define with def; call functions
Parameters and arguments
Scope basics
Return values
Built-in vs custom functions
Importing libraries; using math, random, time, this
Lesson 16: Mini Project – Python Fundamentals (4 hrs)
Objective: Build a small project combining variables, decisions, loops, functions, strings, collections, file I/O, and debugging; practice planning, teamwork, and presentations.
Topics
Project idea (game, utility, creative app)
Pseudocode/flowchart
Basic project management (tasks/roles/Kanban)
Use variables/loops/conditionals/functions together
Save/read files
Debug and test
Present results clearly
Explorer Activities
Choose a menu project: Diary, Quiz (5 Qs), Expense Tracker, Secret Messages
Pairs: one writes pseudocode, one codes
Add comments to explain steps
Use printed/online Kanban (“To Do / Doing / Done”)
2–3 minute demo
Adventurer Activities
Propose own idea or choose: Multi-level Quiz (leaderboard), Grades Manager, Inventory Tracker, Text Analyzer
Pseudocode & flowchart plan
Modularize with functions
Team debug (peer review)
Short README (what it does, how to use)
5-minute presentation (features + one bug fixed)
Module 3: Visual & Interactive Programming
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: Make graphics interactive with keyboard/mouse; add basic sounds and boundaries.
Topics
Event handling
Keyboard movement
Mouse-click events
Sounds
Screen boundaries
Explorer Activities
Move a square with arrow keys
Change color while moving
Stop at edges
Play a sound on key press
Draw a circle on mouse click
Adventurer Activities
Ball bouncing with paddle
Sprite follows mouse
Background image
Collision sound
Debug input lag/stuck key
Lesson 21: Pygame – Building a Simple Game (4 hrs)
Objective: Combine movement, collisions, and scoring to make a basic game; practice game loop logic.
Topics
Collision detection
Game loop structure
Scores and lives
Game over and restart
Explorer Activities
Falling object from top
Paddle catches object
Score counter
“Game Over” message
Restart on key press
Adventurer Activities
Multiple falling objects
Lives counter (3 misses)
Levels: speed increases with score
Leaderboard at end
Debug collision issues
Lesson 22: VPython – 3D Graphics (4 hrs)
Objective: Visualize and animate 3D objects; build simple scientific models.
Topics
Setup VPython
3D shapes (sphere, box, cylinder)
3D positioning
Animation loops
Simple models (solar system, pendulum)
Explorer Activities
Display a 3D sphere
Add a cylinder pillar
Bouncing ball animation
Rotate a cube
Change background color
Adventurer Activities
Earth orbits the Sun
Moon orbits Earth
Bouncing ball with gravity
Pendulum swing simulation
Debug wrong-direction movement
Lesson 23: Mini Project – Visual Creation (4 hrs)
Objective: Use Turtle, Pygame, or VPython to design a creative project; plan, code, debug, and present.
Topics
Choose project type (art, animation, game, simulation)
Break down steps
Use functions/loops for structure
Debug visual programs
Present to peers
Explorer Activities
Turtle postcard (house, tree, sun)
Turtle repeating pattern/mandala
Pygame catching game
VPython bouncing ball
Partner demo: explain how it works
Adventurer Activities
Turtle skyline or flower garden with loops
Pygame game with scoring/levels
VPython mini solar system (Earth + Moon)
Enhancements: sound, multiple objects, scoreboard
Class presentation: concept, challenges, debugging
Module 4: Final Project & Exam Prep
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.
Lesson 24: Final Project Development (4 hrs)
Objective: Plan, design, and begin building a final project that demonstrates coding knowledge, teamwork, and communication.
Post code + docs to shared space (Drive, GitHub Classroom, LMS)
Reflection report (what went well, what to improve)
Lesson 26: PyCrafters™ Final Exam (45 min)
Objective: Demonstrate mastery of the course content by completing a proctored, certification-style exam.
Exam Details
Duration: 45 minutes
Format: 32 exam items (single-select, multiple-select, interactive and short coding tasks)
Content coverage: all major topics from Modules 1–4 (computers & OS, Python fundamentals, visual/interactive programming, problem-solving, debugging, and teamwork)
Achievement levels: Explorer Level – pass with a score between 70–85%, and Adventurer Level – pass with a score between 86–100%
Students who successfully pass the exam will receive a digital certificate and badge via Credly, recognizing their achievement in Python fundamentals and creative coding.
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.
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.
PyCrafters™ Final Exam Blueprint
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™)
Exam Domains
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.
1.2 Explain OS roles (Windows, macOS, Linux, Android, iOS).
1.3 Organize files/folders and recognize file types and extensions.
1.4 Compare common software applications (word processor, spreadsheet, presentation, IDE).
1.5 Represent processes using pseudocode and flowcharts.
Domain 2: Python Fundamentals
14 exam items → 140 points (43.8% of total exam)
Objectives
2.1 Write, run, and save Python programs; describe simple program structure.
2.2 Use variables and comments; perform console input/output.
2.3 Manage data types (int, float, str, bool) and type conversions.
2.4 Apply arithmetic operators and operator precedence.
2.5 Implement selection structures with if/elif/else.
2.6 Implement iterative structures with for/while; use break and continue.
2.7 Define and call functions with parameters and return values; understand scope.
2.8 Import and use standard libraries (e.g., math, random, time; “Zen of Python” awareness).
2.9 Manipulate strings, lists, and dictionaries using common methods.
2.10 Read from and write to files (.txt, .csv) using context managers; handle basic errors.
Domain 3: Visual & Interactive Programming
8 exam items → 80 points (25% of total exam)
Objectives
3.1 Use Turtle to draw shapes and patterns; apply colors, coordinates, and pen controls.
3.2 Reuse code in graphics via loops and functions to build modular drawings.
3.3 Create Pygame windows; draw shapes and text; manage the refresh loop and quit event.
3.4 Handle keyboard/mouse input in Pygame; move sprites; enforce boundaries; play simple sounds.
3.5 Implement basic collision detection, scoring, game over, and restart logic.
3.6 Visualize and animate simple 3D objects and motions using VPython.
Domain 4: Projects, Teamwork, & Communication
5 exam items → 50 points (15.6% of total exam)
Objectives
4.1 Plan programs using pseudocode and flowcharts; break problems into steps.
4.2 Collaborate effectively in teams (roles, peer review, respectful communication).
4.3 Use basic project management tools (task lists, Kanban boards) to track progress.
4.4 Document programs with comments and concise README files.
4.5 Present projects clearly with appropriate visuals and explanations.
Exam Policies
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.
PyCrafters™ Exam Policies
The exam is delivered securely online through the TestNow™ platform, supporting AI-proctored, teacher-proctored, or hybrid supervision models.
Scoring & Achievement Levels
Each exam item is worth a maximum of 10 points.
Total exam: 32 items → 320 points.
Explorer Level: 70%–85% (224–272 points).
Adventurer Level: 86%–100% (273–320 points).
Scores below 70% are not considered passing.
Retake Policy
If a student does not pass on the first attempt, a retake is allowed after a 7-day waiting period.
Another attempt may be permitted with teacher approval after additional study or practice assignments.
Exam Expiration
The final exam must be attempted before the end of the course schedule.
Certificates and badges remain valid as evidence of achievement; no expiration applies.
Identification & Security
Students must confirm their identity at the start of the exam using school ID or teacher verification.
The exam is delivered via TestNow™, an OpenEDG Testing Service, to prevent unauthorized access.
Exams may be AI-proctored, teacher-proctored, or hybrid to ensure fairness and maintain exam integrity.
ADA Compliance
The exam follows ADA and accessibility guidelines and is designed in alignment with WCAG 2.1 standards to ensure usability for all learners.
Accommodations (extended time, alternative formats) are available upon request and approval by the instructor or school administration. Please submit requests using the Accommodation of Disabilities form.
Score Invalidation
Scores may be invalidated if exam rules are violated (e.g., cheating, unauthorized materials, disruptive behavior).
In such cases, the student may lose the right to retake without teacher or administrator approval.
Testing Environment and Exam Session Security
Test candidates should take exams in a quiet, well-lighted area, which is free from noise and distraction.
Code of Conduct
The following Code of Honor and rules for taking the exam must be respected throughout and after the exam session:
The test candidate must work entirely alone on the test, and all the solutions submitted must be their own work.
The test candidate must not share their solutions or any information about the exam contents with anyone.
The test candidate must not use a false identity or take the test in somebody else’s name.
The test candidate must not engage in any unfair activities that may dishonestly improve their results or influence somebody else’s results.
Prohibited Behaviors During 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):
Copying, publishing, selling, offering to sell, distributing, modifying, reverse engineering, decompiling, disassembling, or translating any exam or exam content.
Disseminating the actual exam content by any means (e.g., web postings or reconstruction through memorization).
Using a falsified identity, or providing falsified information or documentation; soliciting a third party to take a test on the candidate’s behalf.
Using falsified or modified certificates/score reports to misrepresent certification status.
Seeking or obtaining unauthorized access to exam materials before, during, or after the exam; using brain dump materials or unauthorized publications of exam items.
Using or accessing notes, study materials, didactic aids, or any other examination aids during the exam session.
Exiting the exam session Full Screen mode or the exam interface; opening new tabs or windows, or clicking outside the exam interface.
Using more than one monitor/screen during the exam session.
Causing intentional Internet connection drops.
Causing a disturbance of any kind in a testing facility (proctored exams).
Making notes of any kind or using recording devices during the exam.
Tampering with the operation of testing facility equipment (proctored exams) or attempting to hack the OpenEDG Testing Service system.
Violating the Exam Policy or Exam Retake Policy.
Otherwise violating the Exam Terms and Conditions or NDA.
PyCrafters™ Exam Candidate Guide
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.