Courses designed for mastery.

Our complete progression of courses guides students from second grade through high school.

Elementary SchoolMiddle SchoolHigh School

Elementary School

More than just an introduction to code.

Our series of elementary computer science courses guides students from visual block-based coding to professional line-based coding. Students develop foundational computer science knowledge through full-year courses while learning to apply coding to math, language arts, science, and social studies through our Core Content Packs.

Other elementary programs exclusively use drag-and-drop block-based coding, leaving students without the skills to structure and code line-based programs with the necessary precision. Rather than abandoning students to a sudden climb in difficulty, our Skylark language presents students with a gradual path to conquer this challenging transition over a series of courses.

Introducing Skylark.


Skylark is TechSmart’s introductory educational coding language, invented to ease the transition from visual coding to line-based code. Every Skylark block represents real Python code. That means students not only get a gentle introduction to code, but one that lets them gradually “level up” to the line-based code used in college and careers.
Learn More About Skylark

01

Block Code

As students advance through our courses, their Skylark blocks progress through three levels of sophistication. Blocks begin worded appropriately for younger students and gradually take on the vocabulary and syntax of written Python code.

02

Hybrid Code

Skylark’s unique hybrid programs combine blocks and Python code in the same editor. This enables our courses to gradually replace blocks with the line code that powers them.

03

Line Code

Every block maps onto clear and straightforward Python code. By the end of their transition, students will write the same line-based Python common in professional environments.

Coding Courses

Our elementary school progression consists of four year-long courses. Students advance through a sequence of computer science concepts where each course builds upon the previous one, all while creating progressively more sophisticated programs set in a colorful fantasy world.

Screenshot of game

Aethereal

A world of adventure that connects each coding activity.

Aetherial is a world made up of four elemental realms: earth, fire, water, and air. The Aetherial narrative tells the story of four young heroes, one from each land, who meet unexpectedly one day and decide to travel the realms together, learning about each other’s unique strengths and encouraging cooperation among the different nations. Each Skylark lesson is a chapter in these characters’ story, and every exercise centers around their adventures.

CS10: Coding in Skylark 1

Course Description

The first course in the Skylark curriculum starts students on a lifelong path of loving code. Core coding concepts are taught using engaging characters and stories that weave throughout the Skylark course progression, allowing students to tie fundamental learnings to familiar, friendly faces. The course emphasizes student creativity, giving them powerful tools for self-expression in a digital space.

Language:

Coding Concepts
  • Events
  • Frames
  • Sprites
  • Variables
  • Input and Output
  • Conditionals
  • Randomness
  • Coordinates
  • Mouse and Keyboard Input
Outcomes
  • Write programs that make computers follow instructions
  • Create animations that move characters around on screen
  • Precisely time and control character movement
  • Process text-based information from the user
  • Write code that makes decisions, choosing between multiple options
  • Specify position on-screen based on coordinates
  • Write code that reacts to input from the mouse and keyboard

Students will code:

Boulder’s Heavy Lifting
Boulder’s character introduction animation, where he pushes a huge rock across the screen as part of a construction project
Coding Concepts
  • Variables
  • Changing Sprite Speed
Earth Dance
An animation where citizens of the earth city follow Splash’s random dance movements
Coding Concepts
  • Random Choice
  • Conditionals
Swat Team
A game where the player tries to take out bugs by clicking as many as they can within a time limit
Coding Concepts
  • Mouse Input
  • Coordinates
Egg Chicken
Splash plays a game in the fire city where she tries to catch a falling egg as close to the ground as she can
Coding Concepts
  • Advanced Conditionals
  • Number Ranges

CS20: Coding in Skylark 2

Course Description

The second Skylark course continues from the first, introducing new, more advanced coding concepts and new capabilities for creative expression. The narrative arc introduced in the first course continues through CS20, concluding the first adventure with the established characters. Students in CS20 gain a mastery of block-based coding that allows them to create an incredible variety of custom programs.

Language:

Coding Concepts
  • Boolean Logic
  • Collision
  • Lists
  • List Loops (For-Each)
  • List Indexes
  • Counting Loops (For-Range)
  • While Loops
  • Sprite Instances
  • Drawing Text
  • Spritesheet Animation
Outcomes
  • Combine decision-making questions to create complex logical statements
  • Write code that reacts to when characters collide on-screen
  • Store multiple pieces of data in a single collection (list)
  • Use loops to repeat code
  • Use loops to process data stored in lists
  • Create new copies of program elements dynamically as the code runs
  • Students write text to screen in a special drawing section of the code

Students will code:

Pipe Music
A musical program where the user can click on different sections of a sprite to create different sounds
Coding Concepts
  • Boolean Logic
  • Number Ranges
Light as a Rock
A game where Splash is trying to keep a bubble-enclosed Boulder
from hitting the ground
Coding Concepts
  • Sprite Collision
  • Advanced Conditionals
Up, Up, and Away
A game where Breeze carries Boulder up to the air city, dodging
floating islands
Coding Concepts
  • Lists
  • Nested Conditionals
Coach Flame
A two-player ping-pong game, where two players each control a child from the air city playing with a ball
Coding Concepts
  • Drawing Text
  • Spritesheet Animation

CS30: Transition to Python 1

Course Description

The second half of the Skylark curriculum focuses on transitioning students towards the Python curriculum in middle school. Taking the fundamentals that students have learned in previous courses, CS30 begins to transition students into formatting and typing code in Python syntax. Meanwhile, the characters from the first half of the Skylark curriculum begin a brand new adventure narrative to carry students through the course.

Language:

Coding Concepts
  • Main Program
  • Comments
  • Assignment Syntax
  • Data Types
  • Boolean Values
  • Mathematical Operators
  • Text Input & Output
  • Conditional Syntax
  • Comparison Syntax
  • Indentation
  • Import and Library Access Syntax
  • Coordinate Tuples
  • Procedural Shape Drawing
Outcomes
  • Structure code as a single program, rather than a series of instructions to individual characters
  • Replace many simple block combinations with typed Python code
  • Reinforce knowledge of coding structures from previous courses
  • Draw custom shapes based on screen positions

Students will code:

Fire Painting
A program where the user can paint with flames, which move after they’re created
Coding Concepts
  • Assignment Syntax
  • Mathematical Operators
Strongman
An interactive animation where two members of the rock city are competing to see who can push a giant rock faster
Coding Concepts
  • Text Input & Output
  • Assignment Syntax
