Please enable JavaScript to use CodeHS

Flavors

On our Pro plans, we have different Course Flavors available. Course Flavors means that you get exactly the right version of our course for your school, classroom, and students.

Introduction to SQL

Learn the basics of SQL. How to structure information, write queries, and analyze data. This course requires no knowledge of SQL and is a great way to get introduced to databases.

AP CS Principles Exam Review

This course contains hundreds of AP style exam questions to help your students prepare for the AP Computer Science Principles exam in May.

Introduction to Virtual Reality

Virtual Reality is a rapidly growing technology with applications in several different fields. In this short course, students will learn how to build their very own virtual reality worlds using HTML and the A-Frame JavaScript library. Students can view their VR creations on the computer, through phones, or through an Oculus Rift. Get ready to be blown away by what you create!

Introduction to the Internet

Introduction to the Internet is an introductory computer science course that introduces the basics of designing a web page and how information and images are represented with computers. Students will create a portfolio on the web to showcase projects they built throughout the course.

Hour of Code: Programming with Karel the Dog

Giving commands to a computer, which is what programming is all about, is just like giving commands to a dog. Learn how to code with Karel the Dog—a fun, accessible, and visual introduction to text or block-based programming that teaches fundamental concepts like commands and functions to beginners.

Hour of Code: React Native Mobile Apps with CodeHS

This activity gives you some examples on how to make your first real mobile apps and how to test them out on your phone. To run apps on a smartphone phone, students will need to download the Expo app. Find more information about Expo at https://expo.io.

Hour of Code: Creating Virtual Worlds

Learn the basics of building virtual reality worlds using HTML and the A-Frame JavaScript Library. Through this activity, students will build their own virtual reality worlds that are compatible with VR devices, including smartphone VR headsets!

Hour of Code: Creating Apps with JavaScript

This activity gives you some examples on how to make your first real mobile apps and how to test them out on your phone. To run apps on a smartphone phone, students will need to download the Expo app. Find more information about Expo at https://expo.io.

Hour of Code: La Programación con Karel el Perro

Dar órdenes a una computadora, que es lo que la programación se trata, es como dar órdenes a un perro. Aprende a codificar con Karel el perro, una introducción divertida, accesible y visual a la programación que enseña conceptos fundamentales como comandos y funciones a principiantes absolutos. Los estudiantes pueden programar en bloques o texto.

Hour of Code: Web Design with CodeHS

Learn the basics of building and designing a website! Use HTML to add text, pictures, and color to your page. These skills are the foundation for all website creation and is a great activity for students who are interested in the internet and how websites come to life!

Hour of Code: Graphics with Tracy the Turtle

Learn the basics of programming by drawing shapes on your screen with Tracy the Turtle! Turtle Graphics (or LOGO) is a beginner friendly way to explore programming concepts and bring creativity into programming in a visual way.

Hour of Code: Digital Art in Pixels

Learn how images are stored and displayed on computers using pixels. Explore how images are encoded as a grid of color values, and make your own digital images using binary and hexadecimal color codes!

Hour of Code: Coding in Java with CodeHS

Learn the basics of the Java programming language. This hour will cover printing, variables, types, and getting information from users. Write a program that take in and stores data from a user and returns a unique response!

Hour of Code: JavaScript Graphics Art

Make your own graphics and drawings on the web using JavaScript. Learn how to use our JavaScript graphics library to make pictures by adding and modifying shapes to your canvas. This is a great activity for an art class or geometry class, as requires students to place their objects on a 2d plane.

Hour of Code: Coding in Python with CodeHS

Learn the basics of coding with the Python programming language by writing programs that you can interact with! This hour will cover printing, variables, math, and getting information from users. Write a program that take in and stores data from a user and returns a unique response!

Mobile Apps

Mobile applications are becoming increasingly important to our consumption of media, news, social interaction, and learning. In this course, students will learn how to create mobile apps using React Native, a popular platform-agnostic framework. As an online blended high school course, students will design and build applications to run on their own smartphones and will use the latest tools and technologies available for mobile app development. Students will complete a large end-of-course project where they will practice project development skills to create an app to solve a specific problem.

Introduction to Physical Computing with micro:bit

