search menu icon-carat-right cmu-wordmark

Software Assurance Curricula

To protect the complex software systems that we depend on for defense, government, energy, communication, transportation, manufacturing, and finance, we need skilled professionals who can build security and correct functionality into software and systems that are under development.

Software assurance education is essential to meet this growing demand for skilled professionals, yet there are few graduate software assurance programs or tracks that focus on developing assured software.

CERT researchers addressed this need by collaborating with a team of educators from Embry-Riddle Aeronautical University, (ISC)2, Stevens Institute of Technology, Monmouth University, and Union College to develop software assurance curricula.

These curricula include materials for undergraduate and graduate programs as well as other materials for educators. The following free materials can be incorporated into existing education programs or be used to develop new courses.

Master of Software Assurance Curriculum

The Master of Software Assurance (MSwA) Reference Curriculum provides guidelines for a well-rounded education about key security and assurance topics, including assurance across lifecycles, risk management, assurance assessment, assurance management, system security assurance, system functionality assurance, and system operational assurance. This curriculum received formal recognition from the IEEE Computer Society (IEEE-CS) and the Association for Computing Machinery (ACM), evidence that these community leaders in curricula development consider this curriculum suitable for creating graduate programs or tracks in software assurance.


Undergraduate Software Assurance Curriculum

Modern society and virtually every sphere of human activity depend on software systems of ever-increasing scope and complexity. Because the consequences of failure can be severe, dependable functionality and security are essential. As a result, software assurance is emerging as an important discipline for the development, acquisition, and operation of software systems and services that provide requisite levels of dependability and security.

The Undergraduate Software Assurance Curriculum presents a body of knowledge focused on software assurance. It includes seven undergraduate courses that are intended to provide students with the fundamental skills they need to either enter the software assurance field directly or continue their participation in the field with graduate-level education.


Community College Software Assurance Curriculum

This curriculum focuses on community college courses for software assurance. It includes a review of related curricula, outcomes and body of knowledge, expected background of target audiences, and outlines of six courses. The courses provide students with the fundamental skills they need to continue with graduate-level education or supplementary education for students with prior undergraduate technical degrees who wish to become more specialized in software assurance.


Software Assurance for Executives

The video modules and slide set in the Software Assurance for Executives curriculum cover all stages of the software assurance lifecycle as well as emerging topics, such as cloud computing and standards that support software assurance.

Learn More