Computer Science 243

Discrete mathematics and Functional Programming
Spring 2019
Thomas VanDrunen



Meeting time: MWF 2:15-3:25 pm.
Meeting place: Meyer 131

Office hours: MWF 3:30-4:30 pm; Th 9:00-10:30 am, 11:00-11:30, and 1:15-3:15 pm.

Contact: Meyer 163 ; 752-5692; Thomas.VanDrunen@wheaton.edu
http://cs.wheaton.edu/~tvandrun/cs243



Syllabus

ML programming guide

Modeling project

Programming assignment turn-in page.

Frequently asked questions.




Final exam: Wed, May 8, 10:30am


Color code:
Green: Read carefully before class. We'll review the main points in class, but most of our time will be working through problems from these sections.
Magenta: Skim before class. I will lecture on this material, but you'll understand things better if you have an overview of the topic.
Moon's dayWoden' s dayFrigga's day

Jan 14

Sets. Sets and elements. 1.(1 & 2)
Slides

Review 1.(1-2) and read 1.(3-5)
Optional:
Video for course introduction
Video for sections 1.1-3
Video for section 1.4
Video for section 1.5

Jan 16

Set operations; visual verification (3-5)
Slides

Pg 12: 1.3.(11-14, 16)
Pg 16: 1.4.(1-6, 19)
Pg 20: 1.5.(8-11)
Read 1.6-9
Optional:
Video for section 1.6
Video for sections 1.(8 & 9)

Jan 18

Intro to ML; cardinality and Cartesian products. 1.(6-9).
Slides

Pg 26: 1.6.(1-5)
Pg 32: 1.8.(2, 4, 5)
Pg 36: 1.9.(3, 4, 8, 9, 10).
Note that the ML problems should be submitted on paper with the rest of the assignment.
Skim 1.(10&11)
Optional:
Video for sections 1.(10 & 11)
Video for sections 1.(12)

Jan 21

NO CLASS

Jan 23

Making things in ML. 1.(10-13).
Code from class

Pg 36: 1.9.(14 & 16)
Pg 40: 1.10.(1-4)
ML problems should still be submitted on paper
Re-read 1.11 (if necessary), skim 1.(12 & 13).
Read 2.1
Skim 2.2
Optional:
Video for section 2.1
Video for Section 2.2

Jan 25

More about functions in ML. 1.(11-13); List. Introduction to lists. 2.(1 & 2)
Code from class

Pg 48: 1.11.(4, 8, 10)
Pg 50-51: 1.12.(3, 5, 8)
Pg 70: 2.1.(2-4, 9, 10)
Notes on assignment
Starting with this assignment, submit ML problems electronically
Recommendation: start working on problems from 2.2 assigned next time
Skim 2.3
Read 2.4
Optional:
Video for Section 2.4

Jan 28

More about lists; powersets. 2.(3 & 4)
Handout
Code from class

Pg 74: 2.2.(2, 3, 8, 9, 11, 13, 15)
Pg 82: 2.4.(8-12, 14 & 15)
All due 2/1
Notes on assignment
Read 3.(1-4)

Jan 30

No class: College closed for cold weather

Feb 1

Proposition. Propositional forms; boolean values; logical equivalence. 3.(1-4)
Slides
Code from class

Pg 102: 3.3.(5 & 6)
Pg 105: 3.4.(2, 4, 8-12)
Read 3.(5-7)

Feb 4

Conditionals. 3.(5-7)
Slides
Code from class

Pg 108: 3.5.(1 & 2)
Pg 114: 3.7.(1, 2, 7, 8, 9, 12, 13)
Read 3.(8 & 9)

Feb 6

Arguments. 3.(8 & 9)
Slides

Pg 119: 3.8.(3 & 5)
Pg 122: 3.9.(3-7)
Read carefully 3.(10 & 11)
Skim 3.(12 & 13)

Feb 8

Predicates; quantification. 3.(10-13)
Slides
Code from class

Pg 133: 3.12.(1 & 2)
Pg 135:3.13.(4 & 5)
Read 3.14

Feb 11

Quantification and arguments. 3.14
Slides

Pg 139: 3.14.(6-9)
Notes on assignment

Feb 13

Review
Slides

Feb 15

TEST

Feb 18

NO CLASS

Feb 20

