- What is CodeHS?
- Tech Requirements
- Professional Development
- How do I start a computer science program?
- 6-12 Curriculum Pathway
- Four Year High School Curriculum Pathway
- K-12 Curriculum Pathway
- AP Computer Science in Java
- AP Computer Science Principles
- Intro to Computer Science in Python
- Computing Ideas
- Web Design
- Introduction to Virtual Reality
- Introduction to Programming with Karel the Dog
- Programming Languages
- Creative Computing
- Introduction to the Internet
- World of Computing
- All Courses
- Professional Development
- Online PD
- In-Person PD
- Teaching Intro CS
- Teaching Intro CS 2
- Teaching AP CSP
- Teaching AP Java
- Teaching Computing Ideas
- Teaching Intro Python
- Teaching Web Design
- Progress Tracking
- Magic Grading
- Next Gen Lesson Plans
- Offline Handouts
- Problem Guides
- Access Controls
- Due Dates
- Course Map
- Problem Bank
- Playlist Bank
- Quiz Scores
- Mobile Apps
The entirely web-based curriculum is made up of a series of learning modules that cover the fundamentals of programming. Each module is made up of short video tutorials, example programs, quizzes, programming exercises, challenge problems, and unit tests. The course is designed for a year long class that meets 5 days per week, though schools implement it in a variety of ways.
Who is it for?
What do you Learn?
Students learn the fundamentals of programming with an emphasis on problem solving and logical thinking. Topics covered include: graphics, animation and games, data structures, and more.
Here is a breakdown of the important programming skills that students will develop concepts that they will learn about by working through the CodeHS curriculum:
|Programming with Karel:Teaches what it means to "program" and allows students to focus on solving problems using code, rather than getting bogged down in syntax. Students solve problems by moving Karel the Dog around the grid.|
|Animation and Games:Watch graphics come to life! Teaches how to make objects move around the screen and how to let the user interact with programs using the mouse. At the end of this section, students will program their own video game.|
|Project - Breakout:Students apply the skills they have learned in the Animation and Games module in this culminating project. Students are encouraged to extend the project to incorporate their own creative additions to the game using the skills they have learned in the module.|
|Basic Data Structures:Introduces lists/arrays, maps/objects, sets, and grids. These are the essential basic data structures that any program will use.|
|Project - Tic Tac ToeStudents apply the skills they have learned in the Basic Data Structures module in this culminating project. Students are encouraged to extend the project to incorporate their own creative additions to the game using the skills they’ve learned in the module.|
|Game Design ComponentsWalk through the creation of the classic Helicopter game one step at a time.|
Visit our demos page to view some of the programs that students will create while completing this course.View Demos
"My students love it! They are engaged, they can work at their own pace. It's awesome!"
Courtney Moore, Teacher, Battle Mountain High School
"The students say the class is "fun, fun, fun" and that the class period is too short."
Ellen Kohrs, Teacher, Sea Crest School
"CodeHS has been a game-changer in my Intro to Programming class for 9th graders. The students have been much more engaged and motivated since we started using CodeHS"
Tom Simpson, Teacher, Heathwood Hall Episcopal School
"I truly believe the site is the most interactive way to teach programming!"
Seth Nilson, Teacher, Sentinel Peak High SchoolRead More Stories
Course Flavors and Syllabi
|Course Flavor||Student Level||Course Length||Pacing||Syllabus|
|Collie||High School||1 year (125-130 contact hours)||Mild|
|Golden||High School||1 year (150 contact hours)||Medium|
|Bulldog||High School||1 year (200 contact hours)||Difficult|
To find out the right Course Flavor for your class contact your Account Manager or contact us at email@example.com.