CSC501 - The Semantics of Programming Languages
This is a graduate course taught at the University of Rhode Island. The aim of this course is to familiarize you with the basic techniques of applying formal methods to programming languages. This includes constructing models for programming languages and use these models to prove properties such as correctness and equivalence of programs. We look at all major programming language constructs including assignments, loops, type systems, and procedure calls together with their models. Since many of our models are executable, we can test and prove properties of non-trivial programs.
For course content please see the GitHub Pages.
This material is licensed under the Creative Commons License.