In this course, students are introduced to the secure software development process including designing secure applications, writing secure code designed to withstand various types of attacks, and security testing and auditing. It focuses on the security issues a developer faces, common security vulnerabilities and flaws, and security threats. The course explains security principles, strategies, coding techniques, and tools that can help make software fault-tolerant and resistant to attacks. Students will write and analyze code that demonstrates specific security development techniques. Students will also learn about cryptography as an indispensable resource for implementing security in real-world applications. Students will learn the foundations of cryptography using simple mathematical probability. Information theory, computational complexity, number theory, and algebraic approaches will be covered.
By the Numbers
|What is Cybersecurity?: Students explore the basics of cybersecurity. Students will learn about why cybersecurity is important, recent threats to cybersecurity, and different careers in the field.|
|The ABCs of Cryptography: Students dive into the history of cryptography systems, the motivation behind using encryption systems, and basic cryptography systems. Additionally, students explore topics on how to use cryptography, cryptology, and cryptanalysis to decode a message without the use of a key.|
|Project: Classic Cipher Newscast: In this project, students will get to create a newscast! This could be pre-recorded or presented live. Students will write, rehearse, and perform an approximately 5 – 10 minute newscast with their team. Each team will be given a different **classic cipher** (beyond Caesar and Vigenere) to research and address in their newscast.|
|Advanced Cryptography : In this module, you will apply advanced principles of cryptology. This includes explaining the core concepts of Public Key Infrastructure and hash functions. You will explore concepts of encrypted email, digital certificates, and private key certificates. You will also take a look at the different types of SSL certificates, the chain of trust and how a Certificate Authority (CA) works.|
|Project: Steganography: In this project, you will explore steganography and create your own encryption algorithm to conceal and hide a message within the pixels of an image!|
|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.|
|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.|
|Project: Troubleshooting: In this project, students explore the troubleshooting methodology and utilize it to solve sample IT support issues.|
|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.|
|Project: Security Assessment Report : In this project, students work as a consultant to a (fake) reputable company. They are tasked with testing the company's website for SQL injection and writing a security assessment report based on your findings.|
|Software Development Lifecycle: In this project, you will develop a training policy that informs employees on matters of network security and details the company policy on preventative measures employees should take.|
|Risk Management : In this module, you will demonstrate skills in conducting vulnerability scans and recognizing vulnerabilities in security systems. You will conduct a security audit and examine port scanning, packet sniffing, and proxy servers to discover exploits in a system. You will also be able to recommend security measures to mitigate the vulnerabilities.|
|Project: The Game of Risk: In this project, you will design and create a board game or a card game that will help players to identify randomized security vulnerabilities and their appropriate defenses.|
|Introduction to Cybersecurity Pretest :|
|Introduction to Cybersecurity Posttest :|
Click on a demo to test it out.
Social Media Cleanup
Password Hacking: Brute Force
Local Storage Exploration
Here are a few examples of teacher resources and materials to use in the Indiana Computer Science III: Cybersecurity course
Format of Course
The entirely web-based curriculum is made up of a series of learning modules that cover the fundamentals of cybersecurity. Each module is made up of short video tutorials, quizzes, real world connections, simulations, open response reflections, 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?
The Indiana Computer Science: Cybersecurity course is recommended for grades 11 or 12 and is designed to be taken after successfully completing Indiana Computer Science I and II. The course is highly visual, dynamic, and interactive.
CodeHS offers a Cybersecurity Level 1 Certification that aligns with the Indiana Computer Science: Cybersecurity course. CodeHS Certifications provide industry-valued credentials to help students build necessary skills for the workplace.
Learn how to bring the Cybersecurity Level 1 Certification Exams to your school.
Interested in teaching the Indiana Computer Science III: Cybersecurity course with CodeHS? Get in touch, so we can help you bring CodeHS to your school!Bring to My School
Indiana Computer Science III: Cybersecurity is aligned with the following standards
|Standards Framework||View Alignment|
|Indiana Computer Science 3: Cybersecurity||View (100%)|