COMP 1002 -- Introduction to Logic for Computer Scientists, Winter 2019

- 10/4/2019 Practice exam marks are now posted, sorry for the delay. Please let me know right away if you do not see yours. (Just to confirm -- if you are happy with your practice exam mark you do not need to come to the final exam. If you come to both I'll take the maximum of the two.) I will have office hours tomorrow 3:30-4:30pm, you are welcome to come and get your practice exam then, and ask me any questions you still have.
- 9/4/2019 I will have office hours tomorrow (Wednesday), 3-5pm. As for the exam, I am still marking, hope to be done by the office hours tomorrow -- sorry for the delay!
- 2/4/2019 Study sheet for the exams is now posted. Remember that it is just to help you prepare for the exams; the exams themselves are closed-book no-aids-allowed.
- 28/3/2019 Clarification on question 1d on assignment 6: the restriction about routers not next to each other applies just to the two router shelves on the same rack. Routers on the other rack could be in the same places as on the first. So if the first rack has routers on shelves 2 and 5, the second can also have them on 2 and 5, or on 3 and 5, or 4 and 6, etc...
- 27/3/2019 Next week there is no lab on Monday. Instead, everybody is welcome to come to the practice exam on Wednesday, 9-11am, in the lab. The practice exam is optional, however I will mark it and take the maximum of your practice exam and the actual final exam mark. The exam is "no-aids-allowed" (closed-book); just bring your ID and some pens/pencils/erasers.
- 24/3/2019 Assignment is now posted. Due April 1st, 10pm.
- 13/3/2019 I will be out of town all of next week (16th to 24th). There is still a lecture on Monday, March 18th, taught by Elham Karimi. There will be no office hours; please ask the TAs and the lab instructors during the labs, or email me if you have questions. There will be labs, as normal.
- 13/3/2019 Assignment 5 is now posted. Due March 21, 10pm.
- 3/3/2019 Assignment 4 is now posted. Due March 12, 10pm.
- 27/2/2019 The office hours on Thursday, Feb 28 will move to 3:30-4:40pm (I need to be at a departmental event 2:30-3:30pm).
- 26/2/2019 A sample midterm is now posted. Note that it covers somewhat different material, and based on different assignments -- ours will be based on the first 3 assignments and first 4 labs.
- 16/2/2019 A study sheet for the midterm is now posted. Use it to prepare for the midterm on Feb 28th. The midterm is no-aids-allowed though, so you would not be able to use this study sheet during the midterm itself. We will have a review for the midterm in Feb 26th lecture.
- 8/2/2019 As discussed in class, we are implementing the following late assignment policy. For every assignment there will be 12 hours after the deadline when assignments would still be accepted, but the marks will be decreased by 10% of the total mark. After this 12-hour period, no assignments will be accepted. If there are several submissions, only the latest will be considered.
That is, if the deadline is at 10pm on Saturday evening, you can submit with no penalty until this time. Assignments submitted between 10pm Saturday and 10am Sunday morning will have the mark decreased by 10% of the total mark, e.g. by 10 points on a 100-point assignment. After 10am Sunday, we would not accept any assignments. So an assignment that would get 80/100 points when submitted at 9pm Saturday, if submitted at 9am Sunday would get 70/100, and get 0 (not accepted) if not submitted by 10am Sunday.
- 7/2/2019 Assignment 3 is now posted. Due Feb 16th, at 10pm. Type it up and upload on D2L.
- 26/1/2019 Assignment 2 is now posted. Due Feb 5th, at 10pm. Type it up and upload on D2L.
- 17/1/2019 As agreed in class, the midterm test will be on Feb 28th.
- 22/1/2019 See this page for a tutorial on how to do tables in LaTeX
(just take the code for the second or third example and start editing). In Markdown, see e.g.
this Github Markdown cheatsheet .
In EazyTeX, builtin tables seem to be not quite working: either switch to the expert mode and edit LaTeX directly, replacing dots by formulas in dollar signs, or use something
like Markdown syntax.
- 18/1/2019 To enter math in LaTeX, Markdown or HTML, just remember that every equation (even a single symbol) should be between two dollar signs (
see the source for examples.) The symbols that you need should all be in the file already, but here is the list of names:
$\wedge$ is \wedge, $\vee$ is \vee, $\neg$ is \neg, $\to$ is \to, $\leftrightarrow$ is \leftrightarrow, and $\equiv$ is \equiv.
- 15/1/2019 Assignment 1 is now posted. Due Jan 24th, at 10pm. Type it up and upload on D2L.
- 14/1/2019 By popular demand, we are changing our marking scheme from 5 assignments at 6% each, to 6 (smaller) assignments 5% each.
- 14/1/2019 Lab 1 is posted. Please try to do the individual part of the lab before coming to the lab itself (of course, you can still ask me/TAs/lab instructor questions about that part in the lab, and/or in classes, or email me).
- 9/1/2019 On Monday, Jan 14 we will have an extra class from 10am to 12pm in room C 3033 (Chemistry building). This is to make up for the time in March when I will be away for a conference.
- 9/1/2019 The labs will start on Jan 21/23.
- 7/1/2019 As discusses in class, office hours will be 2:30pm-3:30pm on Tuesdays.
- 6/1/2019 There will be no labs the first week of classes (Jan 7th and 9th). I will post the lab start dates later on Monday.
- 2/1/2019 There will be no class on Thursday, January 3rd (flights to St. John's cancelled due to weather).
- 2/1/2019 If you have questions about registration, please contact the department or the registrar's office. I have no control over the registration, and would not be able to help you with it, sorry!... All the course materials will be posted here in the open access.

Course website:
http://www.cs.mun.ca/~kol/courses/1002-w19 . Also see Brightspace (D2L) .
Instructor:
Antonina
Kolokolova , email:[Your browser cannot view this email address] , office ER-6033.
Lectures Monday, Tuesday and Thursday, 1pm-1:50pm in EN 1054
Labs: Monday (section 1) / Wednesday (section 2) 9am-11:50am in CS-1019.
Instructor office hours: Tuesday/Thursday 2:30pm-3:30pm, in ER-6033.
Textbook: (not required) Discrete Mathematics and Its Applications: Kenneth H. Rosen.
Reference book:
Discrete Mathematics With Applications: Susanna S. Epp
Marking scheme:
Lab quizzes 24% total (lowest mark dropped), 6 assignments of 5% each, a midterm test 15% and a final exam 31%. Note
that the last assignment may be due during the last week of the
semester (to provide adequate preparation for the final exam).
Course description
Logic has been called the "calculus of computer science": just as sciences
such as physics that deal with continuous realm rely on calculus techniques,
we rely on logic. Indeed, so many areas of our field are based on logic: from
designing circuits to determining complexity of problems; from verifying
correctness of algorithms and devising database queries to automated
reasoning in artificial intelligence.
This course is intended to be an introduction to mathematical logic with
emphasis on Computer Science applications and methodologies. We will cover propositional
and predicate logic with applications, including the Resolution proof technique, which is the
basis of most modern-day automated problem solvers. Then we will discuss basic
proof techniques such as mathematical induction, again with computer science
applications. We will also touch upon basic combinatorics, counting methods and probability, and theory of computation.

Labs start on Jan 21st (Section 2) and Jan 23rd (Section 1). Every lab will end with a quiz; the lowest quiz mark will be dropped. You have to be in the lab to write the quizzes.

Assignment 1. ( LaTeX , EazyTeX , Markdown , HTML ) Due Jan 24, at 10pm.
|
Assignment 2. ( LaTeX , EazyTeX , Markdown , HTML ) Due Feb 5, at 10pm.
|
Assignment 3. ( LaTeX , EazyTeX , Markdown , HTML ) Due Feb 16, at 10pm.
|
Assignment 4. ( LaTeX , EazyTeX , Markdown , HTML ) Due March 12, at 10pm.
|
Assignment 5 ( LaTeX EazyTeX , Markdown , HTML ) Due March 21, at 10pm.
|
Assignment 6 ( LaTeX EazyTeX , Markdown , HTML ) Due April 1, at 10pm.
|
Please type up your assignments and upload them on Brightspace (D2L) as a pdf file; please also
upload your source file.
There are four source files that you can start with: LaTeX, EazyTeX, Markdown and HTML. I typeset assignments in LaTeX; Overleaf is a good online editor for LaTeX. If you prefer a more WYSIWYG interface, EazyTeX is a new lightweight LaTeX editor designed for students; use the EazyTeX source file there and check D2L for the EazyTeX license for our class. If you want something intermediate, Markdown is a popular language (used e.g. for Github documentation), and it can handle LaTeX-style mathematics; StackEdit is a nice online Markdown editor which can handle LaTeX-style mathematics. Finally, HTML supports LaTeX-style math (with "MathJax" script), as in the source.
Late assignment policy: For every assignment there will be 12 hours after the deadline when assignments would still be accepted, but the marks will be decreased by 10% of the total mark (e.g. a 100-point assignment will receive 10 points less if submitted within 12 hours after the deadline). After this 12-hour period, no assignments will be accepted. If there are several submissions, only the latest will be considered.
Policy on collaboration: The work you submit must
be your own. You may discuss problems from assignments with each
other; however, you should prepare written solutions alone.
Plagiarism is a serious academic offense and will be dealt with
accordingly.

I will be posting slides as we go; you are welcome to check the slides and other materials from the previous semester.
Here is the A study guide for the midterm and for the final exams
Here is a guide from a famous mathematician Polya on how to approach solving problems.
- 7/1/2019 Lecture 1: Introduction
- 8/1/2019 Lecture 2: Language of logic, truth tables, order of precedence, parse trees
- 10/1/2019 Lecture 3: Knights and knaves, negation, de Morgan's laws
- 14/1/2019 Lectures 4-5: Simplifications, equivalences, contrapositive/converse/inverse
- 14/1/2019 Lecture 6: Natural deduction, valid arguments, rules of inference
- 15/1/2019 Lecture 7: Resolution, million dollar problem
- 17/1/2019 Lecture 8: Pigeonhole principle, Resolution, CNFs
- 21/1/2019 Lecture 9: Formulas vs. circuits, canonical CNF/DNF, complete set of connectives
- 22/1/2019 Lecture 10: Sets, predicates, quantifiers
- 24/1/2019 Lecture 11: Mixed quantifiers and negation, prenex normal form
- 28/1/2019 Lecture 12: Theorems, theories, axioms, counterexamples
- 29/1/2019 Lecture 13: Rules of inference in predicate logic, universal modus ponens, instantiation/generalization
- 31/1/2019 Lecture 14: Types of proofs, modular arithmetic, direct proofs and proofs by contraposition
- 4/2/2019 Lecture 15: Proofs by cases, square root of 2 is irrational
- 5/2/2019 Lecture 16: Infinitely many primes, operations on sets, cardinalities.
- 7/2/2019 Lecture 17: Inclusion/exclusion, powersets, cartesian product, laws of set theory, Boolean algebra
- 11/2/2019 Lecture 18: Relations and functions
- 12/2/2019 Lecture 19: Countable and uncountable sets, diagonalization, Halting problem
- 14/2/2019 Lecture 20: Properties of binary relations, equivalences, orders
- 4/3/2019 Lecture 21: Well-ordering principle
- 5/3/2019 Lecture 22: Mathematical induction, strong induction
- 7/3/2019 Lecture 23: Strong induction (product of prime powers), recursive definitions, arithmetic/geometric progressions.
- 11/3/2019 Lecture 24: Recursive definitions of sets, fractals, trees. Grammars. Fractal grower
- 12/3/2019 Lecture 25: Structural induction, growth of functions
- 14/3/2019 Lecture 26: Combinatorics
- 18/3/2019 Lecture 27: Binomial theorem, probabilities
- 25/3/2019 Lecture 28: Conditional probabilities, independence, Monty Hall puzzle
- 26/3/2019 Lecture 29: Bayes theorem, expectations
- 28/3/2019 Lecture 30: Recurrences and algorithms, correctness of algorithms
- 1/4/2019 Lecture 31: Algorithm correctness and running time
