CSC151.01 2014F, Class 17: Boolean Values and Predicate Procedures
==================================================================

_Overview_

* Preliminaries.
    * Admin.
    * Upcoming Work.
    * Extra Credit.
    * Questions.
* Questions on today's topics.
* Quiz.
* Lab.

Preliminaries
-------------

### Admin

* New lab partners!
* Welcome parents! (when I checked at 9am, none had signed up, but I'd 
  rather be optimistic)
* Fruit (snacks)
* Office hours: Today, 1:45-3:15; Also walking hours 1:15-1:45.
  Monday's hours are distorted by prospective student events.  I'll try
  to stay around later in the day than normal.
* The prologues suggest that you are anticipating about 3-4 hours on
  the HW.  That's my goal, too.  Let me know where you are after 2 or
  so hours.
* Let me know by Monday if you want to work alone on HW 5.
* A few of you have said that you cannot sign the second academic honesty
  statement.  I am currently debating what to do next.  If you have 
  suggestions, send them anonymously on the questions page.
* It's Friday.  I hope you have a chance to restore this weekend.  
  Please be thoughtful about your choices this weekend (and not just
  because there are lots of families on campus).

### Upcoming Work

* No lab writeup today (no matter what it says online).
* Reading for Monday:
    * [The GNU Image Manipulation Program](../readings/gimp-reading.html)
    * [Programming the GIMP Tools](../readings/gimp-tools-reading.html)

### Extra Credit Opportunities

#### Academic

* CS Table today: Privacy and Big Data in the Social Sciences
* Campus Town Hall September 30 t 7:30 p.m.
* CS extras next Thursday: Alumni
* CS table next Friday: Serendipity and Computing (with Grinnell's
  Artist in Residence)
* Grinnell Prize events the following week (particularly events related
  to the prize winners whose project involves Web tools)

#### Peer Support

* Science poster session, Sat., Sept. 27, morningish, science elbow
* Football Games (Saturday, Sept. 27, at 1pm)
* Noteworthy, Sat., Sept. 27, 3:30 p.m. Herrick
* Men's Tennis (???)
* Women's Tennis (???)
* Swimming (???)
* Anna Christie, Oct. 9-12 (SB plays Marthy)
* Evan's radio show 5pm Friday nights on KDIC
* Donna's radio show Sunday midnight on KDIC

#### Miscellaneous

* Participate in #GrinWell.
  <http://www.grinnell.edu/forms/sign-grinwell-presidents-wellness-challenge>
* Friends of Drake Library needs help setting up for their annual booksale
  on Thursday, October 2 (conveniently, the same night as Grinnell High
  School's homecoming parade).  You can help a good cause and probably get
  a few free books, too.
    * Update: They can also use help on Wednesday, October 1.

### Questions

Boolean values
--------------

_What's the difference between a "keyword" and a "procedure"?_

> Procedures are parameterized collections of instructions.  Call
  with `(PROCEDURE inputs)`

> There are a number of things in Scheme that look like procedures,
  in that we write `(THING values)`.  Scheme interprets these slightly
  differently.

> For a procedure: `(* (+ 1 2) (* 3 4))` we always evaluate the parameters
  before we apply the operation.  `(* alpha 4)`  It depends on what we
  know about alpha.  If we know nothing, we get an error.  If it's not
  a number, we get an error.

> (define alpha (+ 2 3)).  Something that looks like a procedure, but
  acts diffently.  Also not (define (max ...) 5)

> We need a way to name things that are like procedures, but which have
  a different semantics of evaluation.  We call them "keywords".

> Keywords that you have encountered: `define`, `lambda`

> New keywords introduced in this reading: `and`, `or`, `not`

> `and` has a different order of evaluation.  We look at each parameter
  one at a time, rather than evaluating them first.  (Similar for `or`.)

_Can you explain the "beyond the truth binary" section?_

> yadda yadda yadda

_Why would we do `and` with non-truth values?_

> Most frequent reason.  I want to do THIS then THIS then THIS, but stop
  if any of them fail.

_Can you be more detailed?_

> Not right now.
