CISC 404/604  -   Logic in Computer Science  -   Spring 2019

M/W/F 2:30 pm-3:20 pm, ISE 222


Instructor: Daniel Chester 
Office: 101G Smith Hall 
Hours: M/F 3:30 pm-4:30 pm and by appt. 
Phone: 831-1955 
Email: User: chester Domain: udel.edu

Textbooks

Course Description

John Case's version: Historically mathematical logic from the 1930s provides one of the progenitors of computer science. (From the 1900's it provided surprising foundations for all of mathematical reasoning.) Conversely, computer science has motivated much new (including recent) work in mathematical logic. In computer science, as well as in other fields, logic is important as a model of reasoning that does not lead us astray and, in most important cases, that is complete. In computer science we see, for example, the automation of reasoning; the use of logic for knowledge representation in artificial intelligence and in data base theory and practice; the creation and use of logic programming languages such as Prolog; the use of logic for proving programs correct; and extensions of logic for formal specification, semantics, and design of programming languages.

This course introduces formal (mathematical) first-order logic with an emphasis toward its applicability in computer science. It should prepare students for more advanced work in artificial intelligence; data~bases; logic programming; theoretical computer science; and the specification, semantics, and design of programming languages. This course will aid in the development of precise logical thinking and mathematical rigor, it has utility in computer science, it provides deep philosophical and scientific understanding, and can be enjoyed for its aesthetics and pleasing conceptual subtleties.

Class Home Page

http://www.cis.udel.edu/~chester/courses/604.html

Topics (tentative, not necessarily in the order to be covered)

Grading

Ninety-six percent of the grade will be based on (with equal weight) [tentative]:

plus four percent for doing the online course evaluation http://www.udel.edu/course-evals/ at the end of the semester.

The numerical scores will be combined, not letter grades. Since the assignments and exams are not standardized, your course grade will depend not only on the weighted score you receive, but also on how your score compares with the score distribution for the whole class.

Policies



Assignment 1, due Monday, February 25
Assignment 2, due Monday, March 4
Assignment 3, due Wednesday, March 13
A natural deduction system
Assignment 4, due Monday, March 25
Late homework will not be accepted after class on March 25, since I will be emailing you the model solutions that evening.
Topics covered before midterm exam
There is no assignment 5
Assignment 6, due Monday, April 15
Assignment 7, due Monday, April 22
Assignment 8, due Monday, April 29
How to run BinProlog on Strauss
Examples of Prolog programs may be found on Strauss in directory ~chester/prolog.
Assignment 9, due Monday, May 6
Assignment 10, due Monday, May 13
Assignment 11, due Monday, May 20
Review of topics covered since midterm

May 19, 2019