---
title: Eboard 38  Project presentations
number: 38
section: eboards
held: 2019-05-06
link: true
current: true
---
CSC 151 2019S, Class 38:  Project presentations
===============================================

_Overview_

* Preliminaries
    * Notes and news
    * Upcoming work
    * Extra credit
    * Questions
* Lightning presentations

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

### News / Etc.

* Apologies: I forgot the birthday cake.  We'll sing happy birthday
  anyway.
* While we do not have labs or readings for this week, you are expected 
  to show up to class all week.
* Some of you did not send me stuff for your presentation.  We may
  need to spend some time on setup.

### Upcoming work

* No more readings.
* No more lab writeups.
* No more quizzes.
* No more flashcards.
* [Exam 3](../exams/exam03) due **Tomorrow**

### Extra Credit

_I would certainly appreciate suggestions of other extra credit activities
(preferably via email)._

#### Extra credit (Academic/Artistic)

* Gridshock documentary, 7pm, Wednesday, Strand
* CS Table Tomorrow, noon, Middle PDR, Esoteric Algorithms

#### Extra credit (Peer)

* Choreography performances: Wednesday, 4:30 p.m. Flanagan Theatre
* Voice Recital, 7:30 pm, May 10, in Sebring Lewis

#### Extra credit (Wellness)

#### Extra credit (Wellness, Regular)

* **Today** 30 Minutes of Mindfulness at SHAW every Monday 4:15-4:45
* Any organized exercise.
* 60 minutes of some solitary self-care activities that are unrelated to
  academics or work.  Your email reflection must explain how the activity
  contributed to your wellness.
* 60 minutes of some shared self-care activity with friends. Your email
  reflection must explain how the activity contributed to your wellness.

#### Extra credit (Misc)

### Other good things 

* Digital Music Making class presentation, Wednesday 7:30 pm. Sebring-Lewis

### Questions

Can you talk a bit more about problem 6?

> Consider the following procedures

        (define square-all
          (lambda (lst)
            (if (null? lst)
                null
                (cons (sqr (car lst)) (square-all (cdr lst))))))

        (define double-all
          (lambda (lst)
            (if (null? lst)
                null
                (cons (* 2 (car lst)) (double-all (cdr lst))))))

> We see a common form

        (define something-all
          (lambda (lst something)
            (if (null? lst)
                null
                (cons (something (car lst)) (something-all (cdr lst) something)))))

> We can redefine in terms of the common form

        (define double-all
          (lambda (lst)
            (something-all lst (section * <> 2))))

> Let's look at three other procedures

        (define sum
          (lambda (lst)
            (if (null? lst)
                0
                (+ (car lst) (sum (cdr lst))))))

        (define select-odd
          (lambda (lst)
            (if (null? list)
                null
                (if (odd? (car lst))
                    (cons (car lst)
                          (select-odd (cdr lst)))
                    (select-odd (cdr lst))))))

> Identify the common part

        (define recursive-fun
          (lambda (lst base-value combine)
            (if (null? lst)
                base-value
                (combine (car lst) (recursive-fun (cdr lst) base-value combine)))))

> Redefine

        (define sum
          (lambda (lst)
            (recursive-fun lst 0 +)))

        (define select-odd
          (lambda (lst)
            (recursive-fun lst null
                           (lambda (val lst2)
                              (if (odd? val)
                                  (cons val lst2)
                                  lst2)))))

Lightning presentations
-----------------------