Shell Guard
A game where the user has to fire blasts of water to defend against
oncoming bugs
Coding Concepts
  • Conditional Syntax
  • Comparison Syntax
Essence De Sheep
An interactive animation where the heroes help members of the water city gather the scent of the sky sheep
Coding Concepts
  • Conditional Syntax
  • Comparison Syntax

CS40: Transition to Python 2

Course Description

Building on CS30, this course transitions students further away from using blocks and further into the professional world of line-based coding. By the end of the course, student code is written and formatted almost entirely like traditional Python programs. As the characters from the Skylark narrative world come to the end of their adventures, the students’ journeys on the path of Python are just beginning!

Language:

Coding Concepts
  • Program Flow
  • Loop Syntax
  • Accessing Object Fields
  • Calling Object Methods
  • Event Reorganization
  • Main Loop
  • Event Loop
  • Quit Event
  • Mouse and Keyboard Syntax
  • Collision Event Syntax
  • Timing
Outcomes
  • Replace all simple blocks with typed Python code
  • Move code out of individual groups based on purpose (events) and construct a single large program with standard Python code organization
  • Write code that reacts to outside occurrences (such as mouse and keyboard input) in a more Python-like fashion

Students will code:

Fire Storm
A game where the user tries to keep a fire character moving against steadily-increasing wind
Coding Concepts
  • Loop Syntax
  • Accessing Object Fields
Rock-a-Bye
An interactive animation where the heroes help build a machine to get rid of giant rocks from the water city
Coding Concepts
  • Event Reorganization
  • Main Loop
The Rocky Road
A program where the user drags in map tiles to create a landscape
Coding Concepts
  • Mouse and Keyboard Syntax
  • Event Loop
On Moss
A game where the user tries to keep moss off of boulders before it can take over completely
Coding Concepts
  • Collision Event Syntax
  • Mouse and Keyboard Syntax

Applied Coding Core Content Packs

Coding is a learning medium that can increase engagement and understanding in other subjects. At the elementary school level, we offer bundles of grade-appropriate coding exercises in the core subjects, each designed around national standards from Common Core, NGSS, and NCSS.

Curious Labs

A narrative that brings the core subjects to life.

Curious Labs is four mythical creatures who have banded together to discover everything they can about the world we live in. With a character representing each of the four core subjects, every activity focuses on the Curious Labs heroes learning about a math, science, social studies, or language arts concept in order to solve a problem and help out humans.

Math Core Content Pack

Course Description

Elementary core content packs are designed to be used in conjunction with the Skylark core curriculum in order to integrate programming into other core subject areas. Students use simple coding concepts learned in Skylark CS10 in order to code programs that excite their interest in math and related concepts. The core content packs feature the narratives and fantastical creatures from the Curious Lab, with the math pack focusing on Isaac, the unicorn engineer.

Language:

Students will code:

Solving for Dogs
Ada and Isaac promised to help a pack of snow rescue dogs by making them boots to keep their feet warm! But before they can start that project, they have to plan it out. Help them figure out how much material they’ll need in order to make all the boots.
Math Standards
  • Use multiplication and division within 100 to solve word problems in situations involving equal groups, arrays, and measurement quantities
  • Multiply or divide to solve word problems involving multiplicative comparison
  • Solve multistep word problems posed with whole numbers and having whole-number answers
Fair Fractions
Two brothers are always arguing about who got more: more dessert, more sleep, more vacation time. Isaac wants to help them, but unfortunately they can only give him their amounts as fractions. Help him use common denominators to determine who got the bigger portion.
Math Standards
  • Compare two multi-digit numbers based on meanings of the digits in each place, using >, =, and < symbols to record the results of comparisons.
  • Compare two fractions with different numerators and different denominators, e.g., by creating common denominators or numerators.
  • Multiply a whole number of up to four digits by a one-digit whole number, and multiply two two-digit numbers.
Fair Fiction
Seshat’s books are all over the place in heaps. Isaac wants to help her organize them to be neat and tidy, figuring out every way she could store them so that each shelf has the same number of books on it.
Math Standards
  • Find all factor pairs for a whole number in the range 1-100.
  • Recognize that a whole number is a multiple of each of its factors.
  • Determine whether a given whole number in the range 1-100 is a multiple of a given one-digit number.
Garden Guru
Yukichi wants to build a daikon garden to remind him of home, but he needs to figure out what materials he needs. Help Isaac calculate the perimeter and area of the garden to determine the necessary supplies.
Math Standards
  • Apply the area and perimeter formulas for rectangles in real world and mathematical problems.
  • Use the four operations to solve word problems involving distances, intervals of time, liquid volumes, masses of objects, and money.
  • Know relative sizes of measurement units within one system of units including km, m, cm; kg, g; lb, oz.; l, ml; hr, min, sec

Math Standards

Grade 3
  • Counting within 1000, skip-count by 5’s, 10’s, and 100’s
  • Logically interpret products of whole numbers
  • Logically interpret whole-number quotients of whole numbers
  • Use multiplication and division within 100 to solve word problems in situations involving equal groups, arrays, and measurement quantities
  • Understand division as an unknown-factor problem
  • Fluently multiply and divide within 100
  • Solve two-step word problems using the four operations
  • Represent two-step word problems using equations with a letter standing in for the unknown quantity
  • Assess the reasonableness of answers using mental computation and estimation strategies
  • Fluently add and subtract within 1000
Grade 4
  • Use multiplication and division within 100 to solve word problems
  • Situations involving equal groups, arrays, and measurement quantities
  • Use drawings with symbols to represent unknowns
  • Interpret a multiplication equation as a comparison
  • Multiply or divide to solve word problems involving multiplicative comparison
  • Solve multistep word problems posed with whole numbers and having whole-number answers
  • Read and write multi-digit whole numbers using base-ten numerals, number names, and expanded form
  • Compare two multi-digit numbers based on meanings of the digits in each place
  • Use >, <, and = symbols to describe comparison relationships
  • Fluently add and subtract multi-digit whole numbers using the standard algorithm
  • Multiply a whole number of up to four digits by one-digit whole number
  • Multiply two two-digit numbers
  • Find whole-number quotients and remainders with up to four-digit dividends and one-digit divisors
  • Illustrate and explain multiplication and division calculations using equations, rectangular arrays, and/or area models
