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:

- an enhanced ability to research topics, give presentations and write technical prose.
- some elementary logic.
- some historical depth into Computer Science, mathematics and logic itself.

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).

There are no prerequisites for this course.

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.

- Iliano Cervesato:
*Discovering Logic* - Apostolos Doxiadis and Christos Papadimitriou.
*Logicomix: An Epic Search for Truth*,

Bloomsbury, 2009

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.
### Tasks and Percentages

### 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.
*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

**Daily exercises**and**Participation: 20%**- At the end of the every lecture, you will be given
*daily exercises*, a couple of simple exercises or questions collected during the next class or recitation. Each will be graded, with negative points for missing or sloppy work. *Participation*has the following components:- Class participation: volunteer to answer questions asked to the class
- Class preparedness: you must have done the readings before coming to class

- At the end of the every lecture, you will be given
**Final paper: 25%****5 homework assignments: 55%**- Weekly, 10% to 15% each
- Due at 11:59pm Doha time.
- To encourage good work and integrity, the instructor may invite students to his office to explain their solutions. Should this happen, the students' explanations will become part of their grades for that assignment.
- No joint assignments unless explicitly instructed

- Each answer to a
**logic exercise**will be evaluated on the basis of*correctness*(does it answer the question?),*precision*(is every argument justified?) and*elegance*(is it pleasant to read?) - Each
**essay**will be evaluated on the basis of*content*(does it answers the question exhaustively?),*form*(is it well structured, grammatical, etc?) and*creativity*(are you stating the obvious?) **Bonus points**:**3%**of the earned grade for each 8-hour period a homework is submitted ahead of the deadline- up to
**10%**for particularly elegant solutions

**Negative points**: no less than**-100%**if caught cheating- Don't cheat!

Collaboration is regulated by the

- Attendance is mandatory
- Arrive on time: latecomers will not be allowed in class
- No cellphone or laptop use unless instructed

- 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

- express problems symbolically using propositional and predicate logic
- use formal logic proofs and logical reasoning to solve simple problems
- 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

2014 Iliano Cervesato |