CSC151.02 2016S, Class 41: Project Kickoff
==========================================

_Overview_

* Preliminaries.
    * Admin.
    * Upcoming Work.
    * Extra Credit.
    * Questions.
* About the project, revisited.
* Group composition.
* Time to form groups.
* Playing and brainstorming.

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

### Admin

* New partners.
* I will continue to bring you food (or food-like substances) until I am 
  caught up on grading.  (You may be getting food until you graduate from
  Grinnell.)
* I will need to leave promptly at 3:50 for a faculty meeting.

### 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 Zachary
    * Thursday at noon with SamR 
    * Thursday at 8pm in CS commons with Alex
    * None with Sam this week

### Upcoming Work:

* Reading for Tuesday
    * Reading: [Binary Trees](../readings/binary-trees-reading.html)
* No Lab Writeup!
* HW Due Tuesday 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

* Any of the fora on the report from the Residential Learning Task Force.
  (Formal announcement and times forthcoming.)
* "The Politics of Naming and Shaming: Human Rights Organizations and Reporting", Tuesday, April 19, 4pm ARH 102
* Build Your Own University, Wednesday, April 20, 1-3pm, Masons Building
* Math/Stats Student Seminar, Eliz Eason and Jun Take Lee: Cascades and Multifractals - noon, Thursday, April 21
* Classics Seminar with Really Cool Alum, April 21, JRC 101, 4:15 pm
* Presentation, Statistical Modeling in Genome-Wide Association Studies: Identifying Disease-associated Genes Using Gene Pathways", Thursday, April 21, 4:15 p.m., ARH 102
* Sharon Day, Environment and more, Friday at 7 pm (more details forthcoming)
* Scholars' Convocation: Dutch Global Horizons, Thursday, April 28, 11 am, JRC 101
* Damon Williams: Bigger Than The Cops, April 28, 4pm or 5:15 pm

#### Peer

* Lords of the Flies, 7:30 pm April 22nd, 2:00 pm April 23rd, 2:00 9pm April 24th.  (Only 50-60 tickets per show)
* Second Annual Contra into Spring Dance, April 22nd, Main Quad, 7:30 p.m.
  Free sticky food!
* R&B Soul in Herrick at 7pm
* Drag, Saturday.  Bring money to give to the performers to give to charity.

#### 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
* Bollywood, Fridays, 7:30-8:30, Younker
* Effective Altruism club, 2:30-3:30 Sundays in JRC 226.

#### Misc

#### Not so Far in the Future

* Adaptation of Rushdie's East West.  May 5 and 6.
* May 6: 24 hours of Improv.  (Show up for 30 minutes for EC; CB needs
  to go to all 24 hours for EC.)
* Is anyone in 25th Annual Putnam County Spelling Bee?

### Questions

_Can we talk our way through number three._

> What is the problem?  Draw a snowflake-like object.

> Inputs: turtle, side-length, number-of-sides, depth 

> Depth: How many sizes of shapes to make

> This is a recursive task.  We made the side length smaller at every
  step.  But we can also think about this as recursing over depth.

> What's your base case?

> One possible base case: 1 deep

        repeat sides times
          move forward by side length
          turn counter-clockwise by the approriate angle (90 degrees
            for a square)

> Recursive case

        repeat side times
          move forward by side length
          RECURSE
          turn counter-clockwise by the appropriate angle

> Problem:  Let's try it.  

> Observation: It looks like we need to keep track of whether we
  are rotating clockwise or counter clockwise.  The recursive call
  is in the opposite direction.

> Suggestion: Helper (local) that keeps track of level, side length,
  and clockwise/counter-clockwise.

_Do we really need both iteration (`repeat`) and recursion to solve this?_

> It works best that way.

_Is 1 really the best base case?_

> No.  Use 0 as the base case.  Do nothing in that case.

        (cond
          [(zero? depth)]
          [else
           (repeat ...
                   ...)])

About the project, revisited
----------------------------

* Make a program that makes 1000 "interesting" images
* Sam recommends that you think about this as an opportunity to explore
  an existing non-representational image in depth
* Make sure to use multiple techniques
* That scales appropraitely (without using image-scale, except if you
  start with "source images")

Group composition
-----------------

What skills will you need in your team?

* Well, like you're going to need those programming skills.
  Coder.  YELLOW.
* Someone less shallow than the typical programmer, so that the
  images have some meaning/interesting to them.  Artist. PURPLE.
* Manager.  Someone to keep the artist and coder focused on the
  requirements of the project.  Also requires organizational skills.
  GREEN.
* Devil's Advocate.  Someone to break the project, because you know
  that Sam will try.  RED

Also need skills as a whole

* Nice people, who are patient with each other.  (Done.  You are all
  Grinnellians.)
* Ability to align schedules.  (Failed.  You are all Grinnellians.)

Time to form groups
-------------------

Playing and brainstorming
-------------------------