Grade 5
  • Use +-*/ to solve word problems involving time, liquid volumes, mass, money, etc.
  • Problems involving simple fractions and decimals
  • Convert between measurement units
  • Represent measurement quantities using diagrams
  • Write simple expressions that record calculations with numbers and interpret numerical expressions without evaluating them
  • Fluently multiply multi-digit whole numbers using the standard algorithm.
  • Find whole-number quotients of whole numbers with up to four-digit dividends and two-digit divisors
  • Divide using strategies based on place value, the properties of operations, and/or the relationship between multiplication and division
  • Illustrate and explain the above division calculation by using equations, rectangular arrays, and/or area models.
  • Add, subtract, multiply, and divide decimals to hundredths, using concrete models or drawings and strategies based on place value, properties of operations, and/or the relationship between addition and subtraction
  • Work with coordinates and number line axes to explain position and distance
  • Represent real world and mathematical problems by graphing points on a coordinate plane, and interpret coordinate values in the context of the situation

General Standards

  • Make sense of problems and persevere in solving them
  • Reason abstractly and quantitatively
  • Attend to precision
  • Use appropriate tools strategically
  • Look for and make use of structure
  • Look for and express regularity in repeated reasoning

Social Studies Core Content Pack

Course Description

Elementary core content packs are designed to be used in conjunction with the Skylark core curriculum in order to integrate programming into other core subject areas. Students use simple coding concepts learned in Skylark CS10 in order to code programs that excite their interest in social studies and related concepts. The core content packs feature the narratives and fantastical creatures from the Curious Lab, with the social studies pack focusing on Yukichi, a fox-spirit explorer from Japan.

Language:

Students will code:

Migration Maze
Yukichi wonders why humans tend to settle in certain types of locations. Help the explorer find the ideal location to settle on a map, and figure out what makes that place better than everywhere else!
Social Studies Standards
  • Construct and use maps to explain the movement of people
  • Analyze the costs and benefits of people’s decisions to move and relocate to meet their needs and wants
  • Understand that the geographic features have influenced the movement of people
Source of Survival
Yukichi wants to better understand resources, and how they help people take care of themselves. What happens when people use resources too fast?
Understands how geography, natural resources, climate, and available labor contribute to the sustainability of the economy of regions.
Social Studies Standards
  • Understands how geography, natural resources, climate, and available labor contribute to the sustainability of the economy of regions.
  • Understands and analyzes the costs and benefits of people’s decisions to move and relocate to meet their needs and wants.
Food Fight
A local school is holding a debate about whether the cafeteria should post nutritional information about their meals, and Yukichi is moderating the debate. Listen carefully to each side of the debate, and then discuss and vote as a class about what you think they should do.
Social Studies Standards
  • Understands that civic participation involves being informed about public issues and voting in elections.
  • Evaluates the effectiveness of a law or policy by explaining how it promotes ideals.
History Mystery
Yukichi has discovered strange markings on the ground in a nearby park, but he has no idea how they got there! Help Yukichi make use of different sources to figure out where the markings come from.
Social Studies Standards
  • Evaluates the accuracy of primary and secondary sources.
  • Understands the main ideas from an artifact, primary source, or secondary source describing an issue or event.
  • Understands that there are multiple perspectives regarding the interpretation of historical events and creates an historical account using multiple sources

Social Studies Standards

Grade 3
  • Understand how environment shapes culture and how cultural groups affect the environment
  • Understand the key ideals of unity and diversity
  • Understand how the economic systems of groups as influenced by laws, values, and customs
  • Understand the cultural universals of place, time, family life, economics, communication, arts, recreation, food, clothing, shelter, transportation, government, and education
  • Understand how contributions made by various cultural groups have shaped the history of the community and world
  • Engages in discussions that attempt to answer questions about cultural similarities and differences
Grade 4
  • Construct and use maps to explain the movement of people
  • Analyze the costs and benefits of people’s decisions to move and relocate to meet their needs and wants
  • Understand how geography, natural resources, climate, and available labor contribute to the sustainability of the economy of regions (in Washington state)
  • Understand that the geographic features (of the Pacific Northwest) have influenced the movement of people
  • Understand that learning about geography (of Washington state) helps us understand the global issue of trade
Grade 5
  • Construct and use maps to show and analyze information about the thirteen colonies
  • Understand the physical and cultural characteristics of the thirteen colonies
  • Understand and analyze the impact of the European colonists’ movement to the Americas on the land and the indigenous peoples
  • Analyze how people from various cultural groups have shaped the history of the United States
  • Understand that civic participation involves being informed about how public issues are related to rights and responsibilities
  • Understands the organization of the United States government
  • Understands the function of the United States government
General Standards
  • Illustrate cultures and cultural diversity
  • Describe processes of time, continuity, and change
  • Show relationships between people, places, and environments
  • Describe individual development and identity within cultures and relate this to personal identity
  • Distinguish and compare individuals, groups, and institutions
  • Describe relevant power, authority, and governance structures
  • Model systems of production, distribution, and consumption
  • Describe relationships between science and technology and society
  • Give examples of global connections and describe how different cultures and societies relate to one another
  • Explain civic ideals and practices

Langauge Arts Core Content Pack

Course Description

Elementary core content packs are designed to be used in conjunction with the Skylark core curriculum in order to integrate programming into other core subject areas. Students use simple coding concepts learned in Skylark CS10 in order to code programs that excite their interest in language arts and related concepts. The core content packs feature the narratives and fantastical creatures from the Curious Lab, with the language arts pack focusing on Seshat, the sphinx playwright and actress.

Language:

Students will code:

The Raven on Stage
Seshat has found an amazing, spooky poem that she wants to adapt into a play! Help her create a new creative work that expresses Poe’s “The Raven” in a different medium.
Language Arts Standards
  • Make connections between the text of a story and a visual presentation of the same content
  • Identify where each version reflects specific descriptions and directions
  • Explain the differences between poems, drama, and prose
Scene Stealer
Seshat wrote a scene for her friends to perform on stage, but she can’t figure out a good ending. Look at what she wrote so far and see if you can decide how it should end.
Language Arts Standards
  • Explain how a character’s actions contribute to a sequence of events
  • Describe how each successive part of a text builds on earlier sections