The Introduction to Physical Computing with micro:bit quarter-long middle school course will utilize micro:bit devices in order to give students the opportunity to apply knowledge of basic programming concepts (control structures, variables, functions, etc.) to a physical device. They will learn how to perform basic physical tasks using LEDs, buttons, and basic sensors.

Intro to Python with Tracy

The CodeHS Introduction to Python with Tracy the Turtle course teaches students the basics of programming in the Python language. Tracy is a turtle that can be instructed with the use of various commands to draw scenes on a canvas. Students will learn Python commands, functions, and control structures by solving puzzles and writing creative programs for Tracy to follow.

CS 106 Section Problems

Week by week section problems for the Stanford CS 106 Courses

Coding Explorations in Sports

Coding + Sports is a mini-course that introduces students to the basics of coding through sports! In this block-coding course, students develop their own sports video games and simulations using code. Throughout the course, students build different sports visualizations and multi-level games that can be played with friends.

Coding Explorations in Art

Coding + Art is a mini-course that introduces students to the basics of coding through art! In this block-coding environment, students explore the digital art medium by building coding programs that create collages, imitate techniques of famous artists like Jackson Pollock and Andy Warhol, and tell stories through a sequence of multimedia scenes.

Coding Explorations in Music

Coding + Music is a mini-course that introduces students to the basics of coding through music! In this block-coding course, students investigate how code can be used to create and enhance music by building programs that generate beat patterns, chord progressions, and musical sequences with visualizations.

Exploring Collisions in Physics

Students will use JavaScript graphics to create their own elastic collision simulation using conservation of momentum and kinetic energy equations. This course is designed for students who have taken or are taking a physics course and have a background in solving algebraic equations. The approximate length of this course is 2-4 hours.

Hour of Code: Collision Simulations

Students will explore how mass and speed affect elastic collisions by using conservation of momentum and conservation of kinetic energy equations to verify final speed values as calculated by a simulation.

Hour of Code: Generating Beats with Code

Students are introduced to the JavaScript block coding environment. They learn how to write a program that plays their own 8 count beat pattern.

Hour of Code: Generating Art with Code

Students are introduced to the JavaScript block coding environment. They learn how to create a computer program that places images and text on a canvas to create their own meme.

Hour of Code: Coding in Sports

Students are introduced to the JavaScript block coding environment. Students curate the environment of their own sports video game.

Hour of Code: Building Mathematical Models

Students are introduced to Tracy the Turtle and learn how to code different mathematical models in Python! No coding experience is necessary, but students should have completed Algebra I or higher.

Hour of Code: Explore the Bitcoin Ledger

This Hour of Code looks at how transactions works on the Bitcoin ledger and and investigates the overall performance of the Bitcoin blockchain.

Hour of Code: Explore Blockchain Technology

This Hour of Code is an introduction to cryptography, hashing and blockchain technology, which is the foundation of Bitcoin.

Mobile Apps (Semester)

Mobile applications are becoming increasingly important to our consumption of media, news, social interaction, and learning. In this course, students will learn how to create mobile apps using React Native, a popular platform-agnostic framework. As an online blended high school course, students will design and build applications to run on their own smartphones and will use the latest tools and technologies available for mobile app development. This course is designed for a semester-long session.

Punnett Square Generator

Students will use Turtle Graphics in Python to create their own Punnett Square generator. This course is designed for students who have taken or are taking a biology course. The approximate length of this course is 2-4 hours.

Coding Explorations

Students learn coding as it relates to music, art and sports.

JavaScript with Physics: Bouncing Ball Simulation

Have you ever wondered when and where you will use some of those concepts you learned in physics? In this lesson, you'll apply your skills in creating a bouncing ball simulation, complete with gravity and collisions! Students should have some familiarity with physics concepts such as acceleration and velocity. Developed by Brian Pitlin, computer science teacher at United High School

Categorizing Triangles

Students will use Turtle Graphics in Python to create a program that will draw a categorize triangles based on user input. This course is designed for students who have taken or are taking a geometry course. The approximate length of this course is 1-3 hours.

Intro to Computer Science in Python 3

The Introduction to Computer Science in Python 3 course teaches the fundamentals of computer programming as well as some advanced features of the Python language. Students will develop an appreciation for how computers store and manipulate information by building simple console-based games. This course is equivalent to a semester-long introductory Python course at the college level and is taught in the Python 3 programming language.

