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:
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.
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.
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.
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.
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.
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.
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.