How to use these modules:
- To view the content covered in each module, select your course from the links above and select your topic.
- To access the module, click the “Use This Module” link at the top of the content page.
- To share with students, right click the “Use This Module” link and select “Copy Link Location”.
Some courses are still in development and do not yet have a full module. To use one of these courses, email us at email@example.com and we will make it a priority.
If you use our modules, we would love to know.
Click the link “Mapping Injections to CS 2013″ above to see how each module fits into the standard objectives for each course.
- Computer Literacy: an introductory technology course designed for those with little or no prior computer background
- Computer Science 0: an introductory course to target CS majors with little or no background in programming
- Computer Science 1: first course to formally teach programming fundamentals
- Computer Science 2: second course to formally teach programming fundamentals
Structure of each injection module
Injection modules cover a range of topics including integer overflow, buffer overflow, input validation, and the secure development lifecycle.
- Background materials include a concise description of the module topic, the risk involved, a real world example, and some short non-programming exercises to help solidify understanding.
- The Code Responsibly section provides programming tips on how to avoid or correct the problem addressed by the module, with short exercises.
- Laboratory/Homework Assignments immerse students in actual code, challenging students to “learn by doing.” Exercises force students to think critically about the code, and in some cases to write their own.
- Security Checklists: Each module includes a “security checklist” giving a well-defined set of procedures for identifying potential security concerns. Students are asked to apply these checklists to programs or program fragments from the lab assignment.
- Discussion questions ask the students to reflect upon the process, results, and security implications of the module content, applying their new knowledge to daily life.