Lab Attack
Seshat has a story to tell you about a strange surprise in Ada’s lab. Take the story she told in the first-person and convert it to an animated third-person story.
Compare and contrast the point of view from which different stories are narrated, including the difference between first- and third-person narrations.
Language Arts Standards
  • Compare and contrast the point of view from which different stories are narrated, including the difference between first- and third-person narrations.
  • Write narratives to develop real or imagined experiences or events using effective technique, descriptive details, and clear event sequences.
  • Use technology to produce and publish writing as well as to interact and collaborate with others; demonstrate command of keyboarding skills.
Dragon Defense
Seshat wants to give a public speech to encourage people not to be afraid of Ada. She has a bunch of facts about dragons, but she needs your help to put them together into a good persuasive speech that will convince people not to be scared.
Language Arts Standards
  • Write opinion pieces on topics or texts, supporting a point of view with reasons and information.
  • Develop and strengthen writing as needed by planning, revising, and editing.

Language Arts Standards

Grade 3
  • Describe characters in a story (traits, motivations, feelings, etc.)
  • Explain how a character’s actions contribute to a sequence of events
  • Refer to parts of stories, dramas, and poems using terms such as chapter, scene, and stanza
  • Describe how each successive part of a text builds on earlier sections
  • Distinguish their own point of view from that of the narrator or those of the characters
  • Explain how specific aspects of a text’s illustrations contribute to what is conveyed by the words in a story
Grade 4
  • Make connections between the text of a story and a visual presentation of the same content
  • Identify where each version reflects specific descriptions and directions
  • Explain the differences between poems, drama, and prose
  • Refer to the structural elements of poems and drama when writing or speaking about a text
  • Refer to details and examples in a text when explaining what the text says
Grade 5
  • Determine a theme of a story, drama, or poem from details
  • Describe how characters in a story or drama respond to challenges, or how the speaker in a poem reflects upon a topic
  • Summarize a text
  • Quote accurately from a text to explain and draw inferences
  • Analyze how visual and multimedia elements contribute to the meaning, tone, or beauty of a text
  • Compare and contrast stories in the same genre on their approaches to similar themes and topics
General Standards
  • Ask and answer questions to demonstrate understanding of a text, referring explicitly to the text as the basis for the answers
  • Describe the relationship between a series of events, procedures, or steps using language that pertains to time, sequence, and cause/effect
  • Use information gained from illustrations and the words in a text to demonstrate understanding of the text
  • Write narratives to develop real or imagined experiences or events using effective technique, descriptive details, and clear event sequences
  • Read and comprehend informational texts
  • Read with sufficient accuracy and fluency to support comprehension
  • Engage effectively in a range of collaborative discussions
  • Summarize a written, visual, or other type of text aloud
  • Use knowledge of language and its conventions when writing, speaking, reading, or listening

Science Core Content Pack

Course Description

Elementary core content packs are designed to be used in conjunction with the Skylark core curriculum in order to integrate programming into other core subject areas. Students use simple coding concepts learned in Skylark CS10 in order to code programs that excite their interest in science and related concepts. The core content packs feature the narratives and fantastical creatures from the Curious Lab, with the science pack focusing on Ada, the dragon scientist.

Language:

Students will code:

Thrive Alive
Ada has found a new, strange creature by the shore of a lake. She’s never seen it before, but she’s pretty sure there’s plenty to learn about how it lives by examining its physical traits.
Science Standards
  • Construct an argument that plants and animals have structures that support their survival, growth, behavior, and reproduction
  • Use a model to describe that animals receive different types of information through their senses, and respond in different ways
Energy Connection
Isaac has built the Chair of the Future, and is demonstrating it for Ada. Each feature of the chair converts electrical power into a different type of energy. See if you can find them all!
Science Standards
  • Make observations to provide evidence that energy can be transferred from place to place by sound, light, heat, and electric currents.
Animal Hand-Me-Downs
Ada has developed a machine in her lab that can simulate all possible children given any set of parents. When she loads up these weird creatures into the machine, what will their offspring look like?
Science Standards
  • Analyze and interpret data to provide evidence that plants and animals have traits inherited from parents and that variation of these traits exists in a group of similar organisms.
Echo Loco
Ada can’t stop wondering what it must be like to be a bat and see the world through echolocation. So Isaac built her a simulation in his VR system so she can test it out for herself.
Science Standards
  • Use a model to describe that animals receive different types of information through their senses, process the information in their brain, and respond to the information in different ways.

Science Standards

Grade 3
  • Define a simple design problem that can be solved by applying scientific ideas about magnets
  • Analyze and interpret data to show that plants and animals inherit traits from their parents
  • Show that variation in inherited traits exists in a group of similar organisms
  • Develop models to describe that organisms have unique and diverse life cycles but all have in common birth, growth, reproduction, and death
  • Use evidence to construct an explanation for how the variations in characteristics among individuals of the same species may provide advantages in surviving, finding mates, and reproducing
Grade 4
  • Make observations to provide evidence that energy can be transferred via sound, light, heat, and electrical currents
  • Apply scientific ideas to design, test, and refine a device that converts energy from one form to another
  • Construct an argument that plants and animals have structures that support their survival, growth, behavior, and reproduction
  • Use a model to describe that animals receive different types of information through their senses, and respond in different ways
Grade 5
  • Make observations and measurements to identify materials based on their properties
  • Develop a model to describe movement of matter among plants, animals, decomposers, and the environment
  • Use models to describe that energy in animals’ food was once energy from the sun
  • Support an argument that differences in the apparent brightness of the sun compared to other stars is due to their relative distances from the Earth
  • Develop a model using an example to describe ways the geosphere, biosphere, hydrosphere, and/or atmosphere interact
General Standards
  • Define a program that reflects a specific need or want, including specified criteria for success
  • Generate and compare multiple possible solutions to a problem
  • Plan tests that determine whether the program meets criteria and run them, identifying failure points and points that can be improved
  • Iterate on a program by predicting the outcome, running the program to verify, and revising the program to better fit the intended outcome

Middle School

The path to build strong coding skills.

Over hundreds of engaging coding activities using the Python language, middle school students build a depth of knowledge in computer science and develop strong coding skills.

Students progress from making simple text-based console programs to building complex games and apps with full graphics and sound. Each instructional unit culminates in a collaborative project that students build and manage using a professional product development cycle.

Why Python?


Python is a professional programming language with a low floor and high ceiling. One of the easiest languages to read and understand, learning Python can lead to careers in web development, artificial intelligence, data science, game development, and more.
Learn More About Python

Coding Courses