Virginia Computer Science Foundations

The Virginia Computer Science Foundations course is a one-year course with an emphasis on computer programming within the context of broader concepts of computer science. This course builds on the concepts of computer science developed in prior grade levels and provides a transition from block-based programming to a text-based programming language and familiarize students with developing and executing computer programs.

CSTA Course 3A

This course is fully aligned to the CSTA 3A standards for students in grades 9 and 10. It covers all concepts in the CSTA framework, including: Algorithms & Programming, Computing Systems, Data and Analysis, Impacts of Computing, and Networks & the Internet.

Texas Computer Science 1

This course is fully aligned to the Texas TEKS standards for the Texas Computer Science I course. Computer Science I will foster students' creativity and innovation by presenting opportunities to design, implement, and present meaningful programs through a variety of media. Students will collaborate with one another, their instructor, and various electronic communities to solve the problems presented throughout the course. Through data analysis, students will identify task requirements, plan search strategies, and use computer science concepts to access, analyze, and evaluate information needed to solve problems.

Arkansas CS I (Programming/Coding Emphasis)

This is the level one computer science course for the state of Arkansas. It is designed to provide foundational understandings of concepts in computer science that are necessary for students to function in an ever-changing technological world. These standards help students learn to accomplish tasks and solve problems independently and collaboratively, as well as give them the tools and skills needed to be successful in college and careers, whether in computer science or in other fields.

New Hampshire Course 3A

This course is fully aligned to the CSTA 3A standards adopted by the state of New Hampshire. This course is intended for students in grades 9 and 10. It covers all concepts in the CSTA framework, including: Algorithms & Programming, Computing Systems, Data and Analysis, Impacts of Computing, and Networks & the Internet.

Iowa Course 3A

This course is fully aligned to the CSTA 3A standards adopted by the state of Iowa. This course is intended for students in grades 9 and 10. It covers all concepts in the CSTA framework, including: Algorithms & Programming, Computing Systems, Data and Analysis, Impacts of Computing, and Networks & the Internet.

Pennsylvania Course 3A

This course is fully aligned to the CSTA 3A standards adopted by the state of Pennsylvania. This course is intended for students in grades 9 and 10. It covers all concepts in the CSTA framework, including: Algorithms & Programming, Computing Systems, Data and Analysis, Impacts of Computing, and Networks & the Internet.

Connecticut Course 3A

This course is fully aligned to the CSTA 3A standards adopted by the state of Connecticut. This course is intended for students in grades 9 and 10. It covers all concepts in the CSTA framework, including: Algorithms & Programming, Computing Systems, Data and Analysis, Impacts of Computing, and Networks & the Internet.

Michigan Course 3A

This course is fully aligned to the CSTA 3A standards adopted by the state of Michigan. This course is intended for students in grades 9 and 10. It covers all concepts in the CSTA framework, including: Algorithms & Programming, Computing Systems, Data and Analysis, Impacts of Computing, and Networks & the Internet.

New Mexico Course 3A

This course is fully aligned to the CSTA 3A standards adopted by the state of New Mexico. This course is intended for students in grades 9 and 10. It covers all concepts in the CSTA framework, including: Algorithms & Programming, Computing Systems, Data and Analysis, Impacts of Computing, and Networks & the Internet.

Washington Course 3A

This course is fully aligned to the CSTA 3A standards adopted by the state of Washington. This course is intended for students in grades 9 and 10. It covers all concepts in the CSTA framework, including: Algorithms & Programming, Computing Systems, Data and Analysis, Impacts of Computing, and Networks & the Internet.

Florida Computing Ideas

This course meets all standards in Florida's approved Computer Science Discoveries course. It can be used at the high school or middle school level and matches course codes 0200305, 0200000, 0200010, and 0200020. Computing Ideas introduces students to computer science as a vehicle for problem solving, communication, and personal expression. The course focuses on the visible aspects of computing and computer science. Centering on the immediately observable and personally applicable elements of computer science, the course asks students to look outward and explore the impact of computer science on society.

South Carolina Fundamentals of Computing

