Please enable JavaScript to use CodeHS


NCyTE Cybersecurity Concept Lessons (Python)

Units

Unit Description
Caesar Cipher: In this module, students will investigate how Caesar Ciphers work to achieve the goal of confidentiality of information and their historical context, strengths, and weaknesses. They will also practice encrypting and decrypting text using Caesar Ciphers and implement a Caesar Cipher in a programming language.
The CIA Triad: In this module, students will explain confidentiality, integrity, and availability (CIA Triad) as the foundation of information security. They will explore how email phishing attacks, fake social media accounts, ransomware, and identity theft can violate the cybersecurity goals of confidentiality, integrity, and availability, and describe security controls that can be used to protect computing resources.
CyberEthics: In this module, students will explain how ease of access and malleability of computing resources are beneficial aspects of computing. Students will also be able to articulate concepts of right and wrong conduct with regard to important ethical concerns such as bias, surveillance, ownership, and digital divide.
Data Structures: In this module, students will develop a program to validate input, test whether inputs to a program are producing the expected output, and represent data in various types, including numbers, strings, lists, and Booleans.
Identity, Authentication and Authorization: In this module, students will explain concepts of identity, authentication, and authorization, and describe ways in which attackers gain unauthorized access to systems and data. Students will also identify aspects of passwords, multifactor authentication, and the concept of least privilege as security controls for protecting information assets and computing resources.
Input Validation & Conditionals: In this module, students will develop a program to validate passwords, and more specifically, identify how a segment of program code functions by identifying inputs and outputs in a program. They will also explore basic computer science concepts such as representing a value with a variable, representing a string using a variable, and writing and evaluating conditional statements.
Iterative Process: In this module, students will develop a program to validate passwords, and more specifically, validate the length of the password, validate uppercase characters, and validate a numeric character.
Secure Networking: In this module, students will: explain that the Internet is a network of networks, identify the OSI network layers and their functions, recognize common network attacks, and investigate what attackers might be gaining and potential consequences of such misuse.
Personal Data Vulnerabilities: In this module, students will describe what information can be extracted from data and metadata, explain how the information may be susceptible to attacks by an adversary, and describe consequent risks to privacy from collecting and storing personal data on a computer system.
Risk: In this module, students will discuss computing resources that can be misused, identify how computing resources and information assets can be vulnerable to attack, explain the role and types of protection mechanisms to achieve confidentiality, integrity, and availability of computing resources and information assets, and summarize security and privacy risks from collecting and storing personal data on a computer system.
Steganography: In this module, students will investigate how Steganography can hide information inside of a file, message, photograph, or video, and write a series of programs that use a starting photographfile and a starting secret message file and transform them into a Steganographic photograph. They will also explore how secret codes are used in government surveillance.
Symmetric and Public Key Encryption: In this module, students will investigate how Symmetric and Public Key Encryption work to achieve the goals of confidentiality of information and integrity/authentication of the sender. They should be able to explain the difference between Symmetric and Public Key Encryption methodologies, and how a one-way function can create a public secret, and the difficulty with which the process can be reversed. The module concludes with the students writing a program that models the public key exchange mechanism of the Die-Hellman Symmetric Key Exchange algorithm.
Vigenère Cipher: In this module, students will investigate how Vigenère Ciphers work to achieve the goals of confidentiality of information and integrity/authentication of the sender. They will encrypt and decrypt text using Vigenère Ciphers, and programmatically implement a Vigenère Cipher.