Students take a sequence of three courses in the Python language. They progress from computer science fundamentals to advanced coding concepts, all while making engaging graphical apps and games.

CS100: Intro to Python Coding

Course Description

This quarter-long course is a great starting point for students to begin coding without requiring an entire semester of instruction. In an abridged format, the course still manages complete coverage of some of the most important fundamental coding concepts, while still allowing students to make engaging text-based games and simple interactive programs that fire the imagination.

Language:

Coding Concepts
  • Text Input and Output
  • Statements
  • Expressions
  • Variables
  • Concatenation
  • Mathematical Operators
  • Conditionals
  • Comparisons
  • Booleans
  • Logical Operators
  • While Loops
  • Libraries
  • Randomness
  • Debugging
Outcomes
  • Write programs that make computers follow instructions
  • Write code that makes decisions, choosing between multiple options
  • Write code that loops, repeating instructions until certain outcomes are reached
  • Pull in outside libraries that increase the capabilities of their programs

Students will code:

A Day at the Beach
A mad-libs style program where students fill in words to create a
fun story
Coding Concepts
  • Input & Output
  • Variables
  • Data Type Conversion
Fortune Teller
A digital version of the traditional child’s papercraft, with custom
fortunes
Coding Concepts
  • Conditionals
  • Nesting
  • Logical Operators
Last Cookie
A logic game where two players compete to see who takes the last cookie from a jar
Coding Concepts
  • While Loops
  • Logical Operators
  • Conditionals
E-Lemonade
A business simulation game where the player runs a lemonade website and tries to maximize profit over one week
Coding Concepts
  • Random Choice
  • While Loops
  • Calling Functions

CS101: Coding in Python 1

Course Description

This course begins the progression of the Coding in Python sequence, introducing the early fundamentals of coding. It blends detailed technical knowledge with engaging coursework, allowing students free-range creativity without sacrificing academic rigor. Students taking this course will receive the basic tools and building-blocks to code not only the assigned programs, but also to design and develop their own unique games and interactive experiences.

Language:

Coding Concepts
  • Text Input and Output
  • Statements
  • Expressions
  • Variables
  • Mathematical Operators
  • Conditionals
  • Booleans
  • Logical Operators
  • While Loops
  • Libraries
  • Randomness
  • Debugging
  • Coordinates
  • Windows
  • Drawing Lines and Shapes
  • RGB Colors
  • Tuples
  • Procedural Animation
  • Event Loops
  • Mouse and Keyboard Input
  • Timing and Framerate
Outcomes
  • Write programs that make computers follow instructions
  • Write code that makes decisions, choosing between multiple options
  • Write code that loops, repeating instructions until certain outcomes are reached
  • Pull in outside libraries that increase the capabilities of their programs
  • Create code that opens windows on a computer and draw graphics with shapes and colors
  • Animate shapes using traditional frame-based animation techniques
  • Interpret signals from the mouse and keyboard to control their programs

Students will code:

Last Cookie
A logic game where two players compete to see who takes the last cookie from a jar
Coding Concepts
  • While Loops
  • Boolean Logic
  • Conditionals
E-Lemonade
A business simulation game where the player runs a lemonade website and tries to maximize profit over one week
Coding Concepts
  • Random Choice
  • While Loops
  • Calling Functions
Shade Imposter
A color-perception game where the player tries to guess which shape is a different shade
Coding Concepts
  • Drawing Shapes
  • RGB Colors
Tortoise vs Hare
An animation that pits smooth, regular movement against random
leaps to see who will finish a race first
Coding Concepts
  • Procedural Animation
  • Event Loop
  • Quit Event

CS102: Coding in Python 2

Course Description

This course builds on the basics learned in CS101, rounding out the students’ knowledge of CS coding fundamentals. The course introduces image-based graphics, allowing students to produce the sorts of familiar games and dynamic interactive programs that they are already enthusiastic about.

Language:

Coding Concepts
  • Lists
  • Indexes
  • For-Each Loops
  • For-Range Loops
  • Sprite Images
  • Spritesheet Animation
  • Collision
  • Writing Functions
  • Arguments vs Parameters
  • Return Values
  • Default Parameters
  • Passing by Reference
Outcomes
  • Store and organize multiple items at once using a list data structure
  • Analyze and manipulate lists with looping code
  • Create code image objects from .jpg and .png images
  • Load animations from a sheet of frame images
  • Analyze when two image objects are colliding on screen and write code that reacts to it
  • Organize their code to be more efficient and useful
  • Use functions to write multiple sections of code that communicate with each other

Students will code:

Word Train
A word game where players have to come up with words starting with the previous player’s last letter, without repeating letters
Coding Concepts
  • Strings as Lists
  • Indexes
  • For-Each Loops
TechSmart Studio
A painting program where the user can select a color and click to
draw
Coding Concepts
  • Lists
  • Color Tuples
  • Procedural Drawing
Sky Dodge
An “infinite runner” game where the user controls a dragon and tries to pop balloons by breathing fire at them while avoiding clouds
Coding Concepts
  • Sprites
  • Spritesheet Animation
  • Sprite Collision
Pop Darts
A timing game where the player tries to pop as many balloons as possible with as few darts as possible in a given time limit
Coding Concepts
  • Functions
  • Return Values
  • Sprite Collision

Integrated Math Core Content Pack

Coding is a learning medium that can increase engagement and understanding in other subjects. Our middle school content packs empower teachers to integrate coding into math and science courses, tightly coupled with the core subject’s scope and sequence. All activities are designed to further understanding of both computer science and the core subject.

Integrated Math Core Content Pack

Course Description

This Core Content pack is designed to integrate into existing middle school Integrated Math courses in order to introduce coding alongside math content, and to illustrate how coding and math can support each other and the many benefits that each can provide to the other. The course is designed such that students may code engaging math-centric programs without any prior coding knowledge, learning the basics of coding as they progress through the course.

Language:

Students will code:

Can Cat Fit
A program that calculates whether a cat can fit into a box by using multiplication and inequalities.
Integrated math Standards
  • Solve inequalities in one variable
  • Define inequalities to represent a problem
  • Use units to guide the solution of multi-step problems
Equation Quizzer
A practice aid that automatically makes equations of form ax + b = c, asks students to solve them, and checks the answer.
Integrated math Standards
  • Solve two-step equations in one variable
  • Create equations in one variable
  • Explain each step of solving an equation