Fundamentals of Computing is designed to introduce students to the field of computer science through an exploration of engaging and accessible topics. Through creativity and innovation, students will use critical thinking and problem solving skills to implement projects that are relevant to students' lives. They will create a variety of computing artifacts while collaborating in teams. Students will gain a fundamental understanding of the history and operation of computers, programming, and web design. Students will also be introduced to computing careers and will examine societal and ethical issues of computing.

Georgia Introduction to Digital Technology

This is the first course required for all of Georgia's IT pathways. This course is designed for students to understand, communicate, and adapt to a digital world as it impacts their personal life, society, and the business world. Exposure to foundational knowledge in hardware, software, programming, web design, IT support, and networks are all taught with hands-on activities and project focused tasks. Various forms of technologies will be highlighted to expose students to the emerging technologies impacting the digital world.

SWCSD Programming Fundamentals

Programming Fundamentals course for SWCSD

SWCSD Programming II

Programming II course for SWCSD

Hour of Code: Exploring Genotypes with Code

In this hour of code, students will create a program that will solve for allele pairs based on user input. Students will program with Tracy the Turtle in Python to make this happen. Students should have prior knowledge of basic biology concepts and Punnett Squares before beginning this activity.

Personal Data Vulnerabilities

Cyber Curriculum Development The C5 project has brought together computer science faculty and cybersecurity educators to develop new course content that integrates the two disciplines. Created with the needs of our nation's 1,100-plus community colleges in mind, C5's contemporary cybersecurity content consists of modules that can be seamlessly incorporated into existing computing courses or bundled together to create an introductory cybersecurity-infused computer science course.

Georgia Foundations of Computer Programming

This course provides students with an exploratory foundation in computer programming. Through integrated instructional activities, students will have opportunities to apply employability skills and to research possible career options in the information technology area. They will also complete many hands-on activities to build a strong foundation in computer coding. This course may be taught in 6th, 7th, or 8th grade.

Council Rock PD

This short course accompanies the professional development for the Council Rock SD.

Web Development

The Web Development capstone course is intended to teach students the fundamentals of web development in a project-based learning environment. Students will be taught the basic elements of web development, such as web hosting, file organization, and incorporating Javascript into HTML files. Over the course of the school year, students will collaboratively and independently design, develop and implement functional and responsive web pages using these foundational skills.

Georgia Foundations of Secure Information Systems

This course provides an exploratory foundation in information systems, networking, and cybersecurity. Through integrated instructional activities, students will have opportunities to apply employability skills and to research possible career options in the information technology area. They will also complete many hands-on activities to build a strong foundation in computer hardware and connectivity. Students who successfully complete this course will be prepared for the following pathways upon entering high school: Information Support & Services, Networking, and Cybersecurity. This course may be taught in 6th, 7th, or 8th grade.

Hour of Code: Pi Day

Have you ever wondered how many digits of Pi are really needed? Using Java, students will explore the impact of using different numbers of Pi digits in their calculations. This course is designed for students that are familiar with print statements and basic loops & conditional statements in Java.

Introduction to Physical Computing with Arduino

The Introduction to Physical Computing with Arduino quarter-long high school course will utilize Arduino devices in order to give students the opportunity to apply knowledge of basic programming concepts (control structures, variables, functions, etc.) to a physical device. They will learn how to perform basic physical tasks using LEDs, buttons, and basic sensors.

K12 Texas Web Communications

This semester-long course for high school freshmen is an exploratory course in web communications. It explores and delves into applications encompassing: digital citizenship, information literacy, creative credit and copyright, online and in-person collaboration, designing and developing accessible websites as an avenue to personal creativity, and understanding structural aspects of computing (e.g., hardware, servers, devices, file organization).

K12 Texas Web Design PBL Semester A

The CodeHS Texas Web Design course is a project-based course that teaches students how to build their own web pages. Students will learn the languages HTML and CSS, and will create their own live homepages to serve as portfolios of their creations. By the end of this course, students will be able to explain how web pages are developed and viewed on the Internet, analyze and fix errors in existing websites, and create their very own multi page websites. Students will learn the foundations of user interface design, rapid prototyping and user testing, and will work together to create professional, mobile responsive websites, as well as foundational cybersecurity topics including digital citizenship and cyber hygiene, software security, networking fundamentals, and basic system administration.

K12 Texas Computer Science 1 PBL Semester A

