20 engaging lessons that teach the core concepts of cybersecurity and the basics of Python programming.

Try the First Lesson

What You will Learn in this Course

Cybersecurity Fundamentals and Python Programming will prepare students with the skills needed for the future and help them to be responsible digital citizens. This unique course equips students with the crucial skills necessary to understand cybersecurity vulnerabilities. With the help of case studies, students learn from real world examples. This 20 lesson course alternates interactive click-through cybersecurity lessons with hands-on Python coding lessons that culminate in a Caesar Cipher capstone project.

Students learn Python by completing 10 Python lessons and projects. Coding concepts are further strengthened with the addition of codercises (short code focused mini-lessons) to ensure that students have the skills needed for the final Caesar Cipher capstone project. The coding concepts covered are:

Data Types
Dot Notation
Students are introduced to cybersecurity. Students learn what a system is and build on that knowledge to gain an understanding of why systems thinking is vital for cybersecurity and keeping computer systems secure. Careers in cybersecurity are also explored.
Students explore communication systems and the requirements for secure communication. Learn the parts of the CIA triad and assess the strengths and weaknesses of different forms of communication.
Students learn about a computer in terms of its abilities to input, store/process, and output data. With this understanding, students will be able to recognize computers in various forms and identify different hardware components. Students will build a virtual computer using appropriate parts and explore hardware vulnerabilities.
Students understand that a network is simply computers connected to share data and the difference between being online and offline. They will also learn network basics including network hardware, types (LAN vs WAN), and important protocols such as IP, HTTPS etc. and explore network vulnerabilities.
Students learn about Iot devices and the systems around them that make up the Internet of Things at the consumer, enterprise, and industry level. They will also explore the benefits and risks of IoT devices and their inherent trade-offs.
Students learn about different types of software including, operating systems, browsers, web applications, programs, and scripts, and the importance of software updates for protection against computer viruses, ransomware, and identity theft.
Students learn the importance of access control and the role of authorization and authentication in protecting access to resources. Students explore information security and the role they play in securing information. By looking at spoofing and phishing examples, students learn how to recognize attempts to steal authorization credentials and personal information.
Students learn about personally identifiable information and gain an understanding of the permanence of their digital footprint. All aspects of cyberbullying are explored from defining what constitutes cyberbullying to the different roles that enable it and how to prevent and report cyberbullying.
Students explore the ethics and laws associated with being a digital citizen. Students also learn about white, black, and gray hat hackers and their motivations.

Try the First Lesson

Curriculum Examples


Students learn about network types, hardware, protocols and how the internet works. With that understanding, they explore network vulnerabilities. Each lesson includes a real life case study.

Internet of Things (IoT)

Students learn about IoT and the personal devices in their everyday lives as well as how IoT is used in business, medicine, and agriculture. This lesson helps students to better understand the world around them and the importance of protecting all devices.

Secure Password Generator

Students learn about the importance of secure passwords in the digital citizenship lessons and apply their Python skills with loops, conditionals, lists and random numbers to code a secure password generator program.

Codesters Pedagogy

Each project-based lesson has around 20 activities and its divided into 3 phases: Build, Modify, and Create. The activities in the Build and Modify phases are automatically graded, including debugging and assessment activities. The capstone Create project for each lesson is graded by the teacher using a rubric provided by Codesters.


Students start by building an example project, through which they develop key coding skills. Debugging activities help students learn specific rules about syntax and the structure of code. Assessments include multiple choice questions and journal responses.


Once students have built their example project they are asked to customize the program to solidify their understanding and demonstrate proficiency with the skills they learned.


Students create a new project from scratch that uses the same core skills skills they developed in the example project. This capstone project for each lesson creates opportunities for students to deepen their understanding and to demonstrate mastery of coding topics.

Standards Alignment

Project-based Learning

With Codesters, students learn to code by creating fun and engaging projects. Each lesson is structured as a project for students to build. And each project introduces students to new coding topics and concepts while reinforcing ones they have already learned. For example, in Rock Paper Scissors students learn to use if-statements to compare their choice to the computer's random choice and decide who wins. Students are motivated to persevere through learning to code in order to create the project they want to build. And they have fun while in the process.

Monitor Student Progress

Teachers play a critical role in helping students learn to code with Codesters. Teachers monitor each student's progress on their dashboard in order to see which students are struggling and where. They can even drill down to see the actual code a student submitted that did not receive full points. This helps the teacher stay on top of students' learning and guide them to becoming expert coders.

Immediate Feedback

As students follow the instructions in the Build and Modify phases of the project-based lesson, they receive immediate feedback about mistakes they might be making. This feedback is both in the student-friendly error messages and the hints and suggestions built into the automatic scoring system. Immediate feedback helps students to understand and correct their mistakes and smoothes the path to learning to code.

Technical Information

  • Single sign-on with Google Apps for Education
  • Preload student rosters for classes
  • Upload CSVs of student rosters
  • Students can sign in with class key and password (email not required)
  • Teacher accounts are FREE and include a demo of the curriculum