CIS301 lecture notes

# CIS301 Lecture Notes, Spring 2014

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 used as input to the proof-checker tool.

#### 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
Sample proofs for Chapter 2: Folder | Zipped folder

#### Week 3

Chapter 3: Functions and Procedures S-version | T-version
Sample proofs for Chapter 3: Folder | Zipped folder
Solution to in-class exercise: program and proof | checked proof

#### Week 4

Chapter 4: Loops, invariants, induction S-version | T-version
Sample proofs for Chapter 4: Folder | Zipped folder
Solution to in-class exercise: program
Solution to another in-class exercise: answer sheet
Solution to the third in-class exercise: answer sheet

#### Week 5

Chapter 8: Grammars and trees S-version | T-version

#### Weeks 6-8

Chapter 5: Applications of propositional logic to program proving S-version | T-version
*** The Natural-deduction proof checker (jar file) | Folder of sample proofs | zipped folder of proofs | Folder with all related materials
Solution to the first in-class exercise: answer sheet
Solution to the second in-class exercise: answer sheet
Solution to the third in-class exercise (negations): answer sheet

#### Weeks 9-11

Chapter 6: Applications of the predicate-logic quantifiers S-version | T-version
| Folder of sample proofs | zipped folder of proofs

#### Weeks 12-13

Chapter 7: Introduction to Prolog S-version | T-version
Example Prolog programs | zipped folder

#### Week 14

Introduction to computability and complexity