Logic for Computer Scientists

Prof. Dr. Pascal Hitzler

Kno.e.sis Center, Wright State University, Dayton, Ohio

Winter Quarter 2011

This class has a distance learning option. Class sessions will be videotaped and made available online. If you enroll for the distance learning option, you are certainly also welcome to physically attend classes or a selection of them.

Logic is a fundamental organizing principle in nearly all areas in Computer Science. It runs a multifaceted gamut from the foundational to the applied. At one extreme, it underlies computability and complexity theory and the formal semantics of programming languages. At the other extreme, it drives billions of gates every day in the digital circuits of processors of all kinds. Logic is in itself a powerful programming paradigm, but it is also the quintessential specification language for anything ranging from real-time critical systems to networked infrastructures. Logical techniques link implementation and specification through formal methods such as automated theorem proving and model checking. Logic is also the stuff of knowledge representation and artificial intelligence. Because of its ubiquity, logic has acquired a central role in Computer Science education. [Cited from the LPAR-10 Call for Papers]

Logic is often called the Calculus of Computer Science. Indeed, logic permeates most areas of Computer Science in one way or the other, sometimes more prominently, and sometimes as motivational or formal underpinning. Examples are database schema, program verification, semantics of programming languages, computer security, artificial intelligence, cognitive robotics, Web information sytems, computer hardware circuitry, or modeling in software engineering.

In this course, we convey the foundations of logic for Computer Science, covering the central topics about which every Computer Scientist should have a basic knowledge. The covered material is fundamental and will help to prepare you to obtain a better understanding of topics which have a logical underpinning and which you are bound to encounter in your future studies or work life.

The course will cover propositional logic and predicate logic as knowledge representation languages, which are the central and most fundamental logical formalisms. We will deal with the modeling of knowledge, and with algorithms for logical reasoning.

Meeting Times

Course Materials

Slides and my personal manuscript will be posted here as they become available. However, relevant for the exams is the material presented in class. If you miss a class, it's your responsibility to get all missing information, e.g. through the videotaped recordings.

Manuscript (pdf) - this will be updated constantly. Parts covered in past class sessions will always be stable [unless I inform you explicitly]. Date of the manuscript version is on the first page. Margin notes tell you which part was covered on which date.
Slides 1, 01/04/11 (pdf)
Slides 2, 03/10/11 (pdf)

Homework (20%), mid-term exam (30%), final exam (50%)
Grading will follow a standard scale (A: 100-90, B: 89-80, C: 79-70, D: 69-60, F: 59-0)

Course Outline (tentative)

Back to my home page.