CIS301 lecture notes

CIS301 Lecture Notes, Spring 2012


Note: The lecture notes use special symbols, some of which do not display correctly on all web browers. Load this test page to see which version of the lecture notes (the ``S version'' or the ''T'' version'') you should use with your browser.

Also, the programming examples in the ``T-version'' of the notes can be copied-and-pasted into a Python window and used as is.

Weeks 1 and 2

Introduction: Why bother? S-version | T-version
Chapter 0: Circuits and truth tables S-version | T-version
Chapter 1: Algebra S-version | T-version
Chapter 2: Programming logic for assignments and conditionals S-version | T-version
Example proofs from Chapter 2

Weeks 3 and 4

Chapter 3: Functions and Procedures S-version | T-version
Example proofs from Chapter 3
Python code for computing permutations

Chapter 4: Loops, invariants, induction S-version | T-version
Example proofs from Chapter 4

Weeks 5 and 6

Chapter 8: Grammars and trees S-version | T-version
Expression interpreter implemented in Python | zipped folder
Quiz 1, Friday, February 17

Weeks 7 and 8

Chapter 5: Applications of propositional logic to program proving S-version | T-version
Examples of worked proofs
Notes on how logic proofs construct computer code: S-version | T-version

Weeks 9 and 10

Quiz 2, Wednesday, March 28
Chapter 6: Applications of the predicate-logic quantifiers S-version | T-version
Examples of worked proofs

Weeks 11 and 12

Chapter 7: Introduction to Prolog S-version | T-version
Worked Prolog Examples: folder | zipped folder
Introduction to Computability and Computational Complexity


David Schmidt   das at ksu.edu

Creative Commons License This work is licensed under a Creative Commons License.