Skip to main content
Princeton Mobile homeCourses home

Programming Languages

COS 510

Info tab content
Logic and formal reasoning about software, treating programs and programming languages as mathematical objects about which precise claims can be made. Basic concepts and techniques such as operational semantics and axiomatic semantics for specifying programming languages; structure, definition and properties of type systems; invariants and assertions for specifying programs. Use of automated tools such as interactive proof assistants, model checkers, and/or satisfiability-modulo-theories solvers.
Instructors tab content
Sections tab content

Section L01