Course Introduction

These notes are (obviously) not slickly-designed for presentations. They are intended primarily as notes for myself, as well as an outline of class material for students. These are typical of the notes for the course, although I use PowerPoint slides for some topics.

The beginning and end of topics will not necessarily correspond to the beginning and end of class periods.


Course pragmatics


What is this course?

See syllabus on home page.

Overall -- How to really understand your programs


Logic — Fun example

A "proof" of 90=100:

Line # Conclusion Reason Using line #s
1 |AB| = |ED| Construction
2 |BC| = |EC| C is on the perp. bisector of BE. (BEC is isosceles.)
3 ∠CBE ≅ ∠BEC Base angles of isoceles BEC are congruent.
4 |∠CBE| = |∠BEC| Congruent angles have equal measure. 3
5 |AC| = |DC| C is on the perp. bisector of AD. (ADC is isosceles.)
6 △ABC ≅ △DEC Side-side-side 1, 2, 5
7 ∠ABC ≅ ∠DEC Corresponding angles of congruent triangles are congruent. 6
8 |∠ABC| = |∠DEC| Congruent angles have equal measure. 7
9 |∠ABC| - |∠CBE| = |∠DEC| - |∠BEC| Algebra 4, 8
10 |∠ABE| = |∠DEB| Construction 9
11 90 = 100 Construction 10

Sure seems convincing, but clearly wrong. Being careful and picky is important. If you didn't already know 90≠100, would you be suspicious of this "proof"?

  1. Previous "math" courses concentrated on proving various interesting facts.
  2. We will first concentrate on the form of proofs. This emphasizes how to avoid making wrong steps in proofs.
  3. The rest of the course concentrates on some interesting things to prove in CS.

Summary of "to do's"


An Aside: Learning Styles Questionnaire