CSC151.01 2015F, Class 04: Computing with Symbols and Numbers
=============================================================

_Overview_

* Preliminaries.
    * Admin.
    * Upcoming Work.
    * Extra Credit.
    * Questions.
* Debrief on Yesterday's lab.
* Lab.
* Debrief.

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

### Admin

* I'll attempt attendance while wandering around the room.
* Please grab a card to identify what computer you are on today (through
  Friday).  
    * Maps are scattered around the room.  
    * Put the card in the jar once you've read the name of the computer.
* My normal office hours are MWF 11:00-11:50.  You sign up for those at
  <https://rebelsky.youcanbook.me>.  My paperwork times are M-F, 8-9 am.
  Those are probably the best times to try to schedule alternate appointment
  times.  Check my schedule for more.  (I'll give up the occasional class prep
  time if necessary, but I prefer advance notice.)
* Mentor Review sessions Wednesday 8pm and Thursday 8pm in the CS commons.
    * Mentors usually prepare discussion questions and sample quiz questions.
* Sam review sessions Thursdays at 10am in our classroom.
    * Sam does not prepare at all, but answers almost any reasonable question.
* EG wants you to know that I have been known to phone students who don't
  show up for class.
* At 10:40, the mentors will remind me to announce the writeup problem.

### Upcoming Work

* Two readings for Friday:
  [Design and Color](../readings/design-and-color-reading.html) and
  [RGB Colors](../readings/rgb-early-reading.html)
* [Assignment 2](../assignments/assignment.02.html) is ready.  Your
  assignment partner is the person (or people) at the same computer
  as you.
    * I will take questions on the assignment at the start of class 
      on Friday and Monday.
* Quiz Friday!  
    * 10 minutes.  
    * Topics: 
        * The parts of an algorithm.  
        * The form of Scheme expressions.
        * Arithmetic operations in Scheme.
    * Sample forms of questions
        * Given *this algorithm*, identify *these parts*.
        * What output will I get for *this Scheme code*?
  
### Extra Credit Opportunities

#### Academic

* Tuesday, noon, CS Table, JRC 224C.  Topic TBD.

#### Peer Support

* Pals of PALS, pals@grinnell.edu, normally Saturday at 1:30
  and Mondays at 4:45.  Requires sign up in advance.
* Pun Club, Saturdays, 4pm, Way over Younker
* Orchestra September 25 or something like that

### Questions

Debrief from Day 1 of Scheme
----------------------------

_How do you know if the square root procedure behaved properly?_

> Ask scheme to multiply it.

> Use a different device.

> Sam says "Always ask yourself 'is this the right answer?' 'how do I know?'
  'how can I check?'

_What were some things you discovered about Scheme?_

* In the DrRacket development environment, we have two panes: Interactions
  and Definitions.
    * Definitions are for more permanent things (e.g., definitions)
    * Interactions are for interactive experimentation
* History - ctrl-uparrow and ctrl-downarrow
* You can't use a name unless you've defined it, and you must get the
  name just right.
* If you don't click "Run", you don't get the latest definitions from the
  definitions pane, but DrRacket puts a big yellow warning to let you know
  that.
* In Scheme, we write expressions as (FUNCTION PARAM1 PARAM2) as opposed
  to the tradition of FUNCTION(PARAM1,PARAM2)
* Scheme has a lot of built-in operations, but not everything you'd
  expect.

Lab
---

A tip from your helpful mentors: Copy and paste in to definitions, and then
"comment out".

A tip from your helpful mentors: Save early and often!

A tip from your helpful mentors: Cite us!

### Writeup

* Do problem 2f
* Email subject: "CSC 151 Lab Writeup Day 4 (Your Names)"
* Email recipient grader-151-01@cs.grinnell.edu
    * Don't forget the cs!
    * Due before class on Monday, but do it today if you can.

Subject: 

Debrief
-------
