Looking for additional programming courses? Explore our full course catalog here.
This course is aligned to UT standards and is designed to provide computer science instruction for Utah kindergarten students. It is meant to be taught approximately weekly.
This course is aligned to UT standards and designed to provide computer science instruction for Utah 1st Grade students. It is meant to be taught approximately weekly.
This course is aligned to UT standards and designed to provide computer science instruction for Utah 2nd Grade students. It is meant to be taught approximately weekly.
This course is aligned to UT standards and designed to provide computer science instruction for Utah 3rd Grade students. It is meant to be taught approximately weekly.
This course is aligned to UT standards and designed to provide computer science instruction for Utah 4th Grade students. It is meant to be taught approximately weekly.
This course is aligned to UT standards and designed to provide computer science instruction for Utah 5th Grade students. It is meant to be taught approximately weekly.
Creative Coding is a first-semester course that introduces students to game design and programming. Students use the p5play JavaScript library in order to design, develop, and publish games. Throughout the course, students learn about major programming topics like variables, functions, conditionals, and mouse/keyboard events while building fun and interactive games that they can play and share with others.
The Utah Introduction to Python 1 course teaches students the basics of programming in Python. Students learn Python commands, functions, control structures, and user interaction by solving puzzles and writing creative programs for Tracy to follow.
The Utah Introduction to Python 2 course teaches students extended concepts in Python. Students learn how to use lists, manipulate strings, and work with files by solving puzzles and writing creative programs for Tracy to follow. NOTE: The content taught in the Utah Introduction to Python 1 course must be covered before beginning this course.
The Utah Introduction to Python 1 and 2 course teaches students the basics of programming in Python. Students begin with Python commands, functions, control structures, and user interaction by solving puzzles and writing creative programs for Tracy to follow. Students then learn how to use lists, manipulate strings, and work with files by solving puzzles and writing creative programs for Tracy.
Utah Computer Programming 1 introduces students to the fundamentals of computer programming, with an emphasis on helping students develop logical thinking and problem-solving skills. Students will learn to design, code, and test their programs while applying mathematical concepts.
Utah Computer Programming 2 introduces students to more advanced programming concepts. Students will learn to create more powerful programs using functions, strings, data structures, file i/o operations, and objects.
Utah Computer Programming 1 and 2 introduce students to the fundamentals of computer programming, with an emphasis on helping students develop logical thinking and problem-solving skills. Students begin by learning to design, code, and test their programs while applying mathematical concepts. Students then move to more advanced programming concepts and learn to create more powerful programs using functions, strings, data structures, file i/o operations, and objects.
This first semester course teaches the fundamentals of designing a game using the most widely accessed and preferred editing engine in the world – Unity. The intent of this course is to introduce high school students to the industry related skills needed for the workplace and higher learning environments. By the end of this course, they will understand the design planning process, be knowledgeable of industry related careers, and be able to navigate the Unity environment in order to create 3D games. Note: student devices must be able to download and install the Unity platform (not compatible on Chromebooks).
This course is intended to teach students the fundamentals of web development in a project-based learning environment. Students will learn the basic elements of web development, creating HTML/CSS files, and making multi-page websites.
This course is intended to teach students the fundamentals of web development in a project-based learning environment. Students are taught the basic elements of web development, such as web hosting, file organization, and incorporating Javascript into HTML files.
AP Computer Science Principles introduces students to the foundational concepts of computer science and programming in Python. With a unique focus on creative problem solving and real-world applications, students are challenged to explore how computing and technology can impact the world.
This course is fully aligned to the College Board AP CS A course standards. Learn the basics of object-oriented programming with a focus on problem solving and algorithm development. Take this course and prepare to ace the AP Java test.
Utah Exploring Computer Science is designed to introduce students to the breadth of the field of computer science through an exploration of engaging and accessible topics. The course focuses on the conceptual ideas of computing and helps students understand why certain tools or languages might be utilized to solve particular problems. The goal of Exploring Computer Science is to develop in students the computational thinking practices of algorithm development, problem solving, and programming within the context of problems that are relevant to the lives of today's students. Students will also be introduced to topics such as artificial intelligence, web development, programming, and physical computing.
Lesson | Lesson Title | Description |
---|---|---|
Welcome to CodeHS! | Students will learn how to log in and use the CodeHS Playground. | |
Scout Adventures 1: Introducing Scout | This lesson is part of a sequential story-driven unit. Students will be able to explore the ScratchJr interface and add characters. | |
Scout Adventures 2: Scout Starts Exploring | This lesson is part of a sequential story-driven unit. Students will be able to add backgrounds and a page to ScratchJr. | |
Scout Adventures 3: Scout Meets a Friend | This lesson is part of a sequential story-driven unit. Students will be able to delete and modify characters in ScratchJr. | |
Scout Adventures 4: Scout Explores the Forest | This lesson is part of a sequential story-driven unit. Students will be able to explore and use motion blocks to move characters around the stage in ScratchJr. | |
Scout Adventures 5: Scout and Bluebird Help | This lesson is part of a sequential story-driven unit. Students will be able to build a sequence of motion blocks to move characters around the stage to collect objects. | |
Scout Adventures 6: Scout Celebrates with Friends | This lesson is part of a sequential story-driven unit. Students will be able to create a celebration scene in ScratchJr by adding characters, pages, backgrounds, and sequences of motion blocks with events. | |
Decompose Numbers Up to 10 | Students will create an interactive program using events to visualize algebraic thinking and decomposing numbers. | |
Story Problems: Add and Subtract within 10 | Students will be able to create a scene in ScratchJr that represents an addition or subtraction story problem. | |
Finding an Unknown in a Word Problem | Students will be able to use events and sequences to create a number story for addition and subtraction. | |
Greater Than and Less Than: Single-Digit Numbers | Students will be able to use events to create a program that tells if a number is greater than, less than, or equal to another number. | |
Creating Shapes | Students will use events to program shapes that can respond to user interaction. Students will combine the shapes to create a more complex shape. | |
Place Value: Ones and Tens | Students will be able to create a program using animation to model using groups of one, five, and ten. | |
Patterns and Music | Students will be able to create musical patterns using sequences and loops. | |
Weather and Seasons | Students will use sequences to program an animation displaying the weather during different seasons. | |
Types of Motion | Students will be able to use events to program an animation displaying types of motion. | |
Living and Nonliving | Students will be able to classify items as living or nonliving and use tap events to trigger a character's actions. | |
How Living Things Survive | Students will be able to illustrate and explain how living things survive in their environment. | |
Needs of Plants | Students will be able to decompose a program and use events and messages to create a program that models the needs of plants. | |
Comparing Organisms | Students will create a program that groups animals by similar characteristics. | |
Phonics: Letter Sounds | Students will be able to create a phonics game using the “on tap” event and "record audio" block. | |
Build a Sentence | Students will be able to create an interactive program that uses events to write sentences and then read them aloud. | |
Storytelling Animations | Students will be able to create a program that retells the details of a story in the correct order. | |
Original Story Animations - Personal Story | Students will be able to design a program to animate an original story and describe their program development process. | |
Who Keeps Us Safe? | Students will be able to create a program that describes the role of an authority figure. | |
Cardinal Directions | Students will be able to use events to create an interactive compass rose. | |
CodeHS Coding Card Game: Sequences | Students will be able to work together to create a sequence of instructions to move Scout through a maze. | |
CodeHS Coding Card Game: Sequences 2 | Students will be able to work together to create a sequence of instructions to move Scout through a maze. | |
Drawing Tools: Fairy Tale Painting | Students will be able to use painting tools to create a fairy-tale scene. | |
Introduction to Grow and Shrink Blocks | Students will create a program that uses "grow" and "shrink" blocks to change the size of characters. | |
Introduction to Show and Hide Blocks | Students will be able to use "show" and "hide" blocks in a sequence to make characters appear and disappear. | |
Introduction to Pages | Students will be able to create a program with multiple pages. | |
Loops: Frog and Rabbit | Students will be able to use loops to repeat code in a program. | |
Forever Loops: Fireworks | Students will be able to create sequences that are repeated while the program runs. | |
All About Me! | Students will be able to create a program that tells information about their favorites. | |
Chicken Crossing Game | Students will be able to program an interactive player character and adjust the difficulty of play in a game. | |
Input Devices | Students will be able to identify and use computer input devices. | |
Mouse Practice | Students will demonstrate mouse skills by dragging and clicking with the mouse in multiple games. | |
Keyboard Introduction | Students will be able to use the letters, numbers, and basic functions of the keyboard effectively. | |
The Sorting Game | Students will develop an introductory understanding of how computers can learn. | |
Networks and the Internet | Students will be able to explain what a network is and how people communicate over networks and the Internet. They will model how messages are communicated using the Internet. | |
Data Patterns and Predictions | Students will be able to identify and describe patterns in data visualizations, then create a program using events to communicate patterns and predictions from a given data set. | |
Research Presentations | Students will be able to create a program to communicate research findings visually. |
Lesson | Lesson Title | Description |
---|---|---|
Welcome to CodeHS! | Students will learn how to log in and use the CodeHS Playground. | |
Introduction to ScratchJr | Students will be able to navigate the ScratchJr interface to create a scene with characters. | |
Events | Students will be able to explain what an event is in programming and use multiple event blocks in a program. | |
Sequences: Digital Responsibilities | Students will be able to use sequences to program characters and explain how to be responsible online. | |
Adding within 20 and Sequences (Unplugged) | Students will be able to write a sequence to solve a maze while counting up to 20. | |
Divide Shapes into Equal Parts | Students will be able to create an animation to partition circles and rectangles into equal parts. | |
Combining Shapes | Students will be able to create composite shapes then use event and motion blocks to create a scene with the composite shapes. | |
Grid: Solving Mazes | Students will be able to design a maze and use the grid to program a character to move through the maze. | |
Finding an Unknown in a Word Problem | Students will be able to use events and sequences to create a number story for addition and subtraction. | |
Story Problems: Add and Subtract within 20 | Students will be able to use events to create a scene that represents an addition or subtraction story problem. | |
Algebraic Thinking: Find an Unknown Number Up to 10 in a Number Story | Students will be able to create an interactive program to visualize algebraic thinking and solve for unknown numbers in number stories. | |
Place Value: Adding Up to 20 | Students will be able to use events in ScratchJr to illustrate how to decompose a two digit number into tens and ones. | |
Greater Than and Less Than: Two-Digit Numbers | Students will be able to use events to create a program that tells if a number is greater than, less than, or equal to another number. | |
Adaptations and Survival: Camouflage | Students will be able to illustrate and explain how living things use camouflage to survive in their environments. | |
Light and Shadows | Students will be able to identify and communicate the sources and effects of light by creating a program that uses events to trigger a character's sequence. | |
Sound and Pitch | Students will be able to create and use animation to model sound and pitch, and to explain the relationship between sound and vibration. | |
Sun and Moon, Day and Night | Students will be able to use loops to model the movements of the sun and moon and show the pattern of day and night. | |
Phases of the Moon | Students will be able to use message events to model the phases of the Moon. | |
Animal Life Cycles | Students will be able to use message events to model the butterfly life cycle. | |
Build a Sentence | Students will be able to create an interactive program that uses events to write sentences and then read them aloud. | |
Phonics: Digraphs | Students will be able to create a phonics program with digraphs using events and recordings. | |
Punctuation: Write a Great Sentence! | Students will be able to create sequences with loops to write sentences with correct punctuation and spacing. | |
Storytelling Animations Part 2 | Students will be able to design a program to retell the sequence of a story. | |
Original Story Animations - Fiction Story | Students will be able to develop an original story and create a program to animate a story. | |
Our Responsibilities | Students will be able to use sequences to program two characters to explain how to be responsible in school and at home. | |
Create a Map | Students will be able to create a map and program a character to follow the map. | |
Economic Choices | Students will be able to use message events to cause character interaction and describe how people make choices between wants and needs. | |
Hide and Seek Game | Students will use the hide block to program an interactive game of hide-and-seek. | |
Grow and Shrink Blocks in Motion | Students will be able to create a program using motion blocks and grow and shrink blocks to change the size of characters. | |
Introduction to Repeat Loops | Students will be able to use repeat loops to run a section of code multiple times. | |
Loops: Predator and Prey | Students will be able to use events, sequences, and loops to program two animal characters to interact with each other. | |
Forever Loop Dance Party | Students will be able to create a sequence using a “repeat forever” loop to make characters repeat actions. | |
Message Events: Simon Says | Students will be able to use message events to make one character communicate to many characters in a program. | |
Debugging | Students will be able to describe what bugs are and find and correct bugs in sequences. | |
Seasonal Project (Summer): Pop the Balloons | Students will be able to create a summer-themed game to pop balloons using events and loops. | |
Passwords | Students will be able to explain why strong passwords are used and describe good practices to keep personal digital information safe. | |
Computer Basics | Students will be able to identify what a computer is and understand how technology impacts our lives. Students will be able to demonstrate their understanding of input and output devices and explain the difference between hardware and software. | |
Digital Research 1: Guided Research | Students will be able to identify and collect information from research sources and assess the relevance of information. | |
Research Presentations | Students will be able to create a program to communicate research findings visually. | |
Machine Learning: What is a Blorg? | Students will be able to explain how AI can learn information by being trained to identify an alien. | |
Giving Credit Through Attributions | Students will be able to explain why giving credit for another person's ideas and creations is important. They will reuse parts of a story to make a new story and give attribution to the original creator. | |
Impacts of Technology in Our World | Students will be able to create a program to demonstrate how technology impacts our world. | |
Online Etiquette | Students will be able to make appropriate choices to follow online etiquette rules. | |
Basic Data and Programming Project | Students will be able to collect data and create a program to present their data visually. | |
Data Storage with Symbols | Explain that computers use, and store data with, symbols, and be able to use symbols to create legends for maps. | |
Data Patterns and Predictions | Students will be able to identify and describe patterns in data visualizations, then create a program using events to communicate patterns and predictions from a given data set. |
Lesson | Lesson Title | Description |
---|---|---|
Welcome to CodeHS! | Students will learn how to log in and use the CodeHS Playground. | |
Introduction to ScratchJr | Students will be able to navigate the ScratchJr interface to create a scene with characters. | |
Debugging: Events and Sequences | Students will be able to find and fix errors in provided code. | |
Introduction to the Grid | Students will be able to use the grid feature to move characters to a specific location on the stage. | |
Counting with Mazes | Students will be able to use counting skills to design a maze requiring a specific number of steps. | |
Story Problems: Add and Subtract within 100 | Students will be able to create a program to model a math story problem. | |
Telling Time | Students will be able to use sequences and events to create an analog clock and display time in digital and analog forms. | |
Create Your Own Story Problem | Students will be able to solve addition and subtraction word problems by using events to create a scene. | |
Identify Shapes by Attributes | Students will be able to create a program to draw and identify shapes with specified attributes. | |
Place Value: Ones, Tens, and Hundreds | Students will be able to connect a digit’s place in a number to its value and create an interactive program that uses events. | |
Events and Money | Students will be able to create a program that tells the value of a set of coins. | |
Algebraic Thinking: Finding a Two-Digit Unknown | Students will be able to create an interactive program to visualize algebraic thinking and solve for large unknown numbers in number stories. | |
3D Shapes | Students will be able to draw 3D shapes and create a quiz game to review attributes of 3D shapes. | |
Properties of Matter | Students will be able to use conditionals to program a robot to make accurate decisions and to group different types of matter according to their properties. | |
Designing Solutions from Nature | Students will be able to create a program using events that show how humans survive in their environments by mimicking plants and animals. | |
Changing Landforms | Students will create a sequence to show how a volcanic eruption changes Earth’s surface. | |
Preventing Erosion | Students will create a program to compare multiple solutions designed to slow or prevent wind or water from changing the shape of the land. | |
Changes in the Environment | Students will be able to identify changes in the environment and their causes, and then use animation to model environmental changes. | |
Seed Dispersal | Students will create a program using message events and loops to model how an animal can help disperse seeds. | |
Build a Sentence | Students will be able to create an interactive program that uses events to write sentences and then read them aloud. | |
Punctuation: Write a Great Sentence! | Students will be able to create sequences with loops to write sentences with correct punctuation and spacing. | |
Original Story Animations - Fiction Story | Students will be able to develop an original story and create a program to animate a story. | |
Communities Modify Their Environment | Students will be able create a program that shows how people modify their environment in a community. | |
Tap-a-Mole Game | Create an interactive game using events. | |
Message Events: Scout Plays in the Forest | Students will be able to use message events to control the flow of a program. | |
Pages: Scout's Travels | Students will be able to use messages to help Scout travel between pages in a program. | |
Loops: Follow the Path | Students will be able to identify patterns, and create a program using loops. | |
Debugging: Message Events and Loops | Students will be able to find and fix (debug) message event and loop errors in the provided code. | |
Design an Adventure Game | Students will be able to create a story-based, multi-page game using Computer Science skills they have learned. | |
Moving Targets Game | Create a moving target game using sequences, events, and pages. | |
Debugging | Students will be able to describe what bugs are and find and correct bugs in sequences. | |
Variables: Keeping Score | Students will be able to create a program that simulates keeping score using a variable | |
Seasonal Project (Fall): Gathering Apples Game | Students will be able to create a fall-themed collecting game using events and loops. | |
Digital Greeting Card | Students will be able to create a digital greeting card with events and loops. | |
Seasonal Project (Spring): Create a Chase Game | Students will be able to create a spring-themed chase game using loops and events. | |
Computer Detectives: Computer Problems | Students will be able to describe basic hardware and software problems. | |
Networks and the Internet | Students will be able to explain what a network is and how people communicate over networks and the Internet. They will model how messages are communicated using the Internet. | |
Machine Learning: AutoDraw | Students will be able to use AutoDraw to create a picture using AI. | |
Get Organized with Files | Students will be able to use a mock desktop environment to modify files, demonstrate appropriate file-naming conventions, and organize files into folders. | |
Digital Research 2: Choice Research | Students will be able to communicate research findings through programming. | |
Impacts of Technology in Our World | Students will be able to create a program to demonstrate how technology impacts our world. | |
Passwords | Students will be able to explain why strong passwords are used and describe good practices to keep personal digital information safe. | |
Data Storage with Symbols | Explain that computers use, and store data with, symbols, and be able to use symbols to create legends for maps. | |
Data Patterns and Predictions | Students will be able to identify and describe patterns in data visualizations, then create a program using events to communicate patterns and predictions from a given data set. | |
Advanced Data and Programming | Students will be able to develop an investigative question, collect data using a survey, and create a program to present the data visually. | |
Giving Credit Through Attributions | Students will be able to explain why giving credit for another person's ideas and creations is important. They will reuse parts of a story to make a new story and give attribution to the original creator. |
Lesson | Lesson Title | Description |
---|---|---|
Welcome to CodeHS! | Students will learn how to log in and use the CodeHS Playground. | |
Scout's Scratch Expedition Part 1 | This lesson is part of a sequential story-driven unit. Students will use basic Scratch commands to program a sprite to move and talk. | |
Scout's Scratch Expedition Part 2 | This lesson is part of a sequential story-driven unit. Students will follow along with a story. Students will add sprites in Scratch and create a sequence to animate a story. | |
Scout's Scratch Expedition Part 3 | This lesson is part of a sequential story-driven unit. Students will create an animated Scout story in Scratch using loops, events, looks, and motion blocks. | |
Scout's Scratch Expedition Part 4 | This lesson is part of a sequential story-driven unit. Students will create an animated Scout story in Scratch using events, looks, and motion blocks. | |
Classifying Shapes by Category | Students will be able to create a program using events to classify quadrilaterals based on their properties. | |
Measuring Lengths | Students will be able to use events to create an interactive measurement game that has a user measure lengths with a ruler marked in fourths and plot the data on a number line. | |
Adding with Loops | Students will be able to use loops in to repeat commands and add multi-digit whole numbers based on place value. | |
Animating Sprites with Multiplication | Students will be able to use multiplication to animate sprites with loops and wait blocks. | |
Multiplication and Conditionals | Students will be able to create a program that uses "if/then" conditional blocks to review multiplication. | |
Animating Unit Fractions | Students will use loops in a program to animate repeated addition of unit fractions on a number line. | |
Fractions and Variables | Students will be able to represent fractions on a number line using variables and conditionals. | |
Exploring Adaptations | Students will be able to explain how adaptations help animals survive in their habitats by creating an interactive program using events. | |
Weather and Climate | Students will be able to use climate data and event blocks to predict and demonstrate typical weather conditions for a specific month. | |
Modeling Life Cycles | Students will be able to program a model of the stages of a frog’s life cycle using broadcast message events. | |
Nutrition Maze | Students will be able to describe the benefits of healthy foods and will use conditionals to create an interactive nutrition maze game. | |
Classifying Rocks | Students will be able to use if/then statements to classify rocks based on the Mohs Hardness Scale. | |
Fossils and Past Environments | Students will be able to create a program using conditionals and loops to model interpreting data from fossils that show evidence of past environments. | |
Balanced and Unbalanced Forces | Students will be able to describe how balanced and unbalanced forces impact an object’s speed and model these forces using conditionals and variables. | |
Parts of Speech: Random Sentence Generator | Students will be able to generate random numbers in Scratch to create simple sentences with nouns, adjectives, verbs, and adverbs. | |
Animating Poetry | Students will be able to break a poem into sections to understand literal and metaphorical meanings and create an animated reading of a poem in Scratch. This version of the lesson is focused on both ELA and Computer Science concepts. | |
Creative Storytelling | Students will be able to plan and animate a story using events and sequences. | |
Nonfiction Animated Recordings | Students will be able to use events to create a clear, animated reading of a nonfiction text. | |
Punctuation Game | Students will create a game using “if/then/else” conditionals to add punctuation to dialogue and addresses. | |
Communities Adapt to & Modify Their Environment | Students will be able to use click events to create a scene that shows how communities adapt to or modify their environments. | |
Choose Your Own Path: Elements of Culture | Students will be able to identify elements of culture as they create a cultural choose-your-own-path game. | |
Digital Flashcards | Students will be able to use broadcast messages to build a set of digital flashcards for any subject. | |
Costumes, Backdrops, and Animations | Students will be able to create a program that includes animated sprites and interactive backdrops. | |
Scratch Drawing Tools | Students will be able to create customized sprites and backdrops using the drawing tools. | |
Sequences: Parallel Programming | Students will be able to create a program using parallel sequences. | |
Events | Students will be able to create a program using events. | |
Broadcast Messages: Marco Polo | Students will be able to use broadcast messages to trigger action between sprites in a program. | |
Loops | Students will be able to explain that a loop repeats one or more instructions, and use loops in Scratch. | |
Debugging: Events and Loops | Students will be able to decompose a program to debug and make the program run as intended. | |
Introduction to Conditionals | Students will be able to explain what a conditional is in programming and create a program that uses if/then blocks. | |
Variables | Students will be able to explain what a variable is and create and change the value of a variable in a program. | |
Platform Game Design | Students will be able to implement the mechanics of a platform game for a player to navigate, use keyboard events to add player movement, and use a forever loop to check and respond to game conditions. Students will debug and improve their programs. | |
Pair Programming: Create a Band | Students will be able to collaborate through pair programming to design and code a band in Scratch using keyboard inputs. | |
Functions Dance Project | Students will be able to create and use functions to call dance moves in a sequence that aligns with the music. | |
Game Design Project | Students will be able to design and create a game using multiple programming skills such as loops, conditionals, and variables. | |
Seasonal Project (Summer): Pop The Balloons | Students will be able to create an interactive summer-themed game using loops, conditionals, and a variable. | |
Strong Usernames and Passwords | Students will be able to develop a strong username and password and explain how a strong password keeps their information safe. | |
Digital Identity | Students will be able to connect their real world identity with their online identity and identify actions that create a positive digital footprint. | |
How Computing Systems Work | Students will differentiate between inputs and outputs for computer-based systems and identify types of software used in different technologies. | |
Research: Effective Keywords | Students will be able to evaluate the effectiveness of different keywords when using a search engine and determine if a source is relevant to their research question. | |
Machine Learning: Face Sensing | Students will be able to use Face Sensing blocks to explore machine learning in Scratch Lab. | |
Networks Part 2: Network Protocols | Students will be able to explain what a network protocol is and how protocols allow data transfer over different networks. They will model how information is transferred as a series of packets via a protocol. | |
Technology Timeline | Students will be able to create an interactive timeline to illustrate the key developments in music player technology and explain how music player technology has influenced cultural practices. | |
Giving Credit Through Attributions | Students will be able to give appropriate attribution when creating or remixing programs and sharing images online. |
Lesson | Lesson Title | Description |
---|---|---|
Welcome to CodeHS! | Students will learn how to log in and use the CodeHS Playground. | |
Events: Dot in Space | Students will be able to create a program using multiple types of event blocks. | |
Loops: Catch the Ball | Students will be able to use two types of loops to create a simple game in Scratch. | |
Scout's Quest: Conditionals | Students will be able to create a program using if/then conditionals. | |
Classifying Shapes Using Lines and Angles | Students will be able to create a program to categorize shapes based on the properties of their lines and angles. They will use comments to document their code. | |
Animating Sprites with Factors | Students will be able to use factors to animate sprites with loops and wait blocks. | |
Multi-digit Multiplication and Conditionals | Students will be able to use if/then conditionals to review multiplication with multi-digit factors. | |
Division and Conditionals | Students will be able to solve grade-appropriate division problems within 100 by using conditionals to program an interactive division game. | |
Multiplying Fractions by Whole Numbers | Create an interactive activity to demonstrate multiplying fractions by whole numbers. | |
Naming Numbers Game | Students will be able to create an interactive game using variables and operators to read and write numbers in number form and expanded form. | |
House Design with Area and Perimeter | Students will be able to calculate and use the area and perimeter of a room to create a house design using functions. This version of the lesson is focused on Computer Science concepts. | |
Exploring Heat | Students will be able to use events in their program to communicate information about how heat energy from the sun affects objects on earth. | |
Exploring the Water Cycle | Students will explain the phases of the water cycle using broadcast message events. | |
Sensing and Responding to the Environment | Students will be able to use multiple event blocks to model how animals use their senses to respond to their environment. | |
Plant and Animal Cells | Students will use broadcast events to create an interactive program about plant and animal cells. | |
How We See: Light Reflection | Students will be able to use conditionals to demonstrate how light reflects from objects and enters the eye to allow objects to be seen. | |
Sound Frequency & Amplitude | Students will be able to use variables to control the rate and strength of the volume and the vibrations of a speaker sprite. | |
Wave Generator | Students will be able to use variables and loops to draw a variety of wave patterns. | |
Animating Poetry | Students will be able to break a poem into sections to understand literal and metaphorical meanings and create an animated reading of a poem in Scratch. This version of the lesson is focused on both ELA and Computer Science concepts. | |
Creative Storytelling | Students will be able to plan and animate a story using events and sequences. | |
Nonfiction Animated Recordings | Students will be able to use events to create a clear, animated reading of a nonfiction text. | |
Grammar Quiz Game | Students will be able to use conditionals to create a quiz that tests the user’s understanding of standard English grammar usage. | |
Mad Libs Project | Students will use lists in a program to create a Mad Libs game. | |
State Project | Students will use events to create an interactive project detailing state-specific facts. | |
Rights and Responsibilities | Students will be able to use variables and events to create a voting program to demonstrate the rights and responsibilities of citizens. | |
Digital Flashcards | Students will be able to use broadcast messages to build a set of digital flashcards for any subject. | |
Utah Timeline with the BBC micro:bit® | Students will be able to use events, conditionals, variables, and inputs from a micro:bit® controller to create an interactive timeline. | |
Creating Algorithms | Students will be able to program multiple algorithms and assess which one best meets their needs. | |
Debugging: Mazes | Students will be able to decompose a program to debug and make the program run as intended. | |
Conditionals: Color Sense | Students will be able to explain what a conditional is and use them in a program. | |
The Coordinate Plane | Students will be able to create an opened-ended animation using the coordinate plane in Scratch. | |
Conditionals: Flying Bird | Students will be able to use different conditionals to program a Flying Bird game. | |
Complex Conditionals: If/Then/Else Chase the Star | Students will be able to explain what an “if/then/else” conditional is and use it in a program. | |
Scout's Quest: Variables | Students will be able to create and use variables to track points in a program. | |
Pong Game | Students will create and use variables to keep score in an interactive pong game. | |
Create a Drawing App | Students will be able to create a drawing app by programming keyboard and mouse inputs, loops, and conditional statements. | |
Snake Game | Students will use variables and clones to create a snake game. | |
Game Design Project | Students will be able to design and create a game using multiple programming skills such as loops, conditionals, and variables. | |
Seasonal Project (Spring): Create a Chase Game! | Students will be able to create a spring-themed chase game using loops and conditionals. | |
Digital Greeting Card Project | Students will be able to create a digital greeting card that uses loops and events. | |
Internet Positivity (Unplugged) | Students will be able to explain how their actions can spread positivity on the internet. | |
Research: Informational Programs | Students will be able to examine the information from different resources and creatively communicate the main ideas in those sources by creating a Public Service Announcement (PSA) on healthy sleep habits. | |
Technology Timeline | Students will be able to create an interactive timeline to illustrate the key developments in music player technology and explain how music player technology has influenced cultural practices. | |
Program an AI Chatbot | Students will use lists to create a chatbot to store prompts, responses, and answer questions. | |
Programming and Data Project | Students will be able to develop an investigative question, collect data, draw conclusions based on the data, and create an interactive program to present data visually. | |
Networks, Packets, and the Internet | Students will be able to explain how information is communicated through the Internet. They will model how communication is broken into smaller pieces, transmitted as packets, and reassembled at the destination. They will design and implement a secure communication method within the classroom. | |
3D Design: Keyboard Accommodations | Students will be able to use the align tool to position shapes together as they create an accessible keyboard in Tinkercad®. This lesson requires student accounts in an external site. |
Lesson | Lesson Title | Description |
---|---|---|
Welcome to CodeHS! | Students will learn how to log in and use the CodeHS Playground. | |
Introduction to Computer Science and Scratch | Students will be able to define important computer science vocabulary and create a simple program in Scratch. | |
Creating Algorithms | Students will be able to program multiple algorithms and assess which one best meets their needs. | |
Creating Turtle Graphics | Students will be able to use the pen tool in Scratch to create looping turtle graphics. | |
Conditionals: Underwater Exploration | Students will be able to create a program that uses conditionals. | |
Animating Sprites with Division | Students will be able to use division to animate sprites with loops and wait blocks. | |
Classifying Quadrilaterals in a Hierarchy | Students will be able to create a program using events to classify quadrilaterals in a hierarchy, and use comments to document their code. | |
Decimal Division and Conditionals | Solve division problems with decimals and use conditionals to program an interactive division game with levels. | |
Decimal Multiplication and Conditionals | Students will be able to use if/then conditionals to review multiplication with decimals. | |
Unit Converter | Students will be able to use variables and conditionals to program a unit conversion calculator to convert between measurements. | |
Multiplication Quiz Game | Students will be able to create a multiplication quiz game using variables, operators, conditionals, and loops. | |
Add and Subtract Fractions | Students will be able to use broadcast messages and comparison operators to create a fractions quiz game. They will recognize and use patterns in their program. | |
Area of a Rectangle with Tiles | Students will be able to use variables and loops to model the fractional area of a rectangle using tiles. | |
Constructive and Destructive Processes | Students will be able to create an animation that models how volcanoes change surface features through a constructive process. | |
Exploring Ecosystems | Students will be able to program a model to illustrate the flow of energy in an ecosystem. | |
Animal Classification | Students will be able to use events to create a program that models how animals are sorted into groups. | |
Earth Systems | Students will be able to create a program using multiple event blocks to model how wind and rain impact the geosphere. | |
Cycle of Matter | Students will be able to use events and messages to create an animated model of the cycle of matter. | |
Effects of Pollution | Students will be able to write a program with if/then/else blocks in Scratch to explain how their actions can affect water pollution. | |
Day and Night | Students will be able to use comparison operators and conditionals to show how the Earth’s rotation causes day and night. | |
Physical Changes | Students will be able to write a program with variables and conditionals that has the user adjust the temperature of a sprite so it will change between a solid, liquid, and gas. | |
Scale of Planets in the Solar System | Students will be able to create a program to calculate and model the scale and properties of planets in the Solar System. | |
Animating Poetry | Students will be able to break a poem into sections to understand literal and metaphorical meanings and create an animated reading of a poem in Scratch. This version of the lesson is focused on both ELA and Computer Science concepts. | |
Nonfiction Animated Recordings | Students will be able to use events to create a clear, animated reading of a nonfiction text. | |
Creative Storytelling | Students will be able to plan and animate a story using events and sequences. | |
Punctuate a Title | Students will be able to create a game using conditionals and operators to demonstrate their understanding of punctuation in titles. | |
The US Government | Students will be able to use “if/else” conditionals in a program to model how a bill becomes a law. | |
Digital Flashcards | Students will be able to use broadcast messages to build a set of digital flashcards for any subject. | |
Revolutionary War Timeline | Students will be able to create and control an interactive timeline using inputs, events, conditionals, and variables. | |
Interactive Map of the 13 Colonies | Students will be able to use events, conditionals, and variables to create an interactive map of the 13 colonies. They will be able to break a large program into smaller tasks to ease program development. | |
Animation Loops Project | Students will be able to use repeat loop blocks to program an animation with multiple scenes. | |
Debugging: Make a Pizza | Students will be able to decompose a program to debug and make the program run as intended. | |
Game Mechanics with Comparison Operators | Students will be able to use comparison operators and variables to create ending game mechanics. | |
Variables in Dance | Students will be able to use variables to control pitch and dance speeds in a program. | |
Operators: Coin Flip | Students will be able to create a coin flipping program using variables and operators. | |
Conditionals: Mazes | Students will be able to create a program that uses conditionals. | |
Plan a Quest | Students will be able to plan and decompose the steps needed to create a quest program. | |
Pinball Game Project | Students will be able to demonstrate an understanding of pinball game design principles and apply their knowledge to create a functional and engaging pinball game. | |
Game Design Project | Students will be able to design and create a game using multiple programming skills such as loops, conditionals, and variables. | |
Seasonal Project (Fall): Gathering Apples Game | Students will be able to create a fall-themed collecting game using loops, conditionals and variables. | |
Our Words Have Power (Cyberbullying) | Students will be able to explain what cyberbullying is how it affects others, how to be an upstander by taking action, and that work developed online is the property of the creator. | |
Data Storage | Students will explain that the amount of space required to store data differs based on the type of data and level of detail. | |
Using Digital Tools to Create Line Graphs | Students will be able to examine a table of information and convert the values into a data visualization (line graph) that supports a claim. | |
3D Design: Keyboard Accommodations | Students will be able to use the align tool to position shapes together as they create an accessible keyboard in Tinkercad®. This lesson requires student accounts in an external site. | |
Training AI Using Data | Students will explore, understand, and model how artificial intelligence is trained with data to make predictions. | |
Online Collaboration | Students will be able to explain that collaboration and communication can be done online and offline, and that collaborating with others can provide a diverse perspective. | |
Computer Detectives: Hardware and Software Problems | Students will be able to solve simple hardware and software problems | |
Networks Part 2: Network Protocols | Students will be able to explain what a network protocol is and how protocols allow data transfer over different networks. They will model how information is transferred as a series of packets via a protocol. | |
Giving Credit Through Attributions | Students will be able to give appropriate attribution when creating or remixing programs and sharing images online. |
Intro to Game Design Students reflect on their game-playing experience and learn more about major video game topics and categories. |
Programming in JavaScript Students learn the basics of JavaScript including variables, user input, mathematics, and functions. |
Getting to Know p5play Students learn about the JavaScript library p5play and how to use it to create the basic structure of an animated or interactive program. |
Project: Mini Golf Students incrementally develop a mini golf game, learning more about the p5play library and important computer science topics like booleans and if/else statements. |
Project: Projectiles Students incrementally develop a projectiles game, learning about new p5play library topics of Groups and Tiles, while improving their fundamental program development skills. |
Project: Jumper Students incrementally develop a platform jumper game, learning how to animate game components with sprite sheets, while improving their fundamental program development skills. |
Tracy's World Students learn about the world Tracy lives in and how to write commands that she will understand. They also look at a history of programming languages and some of the different characteristics programming languages can have. |
Moving Tracy Students build on the commands they have learned to instruct Tracy around all parts of her world and use for loops to make their code more efficient. |
Designing and Communicating Solutions Students explore useful ways to break down large problems to write readable and successful programs. |
[Project] Design a Mural Students review all they have learned so far by completing a project where they will use Tracy to design a mural. |
Controlling Tracy with Variables Students learn about data types and how variables can be used in their Tracy programs. They also begin to learn how to manipulate strings in their programs, and learn how to add user interaction to their programs through user input and mouse click events. |
[Project] Cycle Depiction Students apply the concepts they have learned so far by completing a project where they will use Tracy to depict a common cycle. |
Making Decisions Students learn how to use if/else statements and while loops to instruct Tracy to make decisions based on conditions. They also learn how to return values from functions. |
Putting It All Together Students put together all of the concepts they have learned to solve advanced Tracy puzzles and complete a final quiz. |
[Project] On-Screen Calculator Students have a chance to apply all the skills and concepts they've learned in this course by completing a project where they will use Tracy to create a calculator that can be used to complete simple mathematical expressions. |
Refresher: Challenges with Tracy Students refresh the information they should have before beginning this course and work with a partner to complete a project where they will create a digital art platform. (Note: all prior information is taught in the course UT Introduction to Python 1.) |
Lists Students learn how to create, alter, and use methods with lists. |
Lists and Loops Students learn how to iterate through a list using both index values and list items. They then work with a partner to complete a project where they create an interactive to-do list. |
[Project] Ticketing System Students review all they have learned so far by completing a project where they will create a ticketing system to keep track of a line of patrons. |
Strings Students dive deeper into strings, learning how to access both characters and substrings, loop over strings, and utilize additional string methods. They then work with a partner to complete a project where they parse through text to organize information about game 5 of the 2023 Stanley Cup Final. |
[Project] Timeline Students apply all they have learned so far by completing a project where they will create a timeline of their choosing that includes user interaction. |
File I/O: Reading from Files Students learn how to open and read files in their programs in various ways. |
File I/O: Writing to Files Students learn how to write to files in their programs. |
[Project] Poetry Remixer Students apply all the skills and concepts they've learned in the File I/O modules by completing a project where they will creatively alter a poem saved in a file. |
Python in the Real World Students explore uses of Python in various industries and learn how Jupyter notebooks can be used to share information and Python programs with others. |
Tracy's World Students learn about the world Tracy lives in and how to write commands that she will understand. They also look at a history of programming languages and some of the different characteristics programming languages can have. |
Moving Tracy Students build on the commands they have learned to instruct Tracy around all parts of her world and use for loops to make their code more efficient. |
Designing and Communicating Solutions Students explore useful ways to break down large problems to write readable and successful programs. |
[Project] Design a Mural Students review all they have learned so far by completing a project where they will use Tracy to design a mural. |
Controlling Tracy with Variables Students learn about data types and how variables can be used in their Tracy programs. They also begin to learn how to manipulate strings in their programs, and learn how to add user interaction to their programs through user input and mouse click events. |
[Project] Cycle Depiction Students apply the concepts they have learned so far by completing a project where they will use Tracy to depict a common cycle. |
Making Decisions Students learn how to use if/else statements and while loops to instruct Tracy to make decisions based on conditions. They also learn how to return values from functions. |
Putting It All Together Students put together all of the concepts they have learned to solve advanced Tracy puzzles and complete a final quiz. |
[Project] On-Screen Calculator Students have a chance to apply all the skills and concepts they've learned in this course by completing a project where they will use Tracy to create a calculator that can be used to complete simple mathematical expressions. |
Refresher: Challenges with Tracy Students refresh the information they should have at this point in the course and work with a partner to complete a project where they will create a digital art platform. |
Lists Students learn how to create, alter, and use methods with lists. |
Lists and Loops Students learn how to iterate through a list using both index values and list items. They then work with a partner to complete a project where they create an interactive to-do list. |
[Project] Ticketing System Students review all they have learned so far by completing a project where they will create a ticketing system to keep track of a line of patrons. |
Strings Students dive deeper into strings, learning how to access both characters and substrings, loop over strings, and utilize additional string methods. They then work with a partner to complete a project where they parse through text to organize information about game 5 of the 2023 Stanley Cup Final. |
[Project] Timeline Students apply all they have learned so far by completing a project where they will create a timeline of their choosing that includes user interaction. |
File I/O: Reading from Files Students learn how to open and read files in their programs in various ways. |
File I/O: Writing to Files Students learn how to write to files in their programs. |
[Project] Poetry Remixer Students apply all the skills and concepts they've learned in the File I/O modules by completing a project where they will creatively alter a poem saved in a file. |
Python in the Real World Students explore uses of Python in various industries and learn how Jupyter notebooks can be used to share information and Python programs with others. |
Karel in Python Students learn the basics of programming by giving Karel the Dog commands in a grid world. |
Basic Python and Console Interaction Students learn the basics of programming by writing programs that interact with users through the keyboard. |
Project: Mad Libs Students write a program that allows users to create their own Mad Lib stories using variables and user input. |
Conditionals Students teach their programs to make decisions based on the information it receives. |
Project: Quiz Game Students write a program that quizzes users on a series of multiple-choice questions and checks their answers. |
Looping Students learn how to write more efficient code by using loops as shortcuts. |
Project: Password Authenticator Students write a program to provide feedback on whether the entered password is correct or incorrect. |
Roles in a Software Development Team Students learn the key roles and responsibilities of members of a software development team. |
Functions and Exceptions Students learn how their programs can be decomposed into smaller pieces that work together to solve a problem. |
Strings Students learn more sophisticated strategies for manipulating text in their programs. |
Project: The Game of Pig Students program a classic two-player game played with a 6 sided die. |
Creating and Altering Data Structures Students learn how tuples and lists are formed and the various methods that can alter them. |
Extending Data Structures Students learn to build more complex programs that make use of grids and dictionaries. |
Project: Guess the Word Students write a program for a word guessing game. |
File I/O Students learn to read, write, and process information from text files. |
Classes and Objects Students learn the principles of object-oriented design. |
Exploring CS Careers Students learn potential career paths in the field of computer science. |
Karel in Python Students learn the basics of programming by giving Karel the Dog commands in a grid world. |
Basic Python and Console Interaction Students learn the basics of programming by writing programs that interact with users through the keyboard. |
Project: Mad Libs Students write a program that allows users to create their own Mad Lib stories using variables and user input. |
Conditionals Students teach their programs to make decisions based on the information it receives. |
Project: Quiz Game Students write a program that quizzes users on a series of multiple-choice questions and checks their answers. |
Looping Students learn how to write more efficient code by using loops as shortcuts. |
Project: Password Authenticator Students write a program to provide feedback on whether the entered password is correct or incorrect. |
Roles in a Software Development Team Students learn the key roles and responsibilities of members of a software development team. |
Functions and Exceptions Students learn how their programs can be decomposed into smaller pieces that work together to solve a problem. |
Strings Students learn more sophisticated strategies for manipulating text in their programs. |
Project: The Game of Pig Students program a classic two-player game played with a 6 sided die. |
Creating and Altering Data Structures Students learn how tuples and lists are formed and the various methods that can alter them. |
Extending Data Structures Students learn to build more complex programs that make use of grids and dictionaries. |
Project: Guess the Word Students write a program for a word guessing game. |
File I/O Students learn to read, write, and process information from text files. |
Classes and Objects Students learn the principles of object-oriented design. |
Exploring CS Careers Students learn potential career paths in the field of computer science. |
Midterm |
Final Exam Students prove their knowledge of content learned throughout the course through a multiple choice, short answer, and programming exam. |
Intro to Game Design Students will be introduced to the course and learn the very basics of the game industry. |
Get Started with Unity Students prepare their game design tools by learning about game engines, establishing a Unity account, and setting up the Unity game engine. |
Create Interactive Game Worlds Students dive into major Unity practices, learning to develop their own prefabs, create different models, and apply game physics to create interactive game objects. |
Create Visual and Sound Effects Students learn about game environments and level design. They add effects to game environments such as light objects, particle systems, camera angles and movement, sound effects, and user interfaces. |
Project: Design Your Game Students apply their understanding of the game design process by creating a storyboard and initial game concepts for a game they will develop across multiple modules. |
Project: Develop Your Game Students wrap up their final projects in this module. Applying all the different techniques from earlier modules as well as incorporating feedback from the previous module, students will complete and present their final game design. |
Explore the Industry Students learn about the game design industry, different roles involved in the creation of video games, and what it means to be a game developer. |
Create Components and Mechanics Students learn about more game components that enhance game mechanics by creating original models, controlling character animations, and designing interactive user interfaces. |
Additional Projects and Tutorials Students learn the fundamentals of game design by sharpening their familiarity with the Unity game engine environment. |
The Internet Students learn the basics of the Internet, including safely accessing the Internet, legal impacts of the Internet, and how to protect networks from cyber attacks. |
HTML - Structuring Websites Students learn about the language behind all websites: HTML. Students learn about several different HTML tags as well as the basic structure of a web page. Students use HTML to develop several of their own creative web pages. |
CSS - Styling Websites Students learn the language CSS and use it to style their web pages. Students learn about the benefits of styling with CSS and will use CSS to create several styled web pages of their own. |
Advanced HTML and CSS This module dives deeper into different things we can do with HTML and CSS. Students practice advanced topics in HTML and CSS, including visibility, image filtering, interaction, and animation, to develop more advanced websites. |
Project - Create Your Homepage Students build their own websites about themselves. This site will be accessible on their own custom domain and will be continually improved by the student as they continue on in the course. It will serve as a running portfolio of each creative project they create in the course. |
Introduction to Javascript in HTML Students learn about the script tag, and how it can be used to write JavaScript code in their HTML files. Students will also be introduced to useful JavaScript methods that can be used to alter the state of the CSS and HTML of a webpage, as well as how the Document Object Model supports the ability to make such changes. |
Bootstrap This module introduces students to Bootstrap, an HTML and CSS framework for developing responsive, professional websites. Students use Bootstrap to develop several professional, mobile responsive websites. |
Bootstrap Project In this project, students work in teams to create a professional, responsive website using Bootstrap. |
Storing and Collecting Data Students explore the role that data plays in creating websites. Students will learn about the various ways that data is taken from webpages, as well as ways to secure themselves from unwanted data collection. Students also learn how to incorporate data collection into their own websites, and collect simple information from users. |
How to Build and Maintain a Website Students explore how to store web files, secure a domain name, and maintain a website. The majority of the lessons will be explanatory - students will not be expected to host and maintain a webpage off CodeHS, but will be given the tools needed to do so if they desire. |
Final Project Students are tasked with creating a website of their own choosing. The website will have to follow specific criteria - certain number of pages, responsiveness, and use of APIs. Students go through a feedback process, and learn about making their websites more accessible to a wide array of users. |
Computer Science Careers Students explore various careers in computer science and the role of CTSOs. |
JavaScript Bootcamp This unit is meant to provide students a refresher on topics in JavaScript they have covered in previous courses. It's recommended that students go through the materials before beginning the Web Development Capstone. |
Using JavaScript Libraries Students are introduced to jQuery, a JavaScript library that makes webpage interaction easier. Students will learn the basic syntax of jQuery, how to incorporate it in their webpages, and useful methods that help animate and change the responsiveness of their websites. |
Project: Build an Interactive Resume! Students create a single page, interactive resume. Students are expected to add several animations using jQuery to prove their ability to modify HTML and CSS. This unit also examines web design theories that can help students improve the aesthetics of their resumes, and to evaluate the quality of a website based on its layout. |
Web Design Level 1 Certification Practice Students prepare for the CodeHS Web Design Level 1 Certification by taking practice quizzes and reviewing content from the Introduction to Web Design course. |
Introduction to Programming Karel is a dog that only knows how to move, turn left, and place tennis balls in his world. You can give Karel these commands to instruct him to do certain things. We use Karel to show you what it means to program, and allow you to focus on problem-solving. |
Practice PT: Pair-Programming Paint! In this project, students apply their knowledge of Karel to express their artistic side and create an image using Ultra Karel commands. |
Programming with Python Students learn the basics of Python, including variables, user input, control structures, functions with parameters and return values, and basic graphics, and how to send messages to objects. |
Python Control Structures Students learn how to use booleans and logical operators with control structures to make more advanced programs in Python. |
Functions and Parameters Students learn how to write reusable code with functions and parameters. |
Practice PT: Tell a Story Students apply what they've learned from the previous module to write reusable code with functions and parameters. |
Basic Data Structures Students will learn the basics of lists in Python while exploring tuples and lists. Students will explore how to create each of these and the various methods to access or alter them. |
Digital Information Students learn about the various ways to represent information digitally including number systems, encoding data, programmatically creating pixel images, comparing data encodings, compressing and encrypting data. |
Practice PT: Steganography Students apply knowledge about digital representation of data in a real-world application of using steganography to encrypt information. |
Practice PT: Create an Image Filter! Students apply data structure and digital information concepts together to create their own image filters. |
The Internet Students explore the structure and design of the internet, and how this design affects the reliability of network communication, the security of data, and personal privacy. |
Project: The Effects of the Internet Students apply their knowledge of the internet as they look at the impacts that it has on our world. |
Data Students explore using computational tools to store massive amounts of data, manipulate and visualize data, find patterns in data, and pull conclusions from data. |
Project: Present a Data-Driven Insight Students apply data concepts into a project where they can explore their own data application. |
Project: The Impact of Computing While the performance task is no longer a graded part of the AP test, the skills needed for the performance task are still a part of the curriculum. This module will give students a chance to apply these concepts in a project format. |
Create Performance Task |
AP Exam Review Students review of the topics covered in the course and practice solving AP Exam-style multiple-choice questions. |
Creative Development Students learn the theory and practice of user interface design. Students learn about what makes an engaging and accessible user interface and will employ an iterative design process including rapid prototyping and user testing to design and develop their own engaging programs. |
Final Final exam for the course. |
Computer Science Principles Pretest |
Midterm |
Computer Science Principles Posttest |
Extra Karel Practice It can take some time to learn all of Karel's tricks. Brush up here with some extra Karel practice problems. These reinforce all of the fundamental concepts introduced in Karel, including commands, functions, loops, conditions control structures, and problem decomposition. |
Extra Karel Puzzles A set of all the trickiest Karel puzzles for you to solve |
Karel Challenges In this module you'll take all the foundational concepts from Karel to solve some programming challenges. |
Web Development In this unit, students will go through a high level introduction to HTML, CSS, and the processes involved in viewing web pages on the internet. Students will create several simple web pages using the CodeHS online editor to gain practice using the various features of HTML and CSS. |
Classes and Objects Learn the principles of object-oriented design. |
Additional Topics Teach your program to make decisions based on the information it receives. Learn how to decompose your program into smaller pieces that work together to solve a problem! |
Project: Who Said It? Use your programming knowledge to build a program that can predict whether a small sample of text was written by Jane Austen or William Shakespeare! |
Project: Mastermind Students use their knowledge of lists, functions, variables, and control structures to create a basic Mastermind game where players must guess a generated sequence of numbers. |
Practice PT: Testing 1, 2, 3 ... |
Practice PT: The Shopping List |
Strings Students use more sophisticated strategies for manipulating text in their programs - slicing, concatenating, and formatting. |
Extending Data Structures Students learn to build more complex programs that make use of grids and dictionaries. |
Unit Tests |
Primitive Types Students learn about writing the main method and start to call preexisting methods to produce output. Students learn about three built-in data types and learn how to create variables, store values, and interact with those variables using basic operations. |
Using Objects Students learn how to create and use classes and objects. This unit builds on students’ ability to write expressions by introducing them to Math class and String methods to write expressions for generating random numbers and other more complex operations. |
Boolean Expressions and if Statements Students learn the syntax and proper use of conditional statements in Java, as well as how to implement Boolean variables in their programs by writing Boolean expressions with relational and logical operators. |
Iteration Students learn how to use iteration to improve the reusability and speed of their programs. Students evaluate which iterative structures should be used in a given context, and build programs that require them to choose the iterative structure that works best. |
Writing Classes Students learn how to create and implement complex classes and objects. |
Array Students learn about how to use and manipulate data in the form of arrays. Students explore the limitations of primitive data types in the context of storing data, and develop programs that use arrays to store and search for data. |
ArrayList Students learn about the limitations of arrays, and are introduced to a new data structure - ArrayLists. Students are asked to compare the two data structures and implement programs that utilize each. |
2D Array Students learn how to store data in increasingly complex ways by introducing them to the 2D arrays. Students learn standard algorithms to utilize and search 2D arrays, as well as ways to use them effectively in their programs. |
Inheritance Students learn how to recognize common attributes and behaviors that can be used in a superclass and create hierarchies by writing subclasses to extend a superclass. |
Recursion Students learn how to write simple recursive methods and determine the purpose or output of a recursive method by tracing. |
Java Pretest |
Recursion - Demo Unit Students learn how to write simple recursive methods and determine the purpose or output of a recursive method by tracing. |
Introduction to Programming in Java with Karel the Dog Intro to Java with Karel the Dog. Learn the basics of java commands, control structures, and problem solving by solving puzzles with Karel. This is recommended as Summer Work for students entering AP CS A, or for students who are taking AP CS A as their first programming class. |
AP Test Practice In this module students will get a practice exam in the same format as the AP Computer Science in Java test. |
Additional Exercises |
Elevens In the Elevens lab, you will use Object Oriented design to create a solitaire card game. At the end of the lab, you'll use a Graphical User Interface to play the game you create! Students can complete this assignment after finishing Unit 6: Data Structures in AP CS A (Mocha). This assignment does not align with College Board Standards, as abstract classes are not covered in AP CS A (Nitro). |
Magpie In the Magpie lab, you will use String methods and pattern matching to create a chat bot that you can have a conversation with. Students can complete this assignment after finishing Unit 5: Writing Classes in AP CS A (Nitro), or Unit 4: Classes and Objects in AP CS A (Mocha). |
Picture Lab In this lab, you will write methods to modify pictures. You'll explore the way pictures are stored in memory, nested loops, interfaces, and inheritance. Students can complete this assignment after finishing Unit 9: Inheritance in AP CS A (Nitro), or Unit 5: Data Structures in AP CS A (Mocha). This assignment does not align with College Board Standards, as it uses Interfaces. |
Consumer Review Lab The persuasive power of words can be seen in a variety of places such as entertainment, news, social media, and even reviews and comments. Students learn about sentiment value and how this can be used to construct or modify a review to be more positive or negative using String manipulation. This lab can be used after Unit 4: Iteration in Nitro, and Unit 3 Methods in Mocha |
Celebrity Lab Students will discuss class design as it relates to the game Celebrity, where a person or team tries to guess the name of a celebrity from a given clue or set of clues. This lab includes inheritance as the basis for one of the activities, and also includes a Graphical User Interface. This lab can be completed after Unit 9 Inheritance in Nitro, and Unit 5 Data Structures in Mocha. |
Steganography Lab Steganography is the practice of concealing messages or information within other non-secret text or data. Students will use the same code from Picture Lab to explore the concepts of steganography and 2D arrays, hiding images or text inside of other images. This lab can be completed after Unit 8 2D Arrays in AP CS A Nitro, and after unit Unit 5 Data Structures in AP CS A Mocha. |
Java Level 1 Certification Practice Students prepare for the CodeHS Java Level 1 Certification by taking practice quizzes and reviewing content from the CodeHS Java courses. |
Exploring Code with Karel Students learn the basics of programming by giving Karel the Dog commands in a grid world. |
Computing Ideas Students learn about what makes a computer a computer as well as the various ways we represent information digitally. |
Intro to micro:bit Students learn the basics of the micro:bit, such as how to light up and change the brightness of LEDs and how to use variables to write more versatile programs. |
Cybersecurity and You Students delve into key areas such as personal data collection and security, cyber ethics and laws, and cybersecurity essentials, equipping individuals with the knowledge to navigate the digital landscape responsibly and securely. |
Exploring Web Design Students explore HTML and CSS styling as they work to create their homepage. |
The World of Artificial Intelligence Students learn about the fundamentals of artificial intelligence, machine learning, AI ethics, and the impact of AI has had on various sectors. |
Program Control with micro:bit Students combine control structures, such as if/else statements and loops, with the micro:bit built-in and external sensors to write programs that react to the outside world. |
Advanced micro:bit Students explore all of the capabilities of the micro:bit on their own as they research, explore, and teach their peers about new sensors. |