Please enable JavaScript to use CodeHS

NCyTE Cybersecurity Concept Lessons (Python)

The NCyTE Cybersecurity Concept Lessons are a collection of individual educational units, supplemental materials and activities. The lessons have been designed as an easy way to integrate cybersecurity concepts into the AP Computer Science Principles course (AP CSP). Because these lessons do not comprise a complete structured course, a roadmap showing how each lesson’s content maps to AP CSP Big Ideas and Learning Objectives is provided in lieu of a syllabus. All programming is in Python. This material is based upon work supported by National Cybersecurity Training & Education (NCyTE) Center and the National Science Foundation under Grant No. 1548315. Visit www.NCyTE.net for more information on the NCyTE Center and other cybersecurity curriculum.

Overview & Highlights

Level
High School
Contact Hours
40
Timeframe
Unit

Course Overview

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

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.

27
Lessons
26
Videos
93
Exercises
1
Challenges
17
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 NCyTE Cybersecurity Concept Lessons (Python) 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.


Visit www.NCyTE.net for more information on the NCyTE Center and other cybersecurity curriculum.

You also might like

Related Courses

Which python course should I use? Click here