Courses

 

Current Semesters

Compiler
CIS 706 Compiler

The course teaches modern compiler techniques applied to general-purpose or domain-specific languages.
http://compiler.santoslab.org

Programming Language Semantics
CIS 806 Programming Language Semantics

This course explores means of documenting the semantics of programming languages. Through a series of exercises using the Coq theorem prover, it studies the semantics of simple programming languages and gradually build up to a study of a Java-like object-orient programming language.

High Assurance Systems
CIS 890 High Assurance Systems

The course covers techniques for developing high assurance systems -- systems that are safety critical, security critical, or mission critical in nature.
http://highassurance.santoslab.org

 

Past Semesters

Software Specifications
CIS 771 Software Specifications

This course studies a collection of techniques that lie at the foundation of an approach to software development that can enable the construction of large highly reliable software.
http://santos.cis.ksu.edu/771

Model Checking
CIS 842 Model Checking

This course studies various model-checking techniques with the goal of applying those techniques to real concurrent software systems.