CSci 1302 Problem Solving and Algorithm Development II.

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

Syllabus

The syllabus 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.

All reading is from Nimal Nissanke "Introductory Logic and Sets for Computer Scientists", unless specified otherwise.

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 2 minutes after beginning of the class are considered late.

Working in groups

Working together with other students on problem sets helps you understand the material better. You may hand in group assignments (two or three per group). Make sure you keep copies of all assignments yourselves and hand in one assignment from the entire group with names of all 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 let others know in advance about your plans.

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

In-class quizzes

There will be approximately 10-12 quizzes during the semester. A quiz will be about 15-20 minutes and will be based on recent material (including the material of the previous class meeting and the assigned reading). You may use your notes and the textbook 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: January 12 -- January 16
Introduction, course overview.
Reading: Ch. 1, 2.
Logical systems, scientific theories, mathematical models. Propositions and propositional connectives.
Week 2: January 19 -- January 23
Martin Luther King Jr Holiday -- no class Propositions (continue).
Problem set 1: Propositions (due Wedn., January 28th)
Propositional logic as a language (grammar, semantics). Reading: Ch. 3
Week 3: January 26 -- January 30
Truth tables, logical equivalence, logical implications. Digital circuits.
Problem set 1 due
Problem set 2: formal language of propositional logic, truth tables, digital circuits (due Wedn., Feb. 4th)
Logical laws
Reading: Ch. 4.
Week 4: Feb. 2 -- Feb. 6
Transformational proofs and their applications. Introduction to deductive proofs. Validity, truth tables.
Reading: Ch. 5.
Problem set 2 due
Problem set 3: transformational proofs. (due Wedn., Feb. 11th)
Proving validity using deductive proofs, inference rules.
Week 5: Feb. 9 -- Feb. 13
Reasoning in theories; examples. Introduction to predicate logic, its relation to propositional logic.
Reading: Ch. 6.
Problem set 3 due
Problem set 4: Deductive proofs. (due Wedn., Feb. 18th)
Quanifiers, unary predicates.
Week 6: Feb. 16 -- Feb. 20
Predicates with higher arities, examples. Scope of quantifiers, bound and free variables.
Reading: Ch. 7.
Problem set 4 due
Problem set 5: Predicates and quantifiers. (due Wedn., Feb. 25th)
Comparison with variable usage in programming and mathematics.
Week 7: Feb. 23 -- Feb. 27
Interpretation of universal and existential quantifiers. Reading: Ch. 8.
Theorems in predicate logic.
Problem set 5 due
Problem set 6: Scope of quantifiers, interpretation of formulae. (due Wedn., March 3rd)
Formulae in propositional form. Reading: Ch. 9.
Week 8: March 1 -- March 5
Theorems and proofs in predicate logic.
More examples of proofs in predicate logic.
Problem set 6 due
Problem set 7: Proofs in predicate logic (due Wedn., March 17th)
Mathematical induction (introduction).
Reading: Ch. 10.
March 8 -- March 12: SPRING BREAK, NO CLASSES
Week 9: March 15 -- March 19
More on mathematical induction. Review for the exam.
Problem set 7 due.
Midterm exam (includes material up to Friday, March 5th)
Week 10: March 22 -- March 26
And more on mathematical induction.
Problem set 8: Mathematical induction, algorithm analysis. (due Wedn., March 30th)
Big-Oh notation, etc.
Algorithm analysis.
Week 11: March 29 -- April 2
Algorithm analysis.
Algorithm analysis.
Algorithm analysis.
Problem set 8 (part 1) due.
Week 12: April 5 -- April 9
Introduction to sets, basic concepts of set theory.
Subsets, power sets, etc.
Reading: Ch. 11. Problem set 8 (part 2) due.
Set operations.
Reading: Ch. 12
Problem set 9: sets, operations on sets (due Wedn., April 14th)
Relations (introduction).
Reading: Ch. 13.
Week 13: April 12 -- April 16
More on relations, Relational databases.
Properties of binary relations; equivalence relations
Reading: Ch. 14 (up to 14.2), 15.
Problem set 9 due.
Problem set 10: Relations (due Wedn., April 21st)
Equivalence classes, relational closures.
Week 14: April 19 -- April 23
Functions as relations.
Reading: Ch. 16.
Function composition. Examples of use of functions. Functional programming (overview).
Problem set 10 due.
Problem set 11: Binary relations, functions and their classification (due Wedn., April 28th)
Formal definition of natural numbers and integers.
Reading: Ch. 17
Week 15: April 26 -- April 30
Number representation in computers.
Other number systems, dense and sparse sets, countability (if have time).
Catch up and discussion.
Problem set 11 due.
Review and wrap up.
Final exam: Wedn., May 5th, 11am-1pm