The Perfect Jump
A game where players need to solve an inequality to find the right speed the hero needs to jump to the next level.
Integrated math Standards
  • Solve multi-step inequalities
  • Define inequalities to represent a problem
  • Explain the reasoning behind the process of solving an equation
Graphy Bird
A game where players define a line on a coordinate plane using slope-intercept form to make a bird fly past obstacles.
Integrated math Standards
  • Graph equations on the coordinate plane
  • Define equations in slope-intercept form
  • Use function notation

Standards

  • Understand solving equations as a process of reasoning and explain the reasoning
  • Solve equations and inequalities in one variable
  • Understand the concept of a function and use function notation
  • Experiment with transformations in the plane
  • Make geometric constructions
  • Summarize, represent, and interpret data on a single count or measurement variable
  • Interpret linear models
  • Use basic fundamental coding structures common to all coding languages

Practices

  • Attend to precision
  • Reason abstractly and quantitatively
  • Make sense of problems and persevere in solving them
  • Model with mathematics
  • Use appropriate tools strategically
  • Look for and make use of structure

Algebra 1 Core Content Pack

Course Description

This Core Content pack is designed to integrate into existing middle school Algebra courses in order to introduce coding alongside math content, and to illustrate how coding and math can support each other and the many benefits that each can provide to the other. The course is designed such that students may code engaging math-centric programs without any prior coding knowledge, learning the basics of coding as they progress through the course.

Language:

 

Students will code:

Can Cat Fit
A program that calculates whether a cat can fit into a box by using multiplication and inequalities.
Algebra 1 Standards
  • Solve inequalities in one variable
  • Define inequalities to represent a problem
  • Use units to guide the solution of multi-step problems
Equation Quizzer
A practice aid that automatically makes equations of form ax + b = c, asks students to solve them, and checks the answer.
Algebra 1 Standards
  • Solve two-step equations in one variable
  • Create equations in one variable
  • Explain each step of solving an equation
The Perfect Jump
A game where players need to solve an inequality to find the right speed the hero needs to jump to the next level.
Algebra 1 Standards
  • Solve multi-step inequalities
  • Define inequalities to represent a problem
  • Explain the reasoning behind the process of solving an equation
Graphy Bird
A game where players define a line on a coordinate plane using slope-intercept form to make a bird fly past obstacles.
Algebra 1 Standards
  • Graph equations on the coordinate plane
  • Define equations in slope-intercept form
  • Use function notation

Standards

  • Reason quantitatively and use units to solve problems
  • Understand solving equations as a process of reasoning and explain the reasoning
  • Solve equations and inequalities in one variable
  • Solve systems of equations (linear systems)
  • Understand the concept of a function and use function notation
  • Build a function that models a relationship between two quantities
  • Construct and compare linear, quadratic, and exponential models and solve problems
  • Use basic fundamental coding structures common to all coding languages

Practices

  • Attend to precision
  • Reason abstractly and quantitatively
  • Make sense of problems and persevere in solving them
  • Model with mathematics
  • Use appropriate tools strategically
  • Look for and make use of structure

High School

College and career success start here.

At the high school level, students need to prepare for college and job opportunities. That’s why our high school classes build on the rigor and comprehensiveness of our middle school curriculum with a focus on increasing student independence, critical thinking, and problem-solving skills.

Students learn both coding fundamentals and advanced object-oriented thinking using the Python and Java languages. By the end of these courses, students will gain fluency in two professional coding languages, build a comprehensive computer science portfolio, and earn multiple Coding Competency Certifications.

Why Python?


Python is a professional programming language with a low floor and high ceiling. One of the easiest languages to read and understand, learning Python can lead to careers in web development, artificial intelligence, data science, game development, and more.
Learn More About Python

Why Java?


Java is a popular language, and learning it prepares students for many college and career opportunities. Since it bears strong similarities with other object-oriented languages, learning Java makes it easy to learn many other common languages.
Learn More About Java

Coding Courses

These six rigorous courses prepare students for college and careers by focusing on problem solving and critical thinking. Taught in Python and Java, they are designed to build a depth of knowledge in computer science and strong coding fluency.

CS201: Coding in Python 1

Course Description

This course begins the progression of the Coding in Python sequence, introducing the early fundamentals of coding. It blends detailed technical knowledge with engaging coursework, allowing students free-range creativity without sacrificing academic rigor. The course emphasizes logical thinking and problem-solving, critical thinking, and real-world coding application. Students taking this course will receive the basic tools and building-blocks to code not only the assigned programs, but also to design and develop their own unique games and interactive experiences.

Language:

Coding Concepts
  • Text Input and Output
  • Statements
  • Expressions
  • Variables
  • Mathematical Operators
  • Conditionals
  • Booleans
  • Logical Operators
  • While Loops
  • Libraries
  • Randomness
  • Debugging
  • Coordinates
  • Windows
  • Drawing Lines and Shapes
  • RGB Colors
  • Tuples
  • Procedural Animation
  • Event Loops
  • Mouse and Keyboard Input
  • Timing and Framerate
Outcomes
  • Write programs that make computers follow instructions
  • Write code that makes decisions, choosing between multiple options
  • Write code that loops, repeating instructions until certain outcomes are reached
  • Pull in outside libraries that increase the capabilities of their programs
  • Create code that opens windows on a computer and draw graphics with shapes and colors
  • Animate shapes using traditional frame-based animation techniques
  • Interpret signals from the mouse and keyboard to control their programs

Students will code:

Last Cookie
A logic game where two players compete to see who takes the last cookie from a jar
Coding Concepts
  • While Loops
  • Boolean Logic
  • Conditionals
E-Lemonade
A business simulation game where the player runs a lemonade website and tries to maximize profit over one week
Coding Concepts
  • Random Choice
  • While Loops
  • Calling Functions
Shade Imposter
A color-perception game where the player tries to guess which shape is a different shade
Coding Concepts
  • Drawing Shapes
  • RGB Colors
Tortoise vs Hare
An animation that pits smooth, regular movement against random leaps to see who will finish a race first
Coding Concepts
  • Procedural Animation
  • Event Loop
  • Quit Event

CS202: Coding in Python 2

Course Description

This course builds on the basics learned in CS201, rounding out the students’ knowledge of CS coding fundamentals. The course introduces image-based graphics, allowing students to produce the sorts of familiar games and dynamic interactive programs that they are already enthusiastic about. Emphasis is on code organization and the process of designing larger programs.

