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
- Elliott Mendelson,
Introduction to Mathematical Logic, sixth edition,
Chapman & Hall, London, 2015.
- Uwe Schöning, Logic for Computer Scientists,
Birkhäuser~Boston, 1989.
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)
-
Introduction
-
The Propositional Calculus
-
Propositional Resolution
-
Predicate Calculus (First-Order Logic and Model Theory)
-
Predicate Deduction
-
Predicate Resolution
-
Logic Programming
-
If time permits, other applications to computer science
Grading
Ninety-six percent of the grade will be based on (with equal weight) [tentative]:
-
homework assignments (48 %)
-
midterm (March 27) (24 %)
-
final exam (May 29, 10:30AM) (24 %)
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
-
All assignments are due at the beginning of class on the due date.
They must be printed, not handwritten, and give to me in class on the due
data. Do not email your work to the TA or me unless I give you instructions
to do so.
-
Homework will be accepted at the following class period after the due
date, but the score will be reduced by 10 percent of the maximum possible
score. The homework will not be accepted more than one week after the
due date except in extreme and verifiable circumstances.
-
All work on assignments must be your own. Do not collaborate
with other students or copy their work. Do not copy from a book or other
source. You may consult with each other about conceptual problems, but
see the TA or me for help with details or debugging.
If you get text or code from any source, including webpages on the Internet,
books or other students, and present it as if it were your own, that is
plagiarism. If the TA or I discover that you have plagiarized, I
am obligated to report the incident to University authorities above the
CIS Department. You must acknowledge and document such borrowings if
you do use them. If they significantly reduce the amount of work you
have to do for an assignment, you will lose points; the grade you get
is for your work, not somebody else's.
-
If you can't come to scheduled office hours, please send me email; I'll
be happy to schedule a meeting at some other mutually-agreed-upon time.
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