Please enable JavaScript to use CodeHS

New

Indiana Principles of Computing

The Indiana Principles of Computing course focuses on teaching students important computing topics such as programming, operating systems, IT infrastructure, and how to work with data. The course also places an emphasis on helping students develop logical thinking and problem-solving skills.

Overview & Highlights

Level
High School
Contact Hours
150
Timeframe
Year

Course Overview

To view the entire syllabus, click here or click to explore the full course.

Programming With Karel
Karel helps teach foundational skills in programming by simplifying JavaScript to four simple commands. Using these commands, students solve increasingly difficult problems and explore how complex programming languages can be developed from simple commands.
Karel Challenges
Students take all the foundational concepts from Karel to solve programming challenges.
Cybersecurity
Students learn topics on Internet etiquette, how to stay safe on the web, potential effects of digital footprints, how to protect their information, and the implications of cyberbullying.
What is Computing?
Students dive into the history of computing, consider how computing impacts today's world, and learn about the various parts that make up modern computers.
Digital Information
Students learn about the various ways we represent information digitally including number systems, encoding data, and creating pixel images.
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 choose an innovation that was enabled by the Internet and explore the effects of this innovation!
JavaScript and Graphics
Students learn the basics of JavaScript, including variables, user input, mathematics, and basic graphics.
Graphics Challenges
Students learn the basics of pair programming and take all the foundational concepts from JavaScript Graphics to solve programming challenges.
JavaScript Control Structures
This module covers the basics of how to use control structures such as if/else statements and loops to make more advanced programs in JavaScript.
Control Structures Challenges
This module requires students to use all the foundational concepts from the Control Structures module to solve programming challenges.
Functions and Parameters
This module teaches students how to write reusable code using functions and parameters.
Functions Challenges
This module requires students to use all the foundational concepts from the Functions module unit to solve programming challenges.
Operating Systems and Software
Students will compare and contrast common operating systems (Windows, Linux, OS) and explain the importance of compatibility. Students will also explore software and apps while discussing software licenses and running through the software development life cycle.
IT Infrastructure
Students learn about the physical elements of computers and networking, such as motherboards, RAM, routers, and the use of port numbers, ethernet, and wireless devices.
Data
In this unit, students will explore using computational tools to store massive amounts of data, manipulate and visualize data, find patterns in data, and pull conclusions from data.
Final Project
Students take all the skills they've learned throughout the course to create a final program with a partner.
Final Exam
This module includes a culminating exam, testing students on their knowledge of all course materials.

144
Lessons
116
Videos
227
Exercises
73
Challenges
198
Offline Handouts

Demo Programs

Explore programs that your students will build throughout this course!

Course Resources

Here are a few examples of teacher resources and materials to use in the Indiana Principles of Computing course

Standards

Indiana Principles of Computing is aligned with the following standards

Standards Framework View Alignment
Indiana Principles of Computing Standards View (96.8%)
South Carolina Fundamentals of Computing View (71.4%)

Customizable Assignments

Create and organize Assignments in any CodeHS course that you're teaching. You can even add custom assignments to pre-existing CodeHS courses.

Learn More

Actions for Teachers

Didn’t find what you were looking for? Here are a few links that might be useful to you.