CSC151.01 2015S, Class 25: Recursion Basics, Continued
======================================================

* Continue partners.

_Overview_

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

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

### Admin

*I did not take time last week to condemn the postings on Yik Yak
because I thought the president's statement sufficed.  But it sounds
like individual voices are necessary, too.  And, as a technologist,
I have particular responsibility to comment in this case.  So I should
have done so more promptly.  I apologize for the delay, particularly
because this issue is very important to me.*

**Let me make it absolutely clear.  Use of any medium - social,
physical, virtual - to denigrate other people for their characteristics
is completely unacceptable.  I have updated our course front door to
clarify this perspective.  (If you have comments on how to better phrase
my policy, I would appreciate them.)**

* Thank you for your responses to the prospective students and to the
  Dean yesterday.
* No daytime review sessions on Thursday.  Evening review session at 8:00.
* Office hours today at 10:00 a.m. and 3:15-4:30.
    * <http://rebelsky.youcanbook.me>

### Upcoming Work

* [Homework 6](../assignments/assignment.06.html).
    * Optional!  Replaces lowest homework grade.
    * Due tonight at 10:30 p.m.
    * If you don't do the homework, promise to get two hours of extra rest.
      (No message necessary.)
    * I will distribute an answer key to the homework by Sunday night.
* Exam 2 released at 5:00 p.m. today.  Due 10:30 p.m. Thursday the 12th.
* Reading for Wednesday: 
    * [Verifying Preconditions](../readings/verifying-preconditions-reading.html)
* Friday's quiz: Pictures!
    * No, you don't have to get everyone.  About 85% correct will earn you
      full credit.
    * Doing better than me will also earn you extra credit.

### Extra Credit Opportunities

#### Academic 

* Any of the disability activities this week.
* David Berliner lecture Thursday at 7:00 p.m. in Harris.
* CS Table Friday - Unknown topic.
* Town Hall on Town Halls, noon or 7:30 p.m. on March 11.
* Post-break: April 1 Scholars Convocation on Implicit Bias.

#### Peer Support (Morning Section)

* Julia's radio show, "The Hot Box".  Wednesday night/Thursday morning 
  1:00-2:00 a.m.  
* Orchestra Saturday at 2 p.m. in Sebring-Lewis: Musicals, Show Tunes,
  and Soloists.

#### Miscellaneous (Extra Credit)

* Fill out the American College Health Association's National College Health
  Assessment survey.  (Yes, your response can be "I filled out the survey.")

### Other Good Things (No Extra Credit)

* Tour Flanagan Theatre to see how it has been transformed for
  _Nobody Gets Hurt_.
* Learn who Hallie Flanagan was.

### Questions

_How should we ask whether a list has one element?_

> `(null? (cdr lst))`

> Or `(and (not (null? lst)) (null? (cdr lst)))`

> Do not use `(= 1 (length lst))`!

_When will we get the quizzes back?_

> Wednesday, I hope.  Otherwise Monday.

Lab
---

One of our mentors wants you to solve the last extra problem because
he/she/zi could not.

Terminology: The typical model has "this is what you do most of the time"
and "this is what you do when the input is really simple" (e.g., singleton
list or empty list).  These are the *recursive case* and *base case*,
respectively.

You'll find that recursion is one of those cases in which the computer
is more dense than normal.  "Add 1" (to what?) "Add 0" (to what?)

