What is Logic for Systems?
Mathematical logic provides the foundation for a rich set of tools for reasoning about systems and discovering whether their behavior meets our expectations. These tools allow us to model (e.g.) the state of buffers and caches, prove whether our protocols obey desirable properties, explore the consequences of memory-management strategies, and much more.
As a Computer Science student, you’ve often been asked to write code with the intent of creating a system. This class is different. Here, we’ll ask you to create models of systems and interact with them in numerous ways. You will learn to use modern, logic-based tools to describe and analyze program designs, algorithms, data-structures, and other artifacts—we’ll learn the logical frameworks we need as we go along. In the end, you’ll develop a better understanding of how to use logic-based tools to analyze whatever systems you encounter after Brown.
Class Time and Location
Class will be held on Mondays, Wednesdays, and Fridays from 10:00am to 10:50am in Barus & Holley 168.
Course Calendar
Resources
Emails
HTA email
cs1950yheadtas@lists.brown.edu
(HTAs and Tim)
TA email
cs1950ytas@lists.brown.edu
(All TAs)
Course Documents
Other resources
We recognize that being a student is not easy, and hope to provide support in any way we can. Beyond our staff, here is a list of other resources available to you here at Brown: