| |
Oct 17, 2026
|
|
|
|
|
2026-2027 University Catalog
|
CS 56500 - Programming Languages Credit Hours: 3.00. An exploration of modern or unconventional concepts of programming languages, their semantics, and their implementations; abstract data types; axiomatic semantics using Hoare’s logic and Dijkstra’s predicate transformers; denotational semantics; functional, object-oriented, and logic programming; concurrency and Owicki-Gries theory. Example languages include ML, Ada, Oberon, LISP, PROLOG, and CSP. Learning Outcomes 1. Compare and contrast different approaches to specifying a programming language’s behaviors (and how they affect reasoning about programs). 2. Specify different categories of program errors and apply language-based techniques to ensure their absence. 3. Formalize and reason about systems in the Coq proof assistant. In particular, students will be able to: define mathematical representations of systems, state their properties in logic, and formally prove those properties hold. Credit Hours: 3.00
|
|