Advanced Topics in Computer Science|
Spring 2019 not offered
|This course may be repeated for credit.|
This course covers advanced topics in Computer Science. The precise topics will vary with the offering, but will typically have prerequisites beyond COMP 211-212. This course may be repeated for credit.
||Gen Ed Area Dept:
|Course Format: Lecture||Grading Mode: Graded|
||Fulfills a Major Requirement for: (COMP)
|Additional Requirements and/or Comments: |
COMP 361, Spring 2018, will be a course on programming language semantics. There are many notions of semantics, ranging from operational (describing precisely how a program is executed) to denotational (giving a mathematical meaning to every program).
Semantics can be used for proving important properties of programs and languages. For example, operational semantics can be used to prove that a compiler is correct (i.e., that the assembly language program produced by the compiler "does the same thing" as the high level source code).
Denotational semantics can be used to determine useful properties about a program such as identifying instructions that will never be executed, thereby identifying possible compiler optimizations.
We will investigate one or more semantic methods, with a focus on mathematical precision and applications. This course will have significant mathematical content, and probably significant coding content as well.