Please enable JavaScript to use CodeHS


Illinois Introduction to Computer Science

Units

Unit Description
Programming with Karel: Students learn the basics of programming by giving Karel the Dog commands in a grid world.
JavaScript Basics: Students learn the basics of JavaScript including variables, user input, mathematics, and functions.
The Canvas and Graphics: Students learn how to add graphics objects and position them on the canvas.
Control Structures: Students learn how to use control structures such as if/else statements and loops to make advanced programs in JavaScript.
Functions: Students learn to write reusable code with functions, parameters, and return values, and explore the impact of variable scopes.
Animation and Games: Students learn how to make objects move around the screen and let users interact using the mouse!
JavaScript Project: Students apply the skills they've learned throughout the course to create an original program!
Computer Science Careers: Students take some time to explore and discover different computer science careers. Students will learn more about resumes and develop one of their own. Students will also research about professional student organizations and the benefits they offer to their members.
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.
Present a Data-Driven Insight: Students apply data concepts into a project where they can explore their own data application.
What is Cybersecurity?: Students explore the basics of cybersecurity. Students learn about why cybersecurity is important, recent threats to cybersecurity, and different careers in the field.
Digital Citizenship and Cyber Hygiene: Students learn about Internet etiquette and how to stay safe on the world wide web. Students also look at the potential effects of our digital footprints, how to protect information from online risks, and the implications of cyberbullying.
System Administration: Students compare and contrast common operating systems (Windows, Linux, OS) and explain the importance of application security. Students investigate security options and implement user accounts to enforce authentication and authorization. Students also demonstrate how to work with basic and advanced command prompts.
Software Security: Students learn what happens when running a web application and how to look inside web apps using developer tools, source code, and more. Students learn basic SQL and common attacks like SQLi, and by the end of the module, students will be able to recommend solutions for flawed security systems.
Networking Fundamentals: Students explore the structure and design of the internet and networks, and how this design affects the reliability of network communication, the security of data, and personal privacy. Students learn how the Internet connects computers all over the world by using networking protocols.

Unit Description
JavaScript Midterm:
JavaScript Final Exam: This course ends with a 25 question multiple choice exam.
Karel Challenges: Students apply all the foundational concepts from Intro to Karel to solve new challenges.
Practice: Karel: 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.
Practice: Console Challenges: A bunch of fun console programs to get practice with JavaScript.
Practice: Graphics and Animation: A bunch of fun graphics programs to get practice with JavaScript.
Graphics Challenges: Students apply what they have learned about graphics and basic JavaScript to complete a set of challenges.
Control Structures Challenges: Students apply the foundational concepts from the Control Structures module to solve new challenges.
Practice: Functions: 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.
Functions Challenges: Students use what they have learned in the Functions module to solve new challenges.
Animation Challenges: Students apply all the foundational concepts from the Animations module to solve new challenges.
Project: Breakout: Students learn how to make their own Breakout game from scratch using JavaScript.
Extension: Visualizing Music: Learn how to create your own music visualizer!
Extension: Data Structures: Students learn about lists/arrays, maps/objects, sets, and grids. These are the essential basic data structures that any program will use.
Practice: Data Structures Challenges: Learn to code Conway's Game of Life and your own Connect Four game using your skills in data structures.
Project: Tic Tac Toe: Students create their own game of Tic Tac Toe! Students apply what they have learned about data structures and make a two player tic tac toe game.
Project: Helicopter Game: Students demonstrate their programming prowess as they develop the classic Helicopter game one step at a time.
JavaScript Level 1 Certification Practice: Students prepare for the CodeHS JavaScript Level 1 Certification by taking practice quizzes and reviewing content from the Introduction to Computer Science in JavaScript course.