Please enable JavaScript to use CodeHS

Indiana Introduction to Computer Science

The Indiana Introduction to Computer Science 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.

MODULES - 36

  • 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.

  • 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.

  • Animation and Games

    Students learn how to make objects move around the screen, and how to let users interact with programs using the mouse.

  • Animation Challenges

    This module requires students to use all the foundational concepts from the Animations unit to solve some programming challenges.

  • Project: Breakout

    In this module, students build their very own breakout game from scratch using JavaScript.

  • Extra Karel Puzzles

    A set of all the trickiest Karel puzzles for you to solve

  • 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.

  • More Graphics and Animation

    A bunch of fun graphics programs to get practice with 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.

  • Evolution Simulation

  • Demo Problems

  • Extra Quiz Questions

  • Visualizing Music

    Learn how to create your own music visualizer!

  • Data Structures

    We introduce lists/arrays, maps/objects, sets, and grids. These are the essential basic data structures that any program will use.

  • 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 Cloud Storage Resources


144
Lessons
116
Videos
229
Exercises
73
Challenges

Demo Programs

Explore programs that your students will build throughout this course!

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.