---
title: Eboard 31  Project introduction
number: 31
section: eboards
held: 2017-11-10
---
CSC 151.01, Class 31:  Project introduction
===========================================

_Overview_

* Preliminaries
    * Notes and news
    * Upcoming work
    * Extra credit
    * Quiz 10
    * Questions
* Quiz
* About the project
* Group composition and construction
* Analysis lab
* Debrief (?)

### News / Etc.

* Welcome to our guest!
* Please try to keep the room straight.  
* Quiz 10 returned.

### Upcoming Work

* Reading for Monday: [Association lists](../readings/association-lists)
    * Yes, it's ready!
* [Writeup for class 31](../writeups/writeup31) due Monday at 10:30 p.m.
    * Exercise TBD
    * To: <csc151-01-grader@grinnell.edu>
    * Subject: CSC 151.01 Writeup 31 (YOUR NAMES)
* [Exam 3](../exams/exam03) 
    * Prologue due TONIGHT
    * Exam due Tuesday the 14th.
    * Cover pages due Wednesday the 15th.
    * Epilogues due Wednesday the 15th.

### Extra credit (Academic/Artistic)

### Extra credit (Peer)

* Voice Recital (students of Nicolas Miguel), TONIGHT, 7:30 p.m., Sebring-Lewis
* Eat at ISO food bazaar.
* Pioneer weekend walkins at 6pm today.

### Extra credit (Misc)

### Other good things

* Showvember tonight

### Quiz 10

Notes

* Did not go well.
* So we'll go over it.
* I'm now dropping the *two* lowest quiz grades in calculating your final
  grade.

Problem 1

```
(cons
  (cons 5 10)
  (list 15
        20
        (cons 25 null)))
```

See whiteboard for drawing.

```
'((5 . 10) 15 20 (25))
```

Problem 2: Find smallest in a vector.

* We're going to need a helper to keep track of position and smallest-so-far.
  We can use named let, letrec, or a separate procedure.
* By popular demand, we use named let.

```
(define smallest-in-vector
  (lambda (vec)
     (let kernel ([pos 0] 
                  [smallest-so-far (vector-ref vec 0)])
       (if (>= pos (vector-length vec))
           smallest-so-far
           (kernel (+ 1 pos) (min smallest-so-far (vector-ref vec pos)))))))
```

### Questions exam

### Question in prep for next quiz

Quiz
----

About the project
-----------------

* Do something interesting of your choice within constraints
    * New and different data set
    * Requires some processing/munging/whatever you want to call
    * With a novel algorithm that does something to help you understand 
      the data
* Literature classifier
* Text generation
* Cancer cell identification (or something similar)
* A set of tools for dealing with a data set.
* For a week from Monday: Find the data set and Write a proposal
    * Describe set
    * Describe your intended goals with the data set
        * What you think you can do
        * What would satisfice
        * Reach goal
    * Describe the algorithms you will be generating
* Time-boxed: 8-10 hours per person over two+ weeks 
* Ideal group size: 3 (or 2 or 4 or 1)

Group composition and construction
----------------------------------

* A creative person so that we don't do a really boring project.
* Big picture person
* Someone who can turn the big picture into a working program ("driver")
* Someone who can write
* Someone who can make decisions so that we don't sit there debating endlessly.
* Someone who can plan - make sure people are there (or contribute).
* Positve personality to help us through the hard times.

Sam chooses four

* Big picture
* Coder/driver
* Writer
* Leader/planner/coordinator/manager


Lab
---

Debrief
-------
