What is Logic for Systems?

Logic plays a central role in describing systems. In addition, logic offers the foundation for a rich set of tools for reasoning about systems, namely, determining whether they have been described correctly relative to our expectations.

Unfortunately, this fascinating set of activities can come across to some as rather drab and pedantic. In turn, logic often fails to take hold of computer science imaginations because it seems to be a collection of statements about the state of Socrates and rain, not about the state of buffers and caches and the other difficulties that everyday practicing computer scientists wrestle with.

This course attempts to address this problem by re-focusing logic on computer systems. We will use logic to describe systems and then analyze our descriptions of them. We will use modern tools that ease the description and automate the analysis. In the process we will try to re-imagine the way we think about not only describing but even designing complex modern computer systems.

Class Time and Location

Class will be held on Mondays, Wednesdays, and Fridays from 10:00am to 11:00am in 85 Waterman 130.

Useful Links

Syllabus

Piazza Signup

Do you have any feedback for us?

Course Calendar