Language:

Coding Concepts
  • Lists
  • Indexes
  • For-Each Loops
  • For-Range Loops
  • Sprite Images
  • Spritesheet Animation
  • Collision
  • Writing Functions
  • Arguments vs Parameters
  • Return Values
  • Default Parameters
  • Passing by Reference
Outcomes
  • Store and organize multiple items at once using a list data structure
  • Analyze and manipulate lists with looping code
  • Create code image objects from .jpg and .png images
  • Load animations from a sheet of frame images
  • Analyze when two image objects are colliding on screen and write code that reacts to it
  • Organize their code to be more efficient and useful
  • Use functions to write multiple sections of code that communicate with each other

Students will code:

Word Train
A word game where players have to come up with words starting with the previous player’s last letter, without repeating letters
Coding Concepts
  • Strings as Lists
  • Indexes
  • For-Each Loops
TechSmart Studio
A painting program where the user can select a color and click to draw
Coding Concepts
  • Lists
  • Color Tuples
  • Procedural Drawing
Sky Dodge
An “infinite runner” game where the user controls a dragon and tries to pop balloons by breathing fire at them while avoiding clouds
Coding Concepts
  • Sprites
  • Spritesheet Animation
  • Sprite Collision
Pop Darts
A timing game where the player tries to pop as many balloons as possible with as few darts as possible in a given time limit
Coding Concepts
  • Functions
  • Return Values
  • Sprite Collision

CS203: Coding in Python 3

Course Description

The second half of the Python curriculum begins to cover more advanced CS topics in more depth, compared to previous courses. Students begin to learn the advanced coding skills that truly prepare them to write detailed, realistic programs, as well as learning all the tricks and techniques that can give their personal programs the next level of polish and creative expression.

Language:

Coding Concepts
  • Dictionary Data Structure
  • Dictionaries as Objects
  • 2D Lists (Grids)
  • Font Objects
  • Digital Typography
  • Sound Files
  • Mixers
  • Channels
  • Asset Attribution
  • JSON Files
  • Loading and Saving from Data Files
Outcomes
  • Organize data in relation to each other with dictionaries
  • Approximate real-world objects by storing groups of data together
  • Combine multiple levels of lists to create grid-based programs
  • Play sound files in programs
  • Use fonts in programs to position and draw text on screen
  • Store data outside programs in a Python-like format

Students will code:

Sundae Bar
A purchasing app that calculates ice cream costs based on user choices
Coding Concepts
  • Dictionaries
  • Looping Through Keys
  • While Loops
Memrecall
A memory game where the player flips cards and tries to find matching pairs
Coding Concepts
  • 2D Lists (Grids)
  • Pixel vs Grid Coordinate Conversion
  • Functions
Stepping Tones
A music-making program where students select positions in a grid to play different notes on a beat
Coding Concepts
  • Sounds
  • 2D Lists (Grids)
  • Functions
Gremlins Match
A color-matching game where the player has limited time to form little gemlin creatures into rows or columns of three
Coding Concepts
  • 2D Lists (Grids)
  • JSON Files
  • Fonts

CS204: Coding in Python 4

Course Description

The final course in the Python curriculum completes the coverage of coding fundamentals and paves the way for coding in Java. Students learn the building blocks “object-oriented” coding in Python, as well as complex topics they will need in real-world coding scenarios. By the end of this course they will have gained the ability to write not only their own large-scale programs, but also code libraries that can be shared used to support other new coders.

Language:

Coding Concepts
  • Class Objects
  • Creating Custom Classes
  • Overloading Operators
  • Writing and Using Custom Libraries
  • Encapsulation & Privacy Levels
  • Class Inheritance
  • Abstract Classes
  • Text-Based Data Files
  • Advanced String Parsing & Manipulation
  • Catching Exceptions
  • Raising Exceptions
Outcomes
  • Organize data to approximate real-world objects in a professional format
  • Write code with an understanding of how it will be used by other coders
  • Determine the necessary access and privacy levels for their public code
  • Build on and expand the work of other coders as a starting point for their programs
  • Read in and manipulate arbitrary text data from outside files
  • Protect code from erroneous input and outside code by creating and manipulating system error messages

Students will code:

Blob Lab
A interactive animation where the user clicks to create cute bouncing blobs that disappear after a few moments
Coding Concepts
  • Classes
  • Constructors
  • Methods
Let's Roll
A dice simulator where the user can roll up to 5 dice separately
Coding Concepts
  • Classes
  • Methods
  • Procedural Drawing
Particular Particles
A series of particle effect animations based on different arrangements, colors, and speeds for each particle
Coding Concepts
  • Inheritance
  • Abstract Methods
  • Custom Libraries
Robot Vs Wild
An action game where the user is a tiny robot that must navigate past nature-based obstacles
Coding Concepts
  • Inheritance
  • Abstract Methods
  • Custom Libraries

CS301: Coding in Java 1

Course Description

The first course in the Java progression is intended to be an entry point to coding, suitable for students who did not have access to coding classes in middle school. The Java curriculum is a high-impact set of coding courses, teaching students professional-level coding in a widely-used language while training their critical thinking and problem-solving skills. In addition to engaging, creative coding exercises, students in Java also practice paper problems: offline exercises that focus students specifically on code organization and logical thinking.

Language:

Coding Concepts
  • Statements
  • Variables
  • Expressions
  • Text Input and Output
  • Data Types
  • Conditionals
  • Mathematical Operators
  • Booleans
  • Logical Operators
  • While Loops
  • For Loops
  • Debugging
  • Methods
  • Objects vs. Primitives
  • Arrays
  • Collections
  • Strings as Collections
  • Sprites
  • Frames
  • Input
  • Time
  • Sound
  • Grids
  • Methods
  • Default Parameters
  • Passing by Reference
Outcomes
  • Write code that gives the computer instructions using Java symbols and structures
  • Perform mathematical calculations with coding
  • Read in and process outside information, both text and hardware (mouse and keyboard)
  • Write code that makes decisions, choosing between given options
  • Write code that loops, repeating sections of the program either a set number of times or until a given condition is met
  • Manipulate data that is stored in related groups such as lists and objects
  • Animate images using traditional frame-based animation techniques
  • Play sounds in programs
  • Combine structures, such as arrays, to make more complex structures, such as grids
  • Organize code into common Java structures to make it more efficient