Computer Science I will foster students' creativity and innovation by presenting opportunities to design, implement, and present meaningful programs through a variety of media. Students will collaborate with one another, their instructor, and various electronic communities to solve the problems presented throughout the course. Through data analysis, students will identify task requirements, plan search strategies, and use computer science concepts to access, analyze, and evaluate information needed to solve problems. By using computer science knowledge and skills that support the work of individuals and groups in solving problems, students will select the technology appropriate for the task, synthesize knowledge, create solutions, and evaluate the results. Students will learn digital citizenship by researching current laws and regulations and by practicing integrity and respect. Students will gain an understanding of the principles of computer science through the study of technology operations, systems, and concepts.

K12 Texas Computer Science 1 PBL Semester B

Computer Science I will foster students' creativity and innovation by presenting opportunities to design, implement, and present meaningful programs through a variety of media. Students will collaborate with one another, their instructor, and various electronic communities to solve the problems presented throughout the course. Through data analysis, students will identify task requirements, plan search strategies, and use computer science concepts to access, analyze, and evaluate information needed to solve problems. By using computer science knowledge and skills that support the work of individuals and groups in solving problems, students will select the technology appropriate for the task, synthesize knowledge, create solutions, and evaluate the results. Students will learn digital citizenship by researching current laws and regulations and by practicing integrity and respect. Students will gain an understanding of the principles of computer science through the study of technology operations, systems, and concepts.

K12 Texas Web Design PBL Semester B

The CodeHS Texas Web Design course is a project-based course that teaches students how to build their own web pages. Students will learn the languages HTML and CSS, and will create their own live homepages to serve as portfolios of their creations. By the end of this course, students will be able to explain how web pages are developed and viewed on the Internet, analyze and fix errors in existing websites, and create their very own multi page websites. Students will learn the foundations of user interface design, rapid prototyping and user testing, and will work together to create professional, mobile responsive websites, as well as foundational cybersecurity topics including digital citizenship and cyber hygiene, software security, networking fundamentals, and basic system administration.

Texas Web Communications

Texas Web Communications is an exploratory course in web communications meant for high school freshmen that is fully aligned to the Texas TEKS Web Communication standards. It explores and delves into applications encompassing: digital citizenship, information literacy, creative credit and copyright, online and in-person collaboration, designing and developing accessible websites as an avenue to personal creativity, and understanding structural aspects of computing (e.g., hardware, servers, devices, file organization).

Texas Web Design

The CodeHS Texas Web Design course is a project-based course that teaches students how to build their own web pages. Students will learn the languages HTML and CSS, and will create their own live homepages to serve as portfolios of their creations. By the end of this course, students will be able to explain how web pages are developed and viewed on the Internet, analyze and fix errors in existing websites, and create their very own multi page websites. Students will learn the foundations of user interface design, rapid prototyping and user testing, and will work together to create professional, mobile responsive websites, as well as foundational cybersecurity topics including digital citizenship and cyber hygiene, software security, networking fundamentals, and basic system administration.

Intro to Programming with Karel and micro:bit

The Introduction to Programming with Karel and micro:bit course merges the Physical Computing with micro:bit and the Introduction to Programming with Karel courses. The Karel course will provide the prerequisite information needed before students apply programming concepts to their physical micro:bit device. Note: The concept of variables is not covered by the Karel content so supplemental information will be necessary before teaching this lesson with the micro:bit device.

Intro to Programming with Tracy and micro:bit

The Introduction to Programming with Tracy and micro:bit course merges the Physical Computing with micro:bit and the Introduction to Python with Tracy courses. The Tracy course will provide the prerequisite information needed before students apply programming concepts to their physical micro:bit device.

Intro to Programming in JavaScript with Arduino

The Intro to Programming in JavaScript with Arduino course merges the Introduction to Computer Science in JavaScript and the Introduction to Physical Computing with Arduino courses. The JavaScript course will provide the prerequisite information needed before students apply programming concepts to their physical Arduino device.

Intro to Programming in Python with Arduino

The Intro to Programming in Python with Arduino course merges the Introduction to Computer Science in Python and the Introduction to Physical Computing with Arduino courses. The Python course will provide the prerequisite information needed before students apply programming concepts to their physical Arduino device.