80-211: Logic and Mathematical Inquiry
This course has the purpose of introducing first and second year students to
elements of formal logic as well as to the historical context in which this
discipline developed. As many courses in the undergraduate 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 your program. It will also help you understand and appreciate how aspect of
modern mathematics and computer science came about since these disciplines
grew out of logic.
This course is divided into four parts:
This course is a gateway to the fascinating and multifaceted world of computational logic. If you find it enjoyable, you may also like 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), and 80-311 Computability and Incompleteness (a study of the logical foundations of Computer Science).
There are no prerequisites for this course.
It is our 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 . 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.
This is a 9 unit course. For Computer Science majors, it counts as a free CS elective.
- Analysis of Informal Arguments
- Sentential Logic: Boolean operations, semantics, and derivations
- Predicate Logic with equality: quantifiers, semantics and derivations
- Formalization of mathematics: elementary set theory, Cantor's theorem; incompleteness; Turing machines and undecidability of predicate logic
Tasks and Percentages
- Class participation and presentations: 10%
- Do the readings ahead of time and volunteer to answer questions asked in class
- Present your derivations to the class
- 10 weekly homework assignments: 50% (6.25% each)
- Handed out on Wednesdays
- Due on Sunday 5 days later at 23:59
Doha time. Submit on Blackboard.
- Best 8 out of 10 assignments
- No joint assignments
- Midterm: 15%, in class on February 29th,
- Final exam: 25%, 3 hours, closed notes
- Bonus points: up to 10% for
particularly elegant solutions
points: no less than -100% if caught
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 an assignment, but when it comes to typing it down for submission, you are on your own — no notes, snapshots, etc., you can at most reconstruct the reasoning from memory.
- Attendance is mandatory
- Arrive on time: latecomers will not be allowed in class
- No cellphone or laptop use unless instructed
This course seeks to develop students who:
- can understand and formulate logical representations to problems
- can think abstractly, i.e., for form, analyze, and use abstractions
- can understand and articulate technical ideas
- can follow and form cogent arguments
- have a historical perspective of logic and Computer Science
Upon successful completion of this course, students will be able to:
- express problems symbolically using propositional and predicate logic
- describe the importance and limitations of predicate logic
- gain deeper knowledge about a topic by researching it using a variety of
sources and tools
- describe technical concepts clearly, so as to be readily understood by their peers within the discipline and by those outside the discipline
- follow and summarize arguments presented in texts and papers used as supporting materials for their courses or consulted to research a topic
- form a cogent, logical argument asserting and reiterating technical
concepts that lie within the bounds of any researched topic
- make clear, well-articulated, well-organized and creative presentations
about topics of their choice