---
title: Eboard 41  Project presentations
number: 41
section: eboards
held: 2017-12-06
---
CSC 151.01, Class 41:  Project presentations
============================================

_Overview_

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

### News / Etc.

* I expect you all to attend class on Friday.

### Upcoming work

* [Exam 4](../exams/exam04) 
    * Exam due Thursday
    * Cover sheets due Friday
    * Epilogues due Friday
* Optional final during finals week (Wed 2pm, Thu 9am, or Fri 9am).

### Extra credit (Academic/Artistic)

* CS Extras Thursday: Summer opportunities in CS.  4:15 p.m. in Science 3821.
  Food at 4:00 in the CS Commons.
    * Handouts available for those who can't make it.

### Extra credit (Peer)

* Musical: Next to Normal Friday at 7:30, Saturday and Sunday at 2:30.
  Tickets no longer at box office.  Show up early (Roberts).

### Extra credit (Misc)

### Other good things

* Stay healthy and sane during week 14.

### Questions

Any more hints on problem 2?
  : "Trust the magic recursion fairy."  You've determined that `lst`
    is a pair.  You tally the rest with `(nested-list-tall (cdr lst) pred?)`.
    What do you do next?

Any hints on problem 4?
  : Use the debugger.
  : Follow the steps through by hand.

Can I have a more comprehensive test suite for problem 4?
  : Sure.

```
(check-equal? (next-larger 1/2 (vector 1 2 3 4 5 6)) 1)
(check-equal? (next-larger 1 (vector 1 2 3 4 5 6)) 2)
(check-equal? (next-larger 3/2 (vector 1 2 3 4 5 6)) 2)
(check-equal? (next-larger 2 (vector 1 2 3 4 5 6)) 3)
(check-equal? (next-larger 5/2 (vector 1 2 3 4 5 6)) 3)
(check-equal? (next-larger 3 (vector 1 2 3 4 5 6)) 4)
(check-equal? (next-larger 7/2 (vector 1 2 3 4 5 6)) 4)
(check-equal? (next-larger 4 (vector 1 2 3 4 5 6)) 5)
(check-equal? (next-larger 9/2 (vector 1 2 3 4 5 6)) 5)
(check-equal? (next-larger 5 (vector 1 2 3 4 5 6)) 6)
(check-equal? (next-larger 11/2 (vector 1 2 3 4 5 6)) 6)
(check-equal? (next-larger 6 (vector 1 2 3 4 5 6)) #f)
(check-equal? (next-larger 13/2 (vector 1 2 3 4 5 6)) #f)
```

Can't you write something more concise?
  : Yes.  But I thought this was clearer.

Does `nested-list-tally?` have to work correctly if the predicate is `list?`.
  : No.  It doesn't have to work for `pair?` or `null?` either.

How should I get started on problem 3?
  : Find out how big the result vector should be. (recursive helper)
  : Make a vector of that size.
  : Copy you things over (recursive helper).
    `(vector-set newvec newpos (vector-ref vec pos))`.

Do you have hints on problem 6?
  : Read the list of topics.  That should tell you what `vss!` does
    and give you a clue to the parameters.
  : Look at how `vss!` calls `ioe`.
  : Sam remembers the names of these two procedures.  That may suggest
    that they have something to do with what the procedures do.
  : Make sure to use unordered vectors when you try `vss!` and `ioe`.

Any hints on problem 5?
  : Problem 5 is incredibly straightforward.
  : Problem 5e: The helper is the way to go.  When you first call it,
    you'll call `(helper tree null)`.
  : On 5d, you've thought a bit about ordering.

About the presentations
-----------------------

* I'll use the clock.
* I realize that there will be some transition time.
* Do your best!
* Plan to take questions (and to ask questions).

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

You can volunteer or our mentors will choose
