CSC151.01 2015S, Class 30: Other Forms of List Recursion
========================================================

* NEW partners!

_Overview_

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

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

### Admin

* Friday the 13th falls on Friday this week.  Be careful!
* Review sessions 9am, 1:15pm, and 8:00pm Thursday.
    * I can answer general exam questions in the daytime sessions.
* Office hours again mostly normal (MTWF 10:00 plus afternoons).
    * <http://rebelsky.youcanbook.me>
* "How do you get down off an elephant?  You don't.  You get down
  off a duck."

### Upcoming Work

* [Exam 2](../assignments/exam.02.html).
    * Electronic version due 10:30 p.m. Thursday the 12th.
    * Epilogue due 11:00 p.m. on Thursday the 12th.
    * Printed version due start of class on Friday the 13th.
    * Exceptions made for people undergoing too much work or too
      much outside stress.
* Reading for Friday: 
    * [Numeric Recursion](../readings/numeric-recursion-reading.html)
* Quiz Friday!

### Extra Credit Opportunities

#### Academic 

* CANCELLED: Town Hall on Town Halls, noon or 7:30 p.m. today
* Amy Johnson '85 concert tonight at 7:30 p.m. in Herrick.
* CS Table Friday - Debrief from Tapia Celebration of Diversity in Computing
* Post-break: April 1 Scholars Convocation on Implicit Bias.
* 7:30 p.m. on April 2: Gender as a Process.  EE talks afterwards

#### Peer Support (Afternoon Section)

* Belly Dancing Club Wednesday, 7-8 p.m. in Bucksbaum Dance Studio

#### Other Fun Activities

* Julia's radio show, "The Hot Box".  Wednesday night/Thursday morning 
  1:00-2:00 a.m.  THAT'S TONIGHT.

### Questions

_Can you help me think about the tests in problem 6?_

> You will need to write tests that use particular colors, colors which
  you will normally create with `irgb`.

> Your main check is "Did `irgb-classify` classify it correctly?"

> For example

        (define irgb-classify-tests
          (test-suite "Tests of irgb-classify"
            (test-case "tests of greenish colors"
                       (check-equal? (irgb-classify (irgb 200 201 200))
                                     'greenish
                                     "large, close, values; red=blue; green dominates"))
            (test-case "tests of reddish colors"
             )))

_How many check-equal? calls are enough?_

> Minimum of 12.  Maximum of 32,781.  But closer to 12 is fine.

_Do I have to write 6P-style documentation for `irgb-classify` or
 `irgb-classify-tests`?_

> No.

_I'm getting a weird "quark" error in problem 8.  Can you tell me why?_

> You are probably generating a y value outside of the valid range. 
  Try generating the list of y values and scanning it for negative numbers
  or values greater than height-1.

> Computers are sentient and malicious.

Lab
---

_If I try to model `largest` on a procedure from the reading, what
 procedure should that be?_

> I like `drawings-leftmost`.

_Do we have a daily lab pun?_

> You can rename `irgb-all-bright?` to `irgb-secretary-of-state?`

