The University of Iowa

CS:4350 Logic in Computer Science

Spring 2021

Syllabus

Course Description and Goals

The main objective of this course is to expose undergraduate and beginning graduate students to formal, symbolic logic. The theoretical foundations of Computer Science rest on formal logic. Logic is a powerful tool for modeling and reasoning formally about computation and computational devices, and reasoning formally about them. It provides a unifying foundational framework to several areas of computer science such as databases, artificial intelligence, hardware design, programming languages, security, software engineering, and distributed/concurrent systems.

This course introduces several formal logics (propositional, predicate, temporal, ...), differing in their expressive power and focus, and discusses some of their uses in computer science. Main themes are how to represent knowledge in these logics, what constitutes a valid argument, and how to prove or disprove, possibly automatically, the validity of a logical statement.

Students should be prepared to put in considerable time and effort into reading to become familiar with the course's topics, and into homework and exercises to gain experience with the techniques seen in class.

Lectures

MWF, 1:30am - 2:20pm, Zoom Room 999 035 465 17 (password available on ICON and Piazza)

Staff & Office Hours

Prof. Cesare Tinelli (instructor)
(319) 335-0735
cesare-tinelli + @ + uiowa.edu

Office hours: Zoom Room 884 316 858, Mon 3:30pm-5:00pm, Thu 13:30mp-3:00pm, and by appointment.

Andrew Marmaduke (TA)
andrew-marmaduke + @ + uiowa.edu

Office hours: Zoom Room 940 1380 1505, Wed 3:00pm-4:00pm, Fri 10:30am-11:00am, and by appointment.

Prerequisites

CS:3330 with a minimum grade of C-.

Online Resources

Most of the information about the class, including handouts and assignments, will be available from the class web site:

http://www.cs.uiowa.edu/~tinelli/classes/4350/Sprin21

We will also use Piazza, a class discussion service, for announcements, questions and discussions, and ICON for homework submissions and grade posting. Lectures will be recorded and recordings will be available to registered students on UICapture.

Note that lecture recordings are the intellectual property of the instructor, and they may not be shared, reproduced, or uploaded to any online environment without the explicit, written consent of the instructor. Doing so is a breach of the Code of Student Conduct and, in some cases, a violation of the Federal Education Rights and Privacy Act (FERPA).

Students are expected to check both the class web site and the Piazza discussion board on a regular basis (at least every other day) for announcements regarding the course.

Textbook and Readings

The required textbook is

    Mathematical Logic for Computer Science by M. Ben-Ari. Springer, 2012

The full book is available online to University of Iowa students.

Additional reading materials and handouts will be available from the course web site.

Computer Accounts and Software

You may need to use your account on the CS remote servers where you will be able to install some of the software tools used in this course. Instructions on how to access those machines, on-site or remotely, and use the installed software will be provided on the course website.

Alternatively, you are welcome to use your own computer for course work

In either case, you are responsible for installing any necessary software.

Homework Assignments

Several exercises may be given during the course of the semester, some of them during lecture, covering the material from the readings and the lectures. These exercises are required but will not be collected or graded.

Several small assignments will be given, covering the material from the textbook and the lectures, and to be done individually or in pairs as specified in each assignment. All assignments will be collected and graded.

Homework distribution and submission, and grade posting will be done through ICON.

Exams

There will be two midterm exams and one final exam, all online. The midterm will be held during class time. The final exam will be held during exam week as per university schedule.

Grading

The weighting of items in grade determination will be the following:

Item Weight
Homework Assignments 30%
Midterm I 20%
Midterm II 20%
Final Exam 30%

The following cutoffs will be used to determine letter grades. In the ranges below, x stands for your total score at the end of the semester. Final scores near a cutoff will be individually considered for the next higher grade. Plus(+) and minus(-) grades will also be given; their cutoffs will be determined at the end of the semester.

Score Grade
88 <= x < 100 A
75 <= x < 88

B

60 <= x < 75 C
50 <= x < 60 D
00 <= x < 50 F

Grades are not curved in this course. It is theoretically possible for everyone in the class to get an A (or an F). Your final grade depends only on your own final score and not on that of others.

Academic Excellence and Workload

The University of Iowa expects students to set high academic standards vfor themselves and work hard towards achieving them. You can achieve true academic excellence only through dedicated work. An average workload of 6 hours a week besides class attendance should be considered the norm for this course. More effort might be needed depending on your background, predisposition and academic ambition.

Cheating

Academic dishonesty will not be tolerated. In particular, under no circumstances should you pass off someone else's work as your own. This also applies to code or other material that you might find on the Internet.

Graded Homework: Sharing solutions of graded homework between individuals or teams or copying someone else's work, including posted solutions from previous editions of the course, is not allowed. Doing that will result in a zero on the assignment and a report to the CS Department's chair and the College.
You are allowed and encouraged to discuss with students in other teams concepts and ideas that relate to the class and the homework assignments. However, it is important to ensure that these discussions do not lead to the actual exchange of written material.
For team assignments, all members of a team are responsible for the submitted team work and will be disciplined equally in case of academic dishonesty. So make sure you are fully aware of what is being submitted if you are not the submitter.

Exams: The midterm and final exams are individual tests. Each student must complete them without any help from others. Exam answers showing strong similarities and/or duplication will receive a fail grade and the students involved will be reported to the Department and the College.

If you are unclear about what constitutes academic dishonesty bit is your responsibility to contact the instructors or consult the CLAS policy (online version). Be aware that repeated academic dishonesty offenses lead to suspension or expulsion from the University.

General Course Policies

Communicating with the Instructors: We welcome questions related to the course. Students are strongly encouraged to post their class-related questions on Piazza (publicly or privately, as appropriate) rather than emailing questions to the teaching staff. Questions sent by email will receive lower priority. We are committed to answer all questions posted on Piazza within 24 hours.
We will make any course-related announcements on Piazza and will occasionally send direct email notifications to all students in the class. As a reminder, students are responsible for all official correspondence sent to their Hawkmail address (see General CLAS Policies on electronic communication below).

Assigned Readings: Students are expected to study all the material assigned as required readings, even if that material is not explicitly discussed in class or in the homework.

Additional Readings and Discussions: Students are encouraged to go over any specifically suggested readings and consult any relevant materials beyond those provided on the course's web site. They are also encouraged to discuss the course topics with their classmates. It is a genuinely helpful learning activity having to formulate one's own thoughts about the material well enough to express them to others.

Attendance: Lectures will be taught online in synchronous mode, with occasional (ungraded) in-class exercises and other forms of active participation. Students are expected to attend all lectures and, in case they cannot attend a lecture, timely watch its recorded version. Their knowledge and therefore their grade depends on this. Students are responsible for all announcements made in class and material covered there regardless of whether they attended/watched the lecture or not.

Extra Credit: No extra-credit assignments or tests will be given on an individual basis, although they maybe given to the whole class.

Make-up Exams: Make-up exams will be offered only if there is a serious, documented reason for not being able to take a scheduled exam, and if the request is made at least a week before the exam.

Regrading: Students thinking a graded assignment or test has been misgraded and deserves a regrading are invited to let the instructor know. The instructor welcomes and will give full consideration to all well motivated regrading requests.

College Policies

This course follows the general policies of the College of Liberal Arts and Sciences.

Copyright: Cesare Tinelli, The University of Iowa, 2021