CS 15-199: Discovering Logic
(Spring 2013)

Course Information  [  Logistics  |  Course Links  |  Calendar of Classes  |  Coursework Calendar  ]



   (Your comments will be sent anonymously to the instructors)

Logistics

Lectures:  Su   3:00 - 4:20 (room 2051)
Recitations:  Tu   3:00 - 3:50 (room 2051)

Class Webpage:   http://qatar.cmu.edu/cs/15199

Instructor: Iliano Cervesato
Office hours:  by appointment (check schedule)
Office:  CMU-Q 1008
Email: 

Course Links

Calendar of Classes

Click on a class day to go to that particular lecture or recitation. Due dates for homeworks are set in bold. The due date of the next homework blinks.

Coursework Calendar

About this course  [  Description  |  Prerequisites  |  Feedback  |  Readings  |  Grading  |  Assessment  ]

Description

This course has the purpose of introducing first-year Computer Science students to elements of formal logic as well as to the historical context in which this discipline developed. As all subsequent courses in the CS curriculum rely on students having mastered basic logical notions and skills, it will test and enhance your preparation, thereby putting you in a better position to succeed in the program. It will also help you understand and appreciate how CS came about since Computer Science grew out of logic. The specific knowledge and skills you will learn in is course include: This course is open to Computer Science freshmen only.

This course is a gateway to the fascinating and multifaceted world of computational logic. If you find it enjoyable, you may also like 21-300 Basic Logic (a systematic investigation of propositional and first-order logic), 15-312 Foundations of Programming Languages (a systematic, logic-based investigation to programming languages), 15-317 Constructive Logic (the use of logic to express algorithms and computation), 15-414 Bug Catching: Automated Program Verification and Testing (the use of a logical technique known as model-checking to verify complex systems), 80-211 Logic and Mathematical Inquiry (an historical journey through modern logic), and 80-311 Computability and Incompleteness (a study of the logical foundations of Computer Science).

Prerequisites

There are no prerequisites for this course.

Feedback

It is my goal to make this course successful, stimulating and enjoyable. If at any time you feel that the course is not meeting your expectations or you want to provide feedback on how the course is progressing for you, please contact me. If you would like to provide anonymous comments, please use the feedback form on the course home page or slide a note under my door. Comments of general interest will be answered on the course discussion board.

Readings

Grading

This is a 3 unit course. If it were a semester-long course, you would be expected to dedicate an average of 3 hours a week to it for 14 weeks, for a total of about 42 hours. However, this is a mini and it lasts only 7 weeks. You are still expected to spend 42 hours on it. This means your load will be 6 hours a week in average.

Evaluation Criteria

Late Policy

There are no late days. Assignments submitted past the deadline will get a grade of 0.

Academic Integrity

You are expected to comply with the University Policy on Academic Integrity and Plagiarism.

Collaboration is regulated by the whiteboard policy: you can bounce ideas about a homework with other students, but when it comes to typing it down for submission, you are on your own — no notes, files, snapshots, etc. Morever, you must wait at least 4 hours before writing down the solution.

Class etiquette

Assessment

Course Objectives

This course seeks to develop students who:
  1. can understand and formulate logical representations to problems
  2. can think abstractly, i.e., for form, analyze, and use abstractions
  3. can understand and articulate technical ideas
  4. can follow and form cogent arguments
  5. have a historical perspective of logic and Computer Science

Learning Outcomes

Upon successful completion of this course, students will be able to:
  1. express problems symbolically using propositional and predicate logic
  2. use formal logic proofs and logical reasoning to solve simple problems
  3. describe the importance and limitations of predicate logic
  4. gain deeper knowledge about a topic by researching it using a variety of sources and tools
  5. describe technical concepts clearly, so as to be readily understood by their peers within the discipline and by those outside the discipline
  6. follow and summarize arguments presented in texts and papers used as supporting materials for their courses or consulted to research a topic
  7. form a cogent, logical argument asserting and reiterating technical concepts that lie within the bounds of any researched topic
  8. make clear, well-articulated, well-organized and creative presentations about topics of their choice

Schedule of Classes

At a glance ...


Presentations

The purpose is for the presenting students to develop their research and presentation skills, and for the students in the audience to develop their critiquing skills. Each presentation will last 20 minutes, and there will be 2 each recitation starting the third week of class. Presentations are individual, unless the class turns out to be very popular in which case we will have group presentations instead.

How do I go about a presentation?

  1. Select your topic (see below) and a delivery date. Do so at least 2 weeks in advance and in consultation with the instructor.
  2. Research your topic by using the web, the library, or whatever will give you a sufficient understanding. You are expected to be able to explain this topic to your peers at a level where they can in turn tell their friends and answer questions they may have. You are not expected to become an expert :-)
  3. Prepare a 15 minute presentation using PowerPoint or equivalent software. Note that in 15 minutes you will not have time for many slides. One week before your presentation date, submit a draft to the instructor and get feedback. Finalize your slides.
  4. On the selected date, give your presentation.
  5. Both the instructor and your peers will give you feedback on your presentation.

How are presentations evaluated?

We will be using a rubric to evaluate each presentation. The rubric will be filled by both the instructor and the students in the audience and will be used to give feedback. As the semester progresses, presentations are expected to be better and better.

Example presentation topics

The following are some examples of presentation topics. You are encouraged to propose others!

People

  • Gottfried Leibnitz
  • Gottlob Frege
  • Georg Cantor
  • Ludwig Wittgenstein
  • David Hilbert
  • Henri Pointcaré
  • Kurt Gödel
  • John von Neumann
  • Alan Turing
  • ...

Logic

  • History of logic
  • Modal logic
  • Hoare logic
  • Epistemic logic
  • Hilbert's program
  • ...

Others

  • Set theory
  • Hilbert's problems
  • ...
The following topics were presented in past editions of the course. It is unlikely that the instructor will let you use them as presentation topics.

People

  • Christos Papadimitriou
  • George Boole

Logic

  • Theorem proving
  • Temporal logic
  • Fuzzy logic
  • Paradoxes

Others

  • Mathematics in the 19th Century
  • Non-euclidean geometries
  • Illuminism and Positivism
  • Dadaism

2013 Iliano Cervesato