Proof. Introduction to proofs; subset proofs. 4.(1 & 2)
Slide

Pg 158:4.2.(2-7)
Review 4.(1 & 2)
Read 4.(3 & 4)

Feb 22

Set equality proofs; set emptiness proofs. 4.(3 & 4)

Modeling proposal due today
Pg 160: 4.3.(3, 14, 15, 18)
Pg 161: 4.4.(5,6)
Notes on assignment
Read 4.(5-8)

Feb 25

Conditional proofs. 4.(5-8)

Pg 162: 4.5.(1, 4, 5)
Pg 164: 4.6.(2,5)
Pg 165: 4.7.(1, 6)
Review 2.4, especially Ex 2.4.15
Skim 4.9

Feb 27

Powersets. 4.9
Slides

Pg 174: 4.9.(1, 3, 4, 6)
Skim 4.(10 & 11)

Mar 1

From theorems to algorithms. 4.(10 & 11)
Code from class

Pg 177: 4.10.(3, 4, 6)
Correction to Ex 4.10.6
Read carefully 5.1
Read 5.(2 & 3)

Mar 4

Relation. Introduction. 5.(1-3)
Slides
Code from class


Pg 205: 5.3.(8, 10, 12, 13)
Read 5.4
Optional:
Video for section 5.4

Mar 6

Properties of relations. 5.4
Slides

Pg 205: 5.3.(5, 11, 14)
Pg 208: 5.4.(3, 4, 5, 22, 24, 25)
Pg 212: 5.5.(7, 9, 10)
Duedate open
Read 5.5

Mar 8

Equivalence relations. 5.5

See Mar 6 for assignment
Read 5.(6 & 7)

Mar 11

NO CLASS

Mar 13

NO CLASS

Mar 15

NO CLASS

Mar 18

Transitive closure. 5.(6 & 7)
Slides
Code from class

Pg 217: 5.6.(1&3)
Pg 222: 5.7.(3,4,5)
Correction to Ex 5.7.4
Read 5.(8 & 9)

Mar 20

Partial order relations; topological sort. 5.(8 & 9)
Slides

Pg 226: 5.8.(1-5)
Pg 231 5.9.(1 & 8)

Mar 22

Review

Mar 25

TEST

Mar 27

Self Reference. Recursive types. 6.(1-3)
Slides
Code from class and for the assignment

Pg 260: 6.2.(6-8, 14-17)
Notes on the assignment
Read 6.4

Mar 29

Structural induction. 6.4
Slides

Pg 268: 6.4.(3,4,6,7)
Skim 6.(5 & 6)

Apr 1

Mathematical induction. 6.(5 & 6)
Slides

Pg 273: 6.5.(2 & 4)
Pg 278: 6.6.(2 & 3).
Read 6.9 carefully
Skim 6.10

Apr 3

Loop invariants. 6.(9 & 10)
Code from class

Pg 306: 6.10.(2-5). Due Apr 8

Apr 5

More on loop invariants. 6.(10-11)

Modeling prototype due today
Read 7 intro and 7.1 carefully
Read 7.2
Skim 7.3

Apr 8

Function. Introduction. 7.(1-3)
Slides
Code from class and for the assignment

Pg 331: 7.2.(2&3)
Pg 335: 7.3.(3, 4, 8)
Read 7.4
Skim 7.5

Apr 10

No class: family illness

Apr 12

Images and inverse images. 7.(4 & 5)
Slides

Pg 342: 7.4.(2, 5, 8, 9, 10)
Read 7.(6-8)

Apr 15

Map and filter; function properties; inverse functions; composition. 7.(5-8)
Slides
Code from class and for the assignment

Pg 346: 7.6.(2, 3, 6)
Pg 351: 7.8.(1, 5, 6)
Programming problems
Skim 7.9

Apr 17

Cardinality. 7.9
Slides

Pg 359: 7.9.(1 & 2)

Apr 19

NO CLASS

Apr 24

No-credit quiz. Countability. 7.15
Slides

Apr 22

Review
Slides

Apr 26

TEST


Read carefully 2.5
Skim 2.6 and 6.3

Apr 29

A language processor. 2.(5 & 6)
Slides
Code from class

Programming problem
New version of Sec 6.12

May 1

Huffman encoding. 6.12
Slides
Code from class

Programming problems

May 3

Review

Modeling final submission due today