CSC151.01 2015S, Class 42: Higher-Order Procedures, Revisited
=============================================================

* New partners!

_Overview_

* Preliminaries.
    * Admin.
    * Upcoming Work.
    * Extra Credit.
    * Questions.
* Lab.
* Debrief.

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

### Admin

* Review sessions Thursday at 9am (or slightly later), 1:15 pm, and
  8:00 pm.  (Also a chance for project advice.)
* Exam due now!  (Unless you got an extension.)

### Upcoming Work

* Lab writeup: Exercises 3, 4, and 6.
  <http://bit.ly/151-2015S-lab42>
* Quiz Friday: Vectors, Randomness, (Nothing on the project; nothing on
  higher-order procedures)
* Reading for Friday:
  [Analyzing Procedures](../readings/analysis-reading.html)

### Extra Credit Opportunities

#### Academic 

* CS Extras Thursday: NBB on her summer REU (Android and Robots!)
* CS Table Friday: Coding Clubs
* Convocation April 22nd, Erica Lehrer '92 (Post-Conflict Memory, Ethnography)

#### Peer Support (Morning Section)

* KY's radio show, "We Think We're Funny", 9-10pm Mondays.
* Julia's radio show, "The Hot Box".  Wednesday night/Thursday morning 
  1:00-2:00 a.m.  Four lads from Liverpool.
* Host an admitted student this coming Sunday night.  Contact JMU for info.
* Salsa Showcase, 6:00 or 8:00 pm Friday, April 17 in Roberts.
* Drag Show April 18
* Heed the Senses in Bucksbaum Wed 8-11 pm (go for at least 30 minutes).
* Department of Music Voice event noon in Sebring-Lewis
* KDIC Music Festival Saturday
* Chamber Concert Saturday at 2pm in Sebring-Lewis

#### Miscellaneous

* Town hall April 23, noon or 7:30 pm, "How we have conversations."
* Sexual conduct survey: <http://tinyurl.com/GCSurvey2015>.  (Just tell
  me that you filled it out; I don't need a receipt or comments.)

### Other Good Things (no extra credit)

* Contra Dance Workshop Thursday the 16th at 7:30 pm in BCA Dance Studio.
* Contra Dance April 24 in Main Hall.

### Questions

Lab
---

For `list-remove` ...

* Recursion is probably the best way to write the procedure.
* Here are some more examples

        > (list-remove (list 3 1 4 1 5 9 2) odd?)
        '(4 2)
        > (list-remove (list 3 1 4 1 5 9 2) even?)
        '(3 1 1 5 9)

For `both` ...

* Make sure to test

        > (odd-integer? 2.3)
        #f


Debrief
-------

* Congratulations, you have learned one of the key technologies of the
  Internet: map/reduce.   Sadly, many people with BA's and BS's in CS
  didn't understand map/reduce when it was first introduced.
