Unit | Description |
---|---|
Introduction to Programming: Students learn the basics of programming by giving Karel the Dog commands in a grid world. Karel is a dog that only knows how to move, turn left, and place tennis balls in his world. Students give Karel these commands to instruct him to do certain things. | |
JavaScript and Graphics: Students learn the basics of JavaScript including variables, user input, mathematics, and basic graphics. | |
JavaScript Control Structures: Students learn how to use control structures such as if/else statements and loops to make more advanced programs in JavaScript. | |
Functions and Parameters: Students learn to write reusable code with functions and parameters. | |
Project: Tell a Story: In this project, students write a JavaScript program that tells a graphical story. | |
Basic Data Structures: Students are introduced to basic data structures that make storing and accessing data easier. | |
Digital Information: Students learn about the various ways we represent information digitally. Topics covered include number systems, encoding data, programmatically creating pixel images, comparing data encodings, compressing and encrypting data. | |
The Internet and Computers: Students learn about 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 evaluate the sociological, ethical, and economic impact of a computer science innovation. Students are tasked with creating a project that expresses their research in a succinct and informative way. | |
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 develop a data-driven insight based on their assessment of data found and collected on an issue of their choice. | |
Creative Development: Students learn the theory and practice of user interface design and employ an iterative design process including rapid prototyping and user testing to design and develop their own engaging web pages. |
Unit | Description |
---|---|
Final: Final exam for the course. | |
Midterm: | |
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. | |
Functions and Parameters Practice: Functions are the critical building block of any program. To be able to use functions, you want to make sure you fully understand parameters, return values, and how to create your own functions. That is what this practice module is for. | |
Extra Console Challenges: A bunch of fun console programs to get practice with JavaScript. | |
Animation and Games: Now, your graphics will come to life. You will learn how to make objects move around the screen. You will also learn how to let the user interact with your program with the mouse. At the end of this section, you will program your very own video game. | |
Project: Breakout: Learn to make the game invented by Steve Jobs and Steve Wozniak! In this module, you will build your very own breakout game from scratch using JavaScript. | |
Data Structures Challenge Problems: Learn to code Conway's Game of Life and your own Connect Four game using your skills in data structures. | |
Visualizing Music: Learn how to create your own music visualizer! | |
Project: Tic Tac Toe: Did you know that Tic Tac Toe may have been played in Ancient Egypt? Now, you get to make your own game of tic tac toe on the computer! In this module, you will take what you have learned about data structures and make a two player tic tac toe game. | |
Project: Helicopter Game: You now have the tools to make amazing games. This module walks you through the creation of the classic Helicopter game one step at a time. | |
More Basic Data Structures: We introduce more data structures: sets, objects, and grids. These are the essential basic data structures that any program will use. | |
Computer Science Principles Pretest: This is a pretest to get a baseline level of understanding before the course begins. | |
Computer Science Principles Posttest: This is a posttest to help get a baseline of grown for students. |
Sign up for a free teacher account to get access to curriculum, teacher tools and teacher resources.
Teacher SignupSign up as a student if you are in a school and have a class code given to you by your teacher.
Student Signup