CIS301 lecture notes

CIS301 Lecture Notes: Introduction to Logical Foundations of Programming


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.

Week 1

Introduction: Why bother? S-version | T-version
Chapter 0: Circuits and truth tables S-version | T-version

Week 2

Chapter 1: Algebra S-version | T-version
Chapter 2: Programming logic for assignments and conditionals S-version | T-version
Examples from lecture, Chapter 2: zipped folder | folder of individual files

Week 3

Chapter 3: Functions and Procedures S-version | T-version
Examples from lecture, Chapter 3: zipped folder | folder of individual files

Week 4

Chapter 4: Loops, invariants, induction S-version | T-version
Examples from lecture, Chapter 4: zipped folder | folder of individual files

Week 5

Chapter 8: Grammars and trees S-version | T-version
Examples from lecture, Chapter 8: zipped folder | folder of individual files

Week 6

Chapter 5: Applications of propositional logic to program proving S-version | T-version
Examples from lecture, Chapter 5: zipped folder | folder of individual files

Week 8

Chapter 6: Applications of the predicate-logic quantifiers S-version | T-version
Examples from lecture, Chapter 6: zipped folder | folder of individual files

Week 10

Chapter 7: Introduction to Prolog S-version | T-version
Examples from lecture, Chapter 7: zipped folder | folder of individual files


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