Kansas State University offers a breadth of courses for those interested in the technological, societal, and user-centric aspects of cybersecurity and risk management. The Carl R. Ice College of Engineering offers a Bachelors of Science degree in Cybersecurity, and the Department of Computer Science offers cybersecurity specializations at all levels, including BS, MS, and PhD. At the BS level, a "Cybersecurity option" is available in addition to specialization.
Topics that focus on secure software and systems development and evaluation are embedded in undergraduate as well as graduate courses in secure programming methods, algorithms and data structures, database management systems, software engineering, programming languages, operating systems, networks, concurrent software, real-time systems, and ethics/technocrime. Dedicated security courses include introductory and advanced information security, applied cryptography, systems security, and reliable and high-assurance systems.
Students learn to use safe languages and defensive coding from the very start of the program, and sound software engineering methodology is included in development and programming courses. ("Safe languages" include features such as strong typing, storage security, memory safety, and even formal verification. "Sound methodology" means input checking and sanitization techniques, control, data-structures, and design patterns for correct programming.) Students also learn methodology, tools, and design patterns to compensate for lack of language security support when working with unsafe or potentially unsafe languages (e.g., C/C++, Python, PHP, etc.). This includes manual insertion of pointer, type, and storage checks, rigorous code testing and testing-oriented development, static and dynamic analysis, and verification via formal model-checking.
Finally, we offer specialized area-specific courses including networking/web programming, embedded and/or cyber-physical systems, and databases.