Click one of the links above to select your course.
Computer Literacy: an introductory technology course designed for those with little or no prior computer background, offered at many two- and four-year schools as a general education course for non-CS majors
Computer Science 0: an introductory Computer Science course to target those CS majors who have little or no background with programming
Computer Science 1: first course in the introductory sequence of Computer Science courses introducing students to programming fundamentals
Computer Science 2: second course in the introductory sequence of Computer Science courses
If you use our modules, we would love to know.
Structure of each injection module
Injection modules cover a range of topics including integer overflow, buffer overflow, input validation, and the secure development lifecycle. You can also click here to access interactive Security Injection demos. Each injection contains the following components:
- Background materials include a concise description of the module topic, the risk involved, a real world example, and some short non-programming exercises that students can complete.
- Laboratory/Homework Assignments provide active and engaging learning experiences, challenging students to “learn by doing.” They also provide motivation by presenting meaningful concepts in an engaging manner.
- Security Checklists: Checklists are used in many applications most notably in aviation safety – to reduce the likelihood of human error. While pre-flight checklists have been considered a key method in improving airline safety, checklists are increasingly used in software assurance. Well-developed checklists serve as reminders and help ensure consistency and completeness. A security checklist is a well-defined set of procedures for identifying potential security concerns. Students will be asked to apply security checklists to programs or program fragments including code that they may have written as part of the lab assignment.
- Discussion questions ask the students to reflect upon the concepts introduced in the assignment and checklist, encouraging consideration of the various kinds of risks and how they might be mitigated. The inclusion of discussion and feedback questions requires students to reflect upon the process, the results, and the security implications of the new concept.