---
title: Eboard 20  Other forms of list recursion
number: 20
section: eboards
held: 2017-10-09
---
CSC 151.03, Class 20:  Other forms of list recursion
====================================================

_Overview_

* Preliminaries
    * Notes and news
    * Upcoming work
    * Extra credit
    * Questions
* Problem 6 from Friday's lab
* DrRacket tips and tricks
* Reading summary
* Lab
* Debrief (?)

### News / Etc.

* I have not received all grades from the graders.  I have not finished
  my own grading for CSC 151.  I brought food instead.  I should have
  some grades on Wednesday.
* "Is it normal to need to ask questions on the exam?"  Yes.
* "I feel like I'm asking a lot."  Some folks ask a lot.  Others don't.
  Don't stress.
* "Can you talk about cool DrRacket tricks?"  I'm not sure that any of
  them are cool, but I'll go over the ones that come to mind.

### Upcoming Work

* [Writeup for class 19](../writeups/writeup19) due TODAY at 10:30 p.m.
    * Exercise 4
    * To: <csc151-03-grader@grinnell.edu>
    * Subject: CSC 151.03 Writeup 19 (YOUR NAMES)
* [Writeup for class 20](../writeups/writeup20) due Wenesday at 10:30 p.m.
    * Exercise 4 (no documentation necessary)
    * To: <csc151-03-grader@grinnell.edu>
    * Subject: CSC 151.03 Writeup 20 (YOUR NAMES)
* Exam 2 due Tuesday at 10:30 p.m..
* Exam 2 cover sheets due Wednesday at the start of class
* Exam 2 epilogue due Wednesday at 10:30 p.m.

### Extra credit (Academic/Artistic)

* Aspen Trio on Wednesday at 7:30 p.m.

### Extra credit (Peer)

### Extra credit (Misc)

### Other good things

* Volleyball vs. U. Dubuque Tuesday at 7:00 p.m.

### Questions

What's the time limit on extra credit?
  : A few days.
  : But I have been known to take them a month late.
  : I wouldn't recommend pushing your luck.  Strive for soon.

Problem 6 from Friday's lab
---------------------------

```
(define furthest-from-zero-alt
  (lambda (numbers)
    (display (list 'furthest-from-zero-alt numbers)) (newline)
    (if (null? (cdr numbers))
        (car numbers)
        (if (>= (abs (car numbers)) 
                (abs (furthest-from-zero-alt (cdr numbers))))
            (car numbers)
            (furthest-from-zero-alt (cdr numbers))))))
```

Solution?

```
(define furthest-from-zero-alt
  (lambda (numbers)
    (display (list 'furthest-from-zero-alt numbers)) (newline)
    (if (null? (cdr numbers))
        (car numbers)
        (let ([result-from-magic-recursion-fairy
               (furthest-from-zero-alt (cdr numbers))])
          (if (>= (abs (car numbers))
                  (abs result-from-magic-recursion-fairy))
              (car numbers)
              result-from-magic-recursion-fairy)))))
```

DrRacket tips and tricks
------------------------

_See [the handout](../handouts/drracket-tips)._

Reading summary
---------------

_Skipped._

Lab
---

Writeup: Exercise 4, no documentation.

Debrief
-------

_Skipped._

