American Flag  Official website of the Department of Homeland Security

Curriculum Resources

Learn how to Program!

Here are links that will allow you to interactively learn more about programming, which provides many of the building blocks necessary for a career in cybersecurity. Check out each one to see if programming is right for you!


Teaching Tools for Educators

 As the demand for cybersecurity professionals grows, it is important that teachers have the tools necessary to teach the future cybersecurity workforce. However, since cybersecurity is still in its infancy as a professional field, there are limited resources available, and these resources are not in one central location. NICE aims to help develop curricula to help provide these much needed resources to teachers who want to incorporate cybersecurity into their lesson plans

One way the Federal Government is helping give teachers access to these resources and materials is through the Integrated Cybersecurity Education Communities (ICEC) program. ICEC aims to provide teachers with the training and tools needed to integrate cybersecurity skills in the classroom.  The project is also designed to encourage interest in the cybersecurity field and increase awareness of cybersecurity careers and academic pathways among high school students.  ICEC does this by sponsoring cybersecurity education summer camps, which encourage interest in the cybersecurity field through project-based cyber learning experiences for high school students and provides teachers with access to cybersecurity learning tools.  Teachers can take those materials back to their classrooms and utilize them during the school year.

There are also curriculum resources available outside the Federal Government. A list of such curricula is below. If you are a provider interested in having your information included, please contact the NICCS Supervisory Office.

  • Association for Computing Machinery - The Association for Computing Machinery, along with leading professional and scientific computing societies, has endeavored to tailor curriculum recommendations to the rapidly changing landscape of computer technology. As the computing field continues to evolve, and new computing-related disciplines emerge, existing curriculum reports will be updated, and additional reports for new computing disciplines will be drafted.
  • Stay Safe Online - The National Cybersecurity Alliance’s mission is to educate and empower a digital society to use the internet safely and securely at home, work, and school, protecting the technology individuals’ use, the networks they connect to, and our shared digital assets. Stay Safe Online is one tool that will teach users to protect themselves online and make the web a safer place.
  • iKeepSafe - iKeepSafe gives parents, educators, and policymakers the tools to teach children the safe and healthy use of technology and the internet through various online educational programs.
  • Cyber Watch - The National CyberWatch Center’s goals are focused on cybersecurity education at all levels, from elementary through graduate school and include curriculum development, student development, career pathways, and public awareness. One such program to advance these goals is CyberWatch K-12, which promotes cybersecurity education by leading collaborative efforts to strengthen the national cybersecurity workforce.
  • Security Injections @ Towson University - Supported by the National Science Foundation, this program aims to further integrate security into the undergraduate curriculum. The program developed Strategic Injections, which are strategically placed security-related modules for existing undergraduate classes. The combination of lab exercises and student-completed checklists in these security injections has helped us teach security across the curriculum without adding extra pressure on already-overburdened undergraduate degree programs.
  • Software Assurance Curriculum - A collaborative program between Computer Emergency Readiness Team (US-CERT) researchers at Carnegie Mellon University’s Software Engineering Institute, Embry-Riddle Aeronautical University, ISC2, Stevens Institute of Technology, and Union College to develop a software assurance curriculum that will meet the growing demand for skilled professionals.
  • SEED: Developing Instructional Laboratories for Computer Security Education - The objective of the SEED project is to develop an instructional laboratory environment and laboratory exercises (called labs) for computer system security education.
  • STEM Robotics - This repository for education materials uses robotics for technology and engineering education – including computer science.
  • SWENET - The Network Community for Software Engineering Education - The Network Community for Software Engineering Education – is a project to produce and organize high-quality materials supporting software engineering education.
  • Computer Science: Principles - A proposed Advanced Placement course under development that seeks to broaden participation in computing and computer science. Development is being led by a team of computer science educators organized by the College Board and the National Science Foundation.  
  • Exploring Computer Science K-12 - Supported by the National Science Foundation (Into the Loop), the mission of the program is to increase and enhance the computer science learning opportunities in the Los Angeles Unified School District, the second largest school district in the country, and to broaden the participation of African-American, Latino/a, and female students in learning computer science.
  • The Beauty and Joy of Computing - An exciting new course offered by University of California, Berkeley.
  • CITIDEL: Computing Education Resource - A project working to establish a national, distributed digital library for computing education. Our project is building a distributed portal providing access to a broad range of existing educational resources for computing while preserving the collections and their associated curation processes.
  • Nifty Assigments - A list of assignments from various computer science courses offered by Stanford University.  
Fun Ways to Learn more about Programming and Cybersecurity

Below we have added several links that will allow you to interactively learn more about programming, which provides many of the building blocks necessary for a career in cybersecurity. Check out each one to see if programming is right for you!

  • Scratch - Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, art, and music – and share your creations on the web!
  • Build Your Own Blocks (aka SNAP!) - SNAP! is an extended reimplementation of Scratch that allows users to Build Your Own Blocks.
  • Panther - Panther is a programming language aimed at young users with only a small knowledge of programming. Panther offers you a more advanced version of Scratch, a simple programming language developed at MIT.