CSci 1302 Problem Solving and Algorithm Development II.

[Home] [Syllabus] [Assignments] [Resources]

Syllabus

The timeline below is somewhat approximate. Dates, topics, assigned reading, and problem set due dates are subject to change. All changes in assigned reading and due dates will be announced in class (and occasionally by e-mail). While I will do my best to update the web site accordingly, it is a student's responsibility to keep track of the problem set due dates and reading assignments. If you are not sure about due dates, please don't hesitate to ask.

Both the midterm and the final exams are open book, open notes.

Note that the date for the midterm exam is set and will not change. If you have a conflict with this date, please let me know right away. No makeup exams will be given unless there are circumstances beyond your control AND the makeup time is arranged in advance.

All reading is from Discrete Mathematics with Applications by Susanna S. Epp (3rd edition), unless specified otherwise.

Late problem sets policy: Problem sets are due in the beginning of the class on the due date. If a problem set is submitted at (or before) the next class meeting after the due date, it is graded out of 3/4 credit. If it is submitted any time after the next meeting (until the last class meeting), then it is graded out of 1/2 credit.
Problem sets submitted more than 5 minutes after beginning of the class may be considered late.

Groups for problem sets

Working together with other students on problem sets helps you understand the material better. You may hand in group assignments (two students per group). Hand in one assignment from the entire group with names of both students on the first page. Groups are not set in stone for the entire semester, it's perfectly OK to change them or do some problem sets on your own, just make sure to coordinate it with the other person in your group. However, you cannot do a part of a problem set on your own and a part in collaboration or a part in one group and a part in another.

Working in groups helps learning if all students in the group discuss all of the problems and participate equally. It doesn't help you learn if you divide problems among the group members (so that one person works on one problem and another works on another) or if one person does most of the work, and the other just puts their name on it. If you feel that group participation is uneven, it's time to talk to your partner(s) and possibly to change your group or to start working individually.

Discussion with students other than those in your group (or anyone not in this class) should be limited to general approaches to the problem. All such discussions as well as use of sources other than the textbook and the handouts given in class must be acknowledged in the beginning of the problem solution.

Studying in groups

Studying in groups is strongly encouraged. You may study for tests, go over textbook materials or lecture notes, and discuss problem sets in general terms (i.e. without actually writing the formulas or giving out the answers).

In-class quizzes

There will be approximately 10-12 quizzes during the semester. A quiz will be about 10-15 minutes and will be based on recent material (including the material of the previous class meeting and the assigned reading). Quizzes are open book: you may use your notes and the textbook and your notes on a quiz. Quiz dates will not be announced in advance.

Missed quizzes are counted as 0. The lowest quiz grade in the semester will be dropped (i.e. it will not contribute to overall grade).

Monday Wednesday Friday
Week 1: August 28 - Sept 1
Introduction, course overview.
Logical systems, scientific theories, mathematical models.
Propositional logic: statements and connectives.
Reading: Ch. 1.1
Problem set 1: Statements, logical equivalence (due Fri., Sept. 8)
Statements and connectives (continue); truth tables
Week 2: Sept. 4 - 8
Labor day, no classes
Logical equivalence.
Conditional and biconditional statements.
Reading: Ch. 1.2
Problem set 1 due
Problem set 2: Logical equivalence (cont.) (due Wedn., Sept. 13)
Week 3: Sept. 11 - 15
Valid and invalid arguments. Logical deduction.
Reading: Ch. 1.3
Logical deduction (continue)
Problem set 2 due
Problem set 3: Logical deduction. (due Wedn., Sept. 20)
Digital circuits.
Reading: Ch. 1.4
Week 4: Sept. 18 - 22
Digital circuits and number manipulation.
Reading: Ch. 1.4
Digital circuits and number manipulation (cont.).
Problem set 3 due
Problem set 4: Digital circuits and number manipulation. (due Wedn., Sept. 27)
Introduction to quantifiers and predicates.
Reading: Ch. 2.1
Week 5: Sept. 25 - 29
Formulas with quantifiers.
Equivalences of quantified formulas.
Reading: Ch. 2.2.
Problem set 4 due
Problem set 5: Quantifiers and predicates. (due Wedn., Oct. 4)
Equivalences of quantified formulas (cont.)
Scope of quantifiers, bound and free variables.
Week 6: October 2 - 6
Statements containing multiple quantifiers, their equivalences.
Equivalences of formulas with multiple quantifiers.
Reading: Ch. 2.3
Deduction in predicate logic
Reading: Ch. 2.4
Problem set 5 due
Problem set 6: Equivalence of quantified formulas (due Wedn., Oct. 11)
Deduction in predicate logic (cont.)
Reading: Ch. 3.1
Week 7: October 9 - 13
Deduction in predicate logic (cont.)
Reading: Ch. 3.2, 3.3
Deduction in predicate logic (cont.)
Reading: Ch. 3.4, 3.6
Problem set 6 due
Problem set 7: Deduction in predicate logic (due Mon., Oct. 23)
Proving correctness of algorithms.
Reading: Ch. 3.8
Week 8: October 16 - 20
Fall break, no class. Review for the exam.
Midterm exam (includes material up to Friday, Oct. 13)
Week 9: October 23 - 27
Introduction to mathematical induction.
Reading: Ch. 4.1, 4.2
Problem set 7 due
Problem set 8: correctness of algorithms, mathematical induction (due Wedn., Nov. 1)
Mathematical induction (cont.).
Reading: Ch. 4.3, 4.4.
Mathematical induction (cont.).
Week 10: October 30 - November 3
Introduction to loops in imperative programming languages.
Loop invariants.
Reading: Ch. 4.5
More on loop invariants.
Problem set 8 due.
Problem set 9: Loop invariants, efficiency of algorithms (due Wedn., Nov. 8)
Efficiency of algorithms, Big-Oh notation
Reading: 9.1, 9.2
Week 11: November 6 - 10
Efficiency of algorithms
Reading: 9.3, 9.4
Efficiency of algorithms (cont.)
Reading: 9.5
Problem set 9 due.
Problem set 10: Efficiency of algorithms. (due Wedn., Nov. 15).
Introduction to sets, basic concepts of set theory.
Reading: Ch. 5.1.
Week 12: November 13 - 17
Set operations
Proving properties of sets.
Reading: Ch. 5.2, 5.3
Problem set 10 due.
Problem set 11: sets, operations on sets (due Wedn., Nov. 22)
Relations (introduction).
Reading: Ch. 10.1
Week 13: November 20 - 24
Relations (cont.), composition of relations.
Properties of relations; functions
Reading: Ch. 10.2, 10.3
Problem set 11 due.
Problem set 12: Relations, relational closures, equivalence classes (due Wedn., Nov. 29)
Thanksgiving Holidays, no class.
Week 14: November 27 - December 1
Relational closures
Partial order relations
Reading: 10.5
Problem set 12 due.
Problem set 13: Partial order relations. (due Wedn., Dec. 6)
Graphs.
Reading: Ch. 11.1, 11.2
Week 15: December 4 - 8
Graph representations, adjacency matrices
Reading: Ch. 11.3
Graph isomorphism; Trees.
Reading: Ch. 11.4, 11.5.
Problem set 13 due.
Problem set 14: Graphs, matrices. (due Wedn., Dec. 13)
Graph traversals.
Reading: TBA
Week 16: December 11 - 13
Catch up and discussion.
Last day of classes
Review and wrap up.
Problem set 14 due.
Last day to submit any late work.
Final exam: 4-6pm Wedn, Dec 20., Sci 2185