CSC151.02 2016S, Class 53: Project Assessment: Images
=====================================================

* Sit with your project team.

_Overview_

* Preliminaries.
    * Admin.
    * Upcoming Work.
    * Extra Credit.
    * Questions.
* Reviewing images: The "big picture".
* Reviewing images: Procedures for doing individual images.
* Image review.
* Debrief, if appropriate.

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

### Admin

* I will continue to bring you food (or food-like substances) until I am 
  caught up on grading (or the last day of the semester, whichever comes
  first).
    * Today: Cookies.
* You should have received a graded exam 3 from me last night.  I'm continuing
  to work on grading.
* Welcome to our guest speaker!

### Reminders

* Office hours this week 
    * See <http://rebelsky.youcanbook.me>.
    * Ask me about other available times.
* Tutor hours
    * Sunday, 3-5 p.m.
    * Sunday-Thursday, 7-10 p.m.
* Review Sessions
    * Wednesday at 8pm in CS commons with Evan
    * Thursday at 10 am with SamR
    * Thursday at 8pm in CS commons with Kumar

### Upcoming Work:

* I have posted a [sample final examination](../assignments/sample-final.html) 
  to the assignments page.
* No more readings!
* No more lab writeups!
* No more quizzes!
* [Exam 4](../assignments/exam.04.html) due tomorrow night!
    * [Epilogue](http://bit.ly/151-2016S-exam4epi) due tomorrow night!

### Extra Credit

* Send your reports to <rebelsky@grinnell.edu> with subject 
  "CSC 151 Extra Credit".  (Do not include the quotation marks.)
* Send opportunities to me before class with subject
  "CSC 151 EXTRA CREDIT OPPORTUNITY!"

#### Academic / Artistic

* Finals week's *Inside Grinnell*.  Tuesday, May 17 at noon in JRC 101.
  Food served.

#### Peer

* Humans of Grinnell College on Facebook.
* May 13, NC and company at Prairie Canary.
* May 14 improv workshops 1-6pm, Show 7:15-10:15 in Gardner lounge.

#### Regular Peer 

* Social Dance Workshop Tuesdays 7:00-8:00 in Bucksbaum Dance Studio
* Post-break ExCo on British Politics Wednesdays at 8:00 in JRC 203.  
  Just show up; you don't need to sign up.
* Pun club Saturdays at 4pm in Younker 
* Electronic Potpourri on KDIC Fridays at Five 
* Space Odyssey KDIC Fridays at Six
* Effective Altruism club, 2:30-3:30 Sundays in JRC 226.

#### Misc

### Questions

_Is there a reason you gave us `avec-set!` and `avec-get`?_

> Mostly to help you think about recursion over association vectors.  You
  will not use them directly in your solution.

_In solving problems 1 and 2, should we use the `$cons` idea from exercise 2 on [the lab on analyzing procedures](../labs/analysis-lab.html)._

> Yes.  Here's the important code.

	(define car-counter (counter-new "car"))
	(define cdr-counter (counter-new "cdr"))
	(define cons-counter (counter-new "cons"))
	(define null?-counter (counter-new "null?"))

	(define $car
	  (lambda (lst)
	    (counter-count! car-counter)
	    (car lst)))
	(define $cdr
	  (lambda (lst)
	    (counter-count! cdr-counter)
	    (cdr lst)))
	(define $cons
	  (lambda (val lst)
	    (counter-count! cons-counter)
	    (cons val lst)))
	(define $null?
	  (lambda (val)
	    (counter-count! null?-counter)
	    (null? val)))

_I seem to have `null`'s in the middle of my vector on problem 2._

> Then you probably need to shift values down to fill those in.  A
  separate helper may be useful.

> You do not have to use this strategy; There are other ways to solve 
  this that are more efficient.

_Should we insert comments to explain what our code is doing?_

> Sure.  

_Do you have hints on working on problem 3?_

> The types of the parameters should be obvious.  (Look at how they are
  used.)

> When you plug in appropriate sample values, you'll see what the procedure
  does.

> Some careful thought should explain what `indiana` does.

> I'd suggest making `wisconsin` a separate procedure so that you can
  experiment with it.

_Why can't I just use `read` for problem 4?_

> Because `read` reads too much.  See my sample file.

        > (define source (open-input-file "/home/rebelsky/Desktop/morewords.txt"))
        > (read source)
        'SamR
        > (symbol->string 'SamR)
        "SamR"
        > (read source)
        '(who often writes parenthetical remarks)

_How do we convert characters to strings?_

> Read the [reference page](../reference/string-reference.html).

_How much extra credit have we accumulated on this exam?_

> Five points, so far.

Reviewing images: The "big picture"
-----------------------------------

* We will look at each group's work in turn.  After we have examined
  the work of one group, we will turn to the next group.
* Next class we will look at code.  If there's a group doing something
  you find particularly interesting, make note!

Reviewing images: Procedures for doing individual images
------------------------------------------------------

*Normal procedures.*

* We will look at the images in the series.
* Our guest will critique and ask questions.
* I will ask someone to identify important design elements in the series.
* I will ask someone to say something positive about the series.
* I will ask someone to suggest an improvement.
* The group will give an "artist's statement".
* The group will select the next set of images.

*Updated procedures.*

* We will look at the images in the series.
* The group will give an "artist's statement" about issues they were
  trying to achieve.
* Our guest will critique and ask questions.
* I will ask someone to identify important design elements in the series.
* I will ask someone to say something positive about the series.
* I will ask someone to suggest an improvement.
* The group will select the next set of images.

Image review
------------

Debrief, if appropriate
-----------------------