Students will code:

Dog Volume
A whimsical program that compares the size of different types of dog.
Coding Concepts
  • Arithmetic Operators
  • Numerical Input
  • String Concatenation
Appetite Advisor
A cooking app that recommends recipes based on what ingredients the user has available.
Coding Concepts
  • Conditionals
  • Booleans
  • Logical Operators
Power Bet
A card game where two players can strategically spend chips to make their cards better.
Coding Concepts
  • Objects vs. Primitives
  • Object Instantiation
  • Using Methods
Moving Picture Show
A program that uses the console to display a simple animation.
Coding Concepts
  • Arrays
  • For Loops
  • For Each Loops

CS401: Advanced Coding in Java

Course Description

The second Java course builds on the basic fundamentals of the first course in order to teach the more complex nuances of the Java language. The precision-oriented, focused content is suitable as preparation for the AP computer science exam. Students learn the real-world coding skills that will allow them to create professional, meaningful programs, and upon finishing the course receive a Certificate of Coding Competency in Java from the University of San Diego.

Language:

Coding Concepts
  • Defining Classes
  • Program Organization
  • Overloading
  • Static and Final
  • Subclasses
  • Inheritance
  • Interfaces
  • Math and Logic
  • Non-Decimal Mathematical Bases
  • Recursion
  • Searching Algorithms
  • Sorting Algorithms
  • Advanced Input and Output
Outcomes
  • Organize their code into professional structures such as objects / classes
  • Learn about “object-oriented design” -- thinking of code in terms of real-world objects and categories of objects
  • Manipulate code objects to control the way they interface with other Java code
  • Learn about how their code may interface with others coders’ programs
  • Extend and customize both their own code objects and those written by others
  • Understand the unique mathematical formats commonly used in coding
  • Understand traditional searching and sorting techniques
  • Evaluate and compare traditional algorithms for speed and efficiency
  • Use advanced techniques for handling mouse and keyboard input

Applied Coding Core Content Packs

Coding is a learning medium that can increase engagement and understanding in other subjects. Our high school content packs empower teachers to integrate coding into math and science courses, tightly coupled with the core subject’s scope and sequence. All activities are designed to further understanding of both computer science and the core subject.

Integrated Math Core Content Pack

Course Description

This Core Content pack is designed to integrate into existing high school Integrated Math courses in order to introduce coding alongside math content, and to illustrate how coding and math can support each other and the many benefits that each can provide to the other. The course is designed such that students may code engaging math-centric programs without any prior coding knowledge, learning the basics of coding as they progress through the course.

Language:

Students will code:

Can Cat Fit
A program that calculates whether a cat can fit into a box by using multiplication and inequalities.
Integrated Math Standards
  • Solve inequalities in one variable
  • Define inequalities to represent a problem
  • Use units to guide the solution of multi-step problems
Equation Quizzer
A practice aid that automatically makes equations of form ax + b = c, asks students to solve them, and checks the answer.
Integrated Math Standards
  • Solve two-step equations in one variable
  • Create equations in one variable
  • Explain each step of solving an equation
The Perfect Jump
A game where players need to solve an inequality to find the right speed the hero needs to jump to the next level.
Integrated Math Standards
  • Solve multi-step inequalities
  • Define inequalities to represent a problem
  • Explain the reasoning behind the process of solving an equation
Graphy Bird
A game where players define a line on a coordinate plane using slope-intercept form to make a bird fly past obstacles.
Integrated Math Standards
  • Graph equations on the coordinate plane
  • Define equations in slope-intercept form
  • Use function notation

Standards

  • Interpret the structure of expressions
  • Solve equations, inequalities, and systems of equations with one or more variables
  • Represent and solve equations and inequalities graphically
  • Understand and interpret functions
  • Model functional relationships between two quantities
  • Visualize geometric theorems, properties, and transformations
  • Summarize, represent, and interpret data on two categorical and quantitative variables
  • Students learn a few basic fundamental coding structures common to all coding languages

Practices

  • Attend to precision
  • Reason abstractly and quantitatively
  • Make sense of problems and persevere in solving them
  • Model with mathematics
  • Use appropriate tools strategically
  • Look for and make use of structure

Algrebra 1 Core Content Pack

Course Description

This Core Content pack is designed to integrate into existing high school Algebra courses in order to introduce coding alongside math content, and to illustrate how coding and math can support each other and the many benefits that each can provide to the other. The course is designed such that students may code engaging math-centric programs without any prior coding knowledge, learning the basics of coding as they progress through the course.

Language:

Students will code:

Can Cat Fit
A program that calculates whether a cat can fit into a box by using multiplication and inequalities.
Algebra 1 Standards
  • Solve inequalities in one variable
  • Define inequalities to represent a problem
  • Use units to guide the solution of multi-step problems
Equation Quizzer
A practice aid that automatically makes equations of form ax + b = c, asks students to solve them, and checks the answer.
Algebra 1 Standards
  • Solve two-step equations in one variable
  • Create equations in one variable
  • Explain each step of solving an equation
The Perfect Jump
A game where players need to solve an inequality to find the right speed the hero needs to jump to the next level.
Algebra 1 Standards
  • Solve multi-step inequalities
  • Define inequalities to represent a problem
  • Explain the reasoning behind the process of solving an equation
Graphy Bird
A game where players define a line on a coordinate plane using slope-intercept form to make a bird fly past obstacles.
Algebra 1 Standards
  • Graph equations on the coordinate plane
  • Define equations in slope-intercept form
  • Use function notation

Standards

  • Create equations and inequalities in one variable and use them to solve problems
  • Solve linear equations and inequalities in one variable, including equations with coefficients represented by letters
  • Write a function that describes a relationship between two quantities
  • Write equations that represent functions
  • Write and graph linear equations using point-slope form
  • Solve systems of equations by graphing
  • Solve systems of linear equations exactly and approximately (with graphs)
  • Construct linear and exponential functions, including arithmetic and geometric sequences
  • Students learn a few basic fundamental coding structures common to all coding languages

Practices

  • Attend to precision
  • Reason abstractly and quantitatively
  • Make sense of problems and persevere in solving them
  • Model with mathematics
  • Use appropriate tools strategically
  • Look for and make use of structure

Take the first step.

Let’s talk about how we can help.

Take the first step.

Let’s talk about how we can help.

Take the first step.

Let’s talk about how we can help.