CS 303 midterm
This page contains an outline of the midterm exam for CS 303. This covers the first chapters in Building Blocks for Theoretical Computer Science up through Induction.
Goals
The goal of the midterm is to evaluate you on the most important topics from the first half of the term.
Exam part 1
For the "regular exam" portion of the midterm, you will have at most 90 minutes, with the goal that more than half of the class has enough time to finish. it will have the following...
- Quizzes in Canvas, auto-graded and with practices available (at some point)
- See here for practice versions of these, at the bottom of the page under "CS Learn and Assess".
- Math notation, updated with new notation (5-10 min).
- Math bases, same as before (5-10+ min).
- Logic - given a logical formula and true/false values for the variables, evaluate the formula. Given a logical formula, identify whether a formula is unsatisfiable, valid, satisfiable (10 minutes).
- Identify the logical rule or theorem - De Morgan's, distributing union over intersection (and vice versa), definition of implication, pigeon hole principle, contrapositive, inclusion-exclusion, rules of exponents/logs. (5-10 minute). Included within the other practice quizzes.
- Number theory - congruence notation, divisibility statements, lcm and gcd. (5-10 minute).
- Sets - terminology, operations (few minutes).
- Functions/Relations - terminology/definitions (few minutes)
- Other math - factorial, combinations, exponents/logs (few minutes).
- Short answer / essay, that will be looked at manually
- Truth table - able to write one out correctly (few minutes short answer / essay).
- Example: Give a truth table that includes both of the following logical formulas. Make sure to include enough steps in your table to make it easy to verify. P1: (A ∨ B) → ((B ∨ C) → (A ∧ C)). P2: ((A ∨ B) → (B ∨ C)) → (A ∧ C). Make sure to include enough text and explanation so that this is a complete and correct proof.
- Warning - I will probably come up with some more interesting examples than this for the mid-term.
- Proof that a number is irrational - able to write out the proof correctly (few minutes short answer / essay)
- Example: Write a correct proof that 51/4 is irrational. Make sure your proof is well written, complete, and correct.
- Euclid's GCD algorithm - able to show the steps of the algorithm on a given example (few minutes short answer / essay)
- Example: Use the Euclidean algorithm and show the steps for computing gcd(45,55). Be very clear in your explanation.
- Truth table - able to write one out correctly (few minutes short answer / essay).
The following will not be on this exam.
- Graphs - terms, basic properties
- Induction and big O asymptotics
Grading Notes
For the short answer questions, if you have put something that is not correct you lose at least a point for it. Even if you are doing the problem the right way, be careful about phrasing and notation.
Euclidean algorithm short answer question
- Careless mistake saying something that is not quite right, while still doing it correct and getting the right answer: -1
- Mistake in some part of the algorithm, leading to an incorrect answer: -5
Irrational proof short answer question
- A key mistake in your argument: -4 or more.
- Most people had a mistake of the following kind: if a10 = 20 b10, then a10 and therefore also a must be divisible by 20. It is true that a10 must be divisible by 20, but it is not true that a must. Do you see why?
Truth table short answer question
- If you did not include enough columns to make it very easy to check: -3 or more.
Exam part 2
The second part of the exam is a 30 minute interview slot with the instructor. You will be asked to explain solutions from the regular exam, from the hw assignments, or questions that are similar to these. The goal is to (a) verify that the work you are submitting is your own (you demonstrate the skills live that you have been turning in work for), (b) have an adaptive portion of the exam where you can be given hints if needed and see if you can get some partial credit.
First draft of the outline for this part is as follows.
- HW problem a: I pick a HW problem that you got full credit for, pull up your submission, and ask you to explain how to do it.
- HW problem b: I pick a HW problem that you did not get full credit for, pull up your submission, and ask you how to finish it or fix any problems.
- Exam part 1 short answer: I pull up your submissions for the part 1 short answer and ask you to explain at least one.
- Exam part 1 auto-graded: I make up a new question or two from each of the auto-graded quizzes and ask you to solve them or how to solve them.