Brown CS students continue to distinguish themselves at hackathons nationwide. To read more on this topic, click here.
In Spring 2014 Shriram Krishnamurthi and I will be co-teaching a new course called Logic for Hackers. The course will showcase the surprising power that logical techniques such as SAT-solving, model-checking, and automated model-finding lend to developing reliable software.
Students are often introduced to logic only from a theoretical perspective, and never learn or develop an appreciation for how logic can be used to aid design and implementation. We have heard several former students express confusion about just what logic is good for, and as researchers whose work involves using logic every day, we are consistently horrified by this state of affairs---and so Logic for Hackers was born.
In Logic for Hackers, we will experiment with teaching logic in a different way: a more concrete, project-oriented course where students learn to put logic to work for them on the first day. While we will also survey some more traditional logic results, these will be presented in interludes, rather than forming the bulk of the content.
So what's with the name? Hackers (in the original sense) build the systems that we rely on every day. Our increasingly code-dependent world demands that those systems be reliable, secure, and robust to failure. We believe that logical methods are vital in achieving these goals, and Logic for Hackers reflects that perspective.