# Test and Exam Information

| Test 1 | Test 2 | Test 3 | Final |

## Special Circumstances

If there is some reason (such as a documented disability) that makes it necessary to provide special accomodations for an exam, please contact me before each exam so that such arrangements can be made.

## Test 1

Sections Covered: 1.1-1.8, 2.1-2.2, 2.3 (divisibility), 2.4 (Euclid's Algorithm), 3.2-3.3, 5.1, 6.1, 6.4

### Topics

The following list is not intended to be exhaustive, but can serve as a good reminder of the types of things you should know for the test. Note that there is a more extensive list of terms and results at the end of each chapter. There are a few things on those lists that we either did not cover or did not emphasize, but for the most part, those are very useful lists.
• Propositional logic: logical connectives (and, or, not, etc), truth tables, logical equivalences, tautology, satisfiable, unsatisfiable, translations between words and logic, functionally complete sets of operators
• Predicate logic: quantifiers, domain of discourse, logical equivalences, translations between words and logic
• Sets: notation (element, subset, empty-set, power set, etc), cardinality (size of a set), power set, set operations (union, intersection, complement, etc), bitstring representation, Venn diagrams, membership tables, relationship to propositional logic
• Relations: matrix representation, properties (reflexive, symmetric, transitive, equivalence)
• Functions: notation, domain, range, one-to-one, onto, inverse, big O, sum notation, number of functions from A to B, sequences and notation
• Algorithms: definition/properties, expressing in psuedo-code, analyzing efficiency (Big O, time complexity, worst-case, best-case, average-case)
• Divisibility: definition and notation for "a divides b", basic properties, primes, composites, primality testing, fundamental theorem of arithmetic, divisibility tests (for 2, 5, 10, 3, 9) greatest common divisor, least common multiple, Euclid's algorithm
• Induction/Recursion: Proving things by induction, expressing things recursively, reading and writing recurrence relations, unraveling recurrance relations
• Miscellaneous: counting arguments (sizes of certain sets, number of booean functions, etc.); relationship between propositional logic and sets; most important rules for manipulating logic and sets (Table 5 on page 17, for example).

### Scale for Test 1

Point RangeLetter Grade
73-81 (87)A
62-72B
51-61C
42-50D

## Test 2

Primary Sections Covered: 2.3-2.5, 3.2-3.4, 4.1,4.3, 5.1-5.3, Recurrence Notes, RSA Notes.

Test 2 will focus primarily on material covered since the last test, but you should not have completely forgotten the material from the first test. In particular, material from the first test is most likely to appear in ways related to things we have done since the first test. Thus it is much more likely that information about sets and functions, Euclid's algorithm, etc. will appear than information about truth tables. Some "old" topics have been so integral to the new material that I have listed them again in the topics below.

### Topics

The following list is not intended to be exhaustive, but can serve as a good reminder of the types of things you should know for the test. Note that there is a more extensive list of terms and results at the end of each chapter. There are a few things on those lists that we either did not cover or did not emphasize, but for the most part, those are very useful lists.
• Algorithms and their complexity: definition/properties, expressing in psuedo-code, analyzing efficiency (Big O, time complexity, worst-case, best-case, average-case)
• Number Theory (Modular Arithmetic): definition, notation and basic properites of the relation "a divides b"; definition, notation and basic properites of the operation "a mod n"; definition, notation and basic properites of the relation "a = b (mod n)"; primes and composites (primality testing, fundamental theorem of arithmetic, divisibility tests for 2, 5, 10, 3, 9); greatest common divisor (Euclid's algorithm, gcd lemma); modular arithmetic system (arithemtic operations, inverses, solving linear equations, Chinese Remainder Theorem, etc); RSA public key cryptography (including Fermat's Little Theorem and Chinese Remainder Theorem; other applications (pseudo-random numbers, ISBN, etc. -- you do not need to know specific details of these, but should be able to work with them if the details are provided); representations of integers (different bases, 2's complement representation and its reletionship to modular arithmetic).

See also the notes on RSA and Number Theory [pdf, ps]

• Induction/Recursion: Proving things by induction; expressing things recursively; reading and writing recurrence relations; unraveling recurrance relations; geometric sums; solving recurrences of special forms (divide-and-conquer and linear homogeneous); analyzing performance of recursive code.

See also the notes on Solving Recurrences [pdf, ps]

• Counting: Bijection Principle; Sum Rule (and variations); Product Rule; Division Principle; Permutations; Combinations. (Pigeon Hole Principle will not be covered on test.)

### Extra Practice Problems

I have included on the homework page a list of review problems for those of you who like to prepare by working on problems. It is a long list, but you can select from it those things you would like to work on. You can also get a sample of problems from past quizzes and tests in postscript or pdf format. These were prepared last year, but the material covered on this year's test 2 is quite similar, so these problems are probably still useful. The topics covered on these problems are not intended to represent an exhaustive list of topics that could appear on the test.

### Scale for Test 2

Point RangeLetter Grade
69-79 (82)A
58-68B
47-57C
38-46D

## Test 3

Primary Sections Covered: 2.6, 4.1-4.5, 4.7, 6.1-6.5, 7.1-7.6

Test 3 will focus primarily on material covered since the last test, but you should not have completely forgotten the material from the first two tests.

### Topics

The following list is not intended to be exhaustive, but can serve as a good reminder of the types of things you should know for the test. Note that there is a more extensive list of terms and results at the end of each chapter. There are a few things on those lists that we either did not cover or did not emphasize, but for the most part, those are very useful lists.
• Matrix operations: Boolean and integer; algorithms and their complexity; shapes of matrices that can be multiplied; connection to graphs and relations (transitive closure especially); identifying and using matrix inverses.
• Counting: Sum Rule; Product Rule (and bijection principle); combining rules, combinations, permutations, binomial coefficients, Pascal's triangle, definition of finite probability and applications involving counting problems; expected value of random variable; complement law.
• Relations: properties of relations (reflexive, irreflexive, symmetric, transitive); equivalence relations; representations (matrix, graph, set/list); operations on relations (inverse, complement, union, intersection, etc) and proving properties of them; transitive closure and Warshall's algorithm.
• Graphs: "flavors" of graphs (directed/undirected, loops, multiple edges, etc); modeling situations; definitions (adjacent, incident, degree, bipartite, isomorphic, etc); representations (adjacency matrix and adjacency list); relationship between degrees of vertices and number of edges; graph connectivity; graph invariants; Euler paths/circuits; Hamilton paths/circuits; Dijkstra's algorithm; All-Pairs Shortest Paths (APSP) and Single-Source Shortest Paths (SSSP)
I will be including on the homework page a list of review problems for those of you who like to prepare by working on problems. It is a long list, but you can select from it those things you would like to work on. You can also get a sample of problems from past quizzes and tests in postscript or pdf format.

### Scale for Test 3

Point RangeLetter Grade
75-88 (90)A
64-75B
53-63C
42-52D

## Final Exam

The final exam will be 1:30 -- 4:30 pm on Thursday, December 13.

The final exam will cover material from the entire course. The topics and sections listed above can serve as a guide as you prepare for the final. Only a few additional comments are in order:

• The formulas for divide-and-conquer (the so-called ``Master Theorem'') will be provided on your exam. More details available in [ps format] [pdf format]
• Be especially mindful of connections between topics -- especially between topics that ocurred at different times in the course. Watch for big ideas, recurring themes, common techniques, etc.
• In case you misplaced one of your exams, here they are:
If I think of something else I want you to know, I'll post it here, so check back. Be sure to look over your old tests, sample problems, review sheets, and review problem sets as you prepare for the final.

There will be a review session 11:15--1:15 pm in NH 295 on Wednesday, December 12.

### Scale for Final Exam

Point RangeLetter Grade
162-194 (173)A
141-161B
120-140C
100-119D