---
title: Eboard 09  Debugging
number: 9
section: eboards
held: 2018-02-09
link: true
---
CSC 151.01, Class 09:  Debugging
================================

_Overview_

* Preliminaries
    * Notes and news
    * Upcoming work
    * Extra credit
    * Friday PSA
    * Questions
* Quiz
* BAC
* A bit about debugging
* Lab
* Debrief

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

### News / Etc.

* New partners!
* Please ask questions early!  (Particularly on the exam.)

### Upcoming work

* [Exam 1](../assignments/exam01) due Tuesday at 10:30 pm.
    * Prologue due TONIGHT!
    * Exam due Tuesday night in electronic form.
    * Cover sheet due in class on Wednesday
    * Epilogue due Wednesday
* [Lab writeup for class 9](../writeups/writeup09), due before class Monday.
    * Exercise 2f.  (May require lab reload.)
    * "CSC 151.01 Writeup for Class 9 (Your Name)"
    * Mail to <csc151-01-grader@grinnell.edu>
* Readings due before class Monday
    * [Heterogeneous lists](../readings/heterogeneous-lists)
    * [Representing tables](../readings/tables)

### Extra credit (Academic/Artistic)

* Saturday at 11am: MET broadcast of _L'Elisir D'Amore_.
* Visit the two exhibits at the Faulconer Gallery.
* Tuesday, Feb. 13 at 7pm in JRC 209: _Creating Solutions with Design 
  Thinking Tools_.  Join CEO and Founder of Human Centered Innovation,
  Megan Goering ’08, to learn specific strategies of human centered
  design that will help take your problem solving ideas to the next level.
* Wednesday, Feb. 14 at 4:15 p.m. in 3821: Cool CS Alumni talk about life
  and career after Grinnell.

### Extra credit (Peer)

* Listen to KDIC Wednesdays at 6pm - Witty banter with co-host and 
  Indian, Arabic,
  and Farsi music.  (Up to two units of extra credit.)
* TONIGHT at 8pm, Contra Club Dance in Younker Lounge 1st
* Peer editing with SS.  Talk to SS about the details.
* Wednesday (February 14th), the Langan CAs will be co-hosting an event with 
  SHIC about sex positivity and SHIC resources. The event will most likely 
  take place 8:30-9:30pm in Langan first lounge.

### Extra credit (Misc)

### Other good things

* Saturday night concert, 7:30 pm, Rathje 3rd

### Friday PSA

* Not everyone drinks on campus.  Feel free not to drink.
* If you do drink, drink in an appropriate way (for pleasure,
  not for passing out)
* Consent is absolutely necessary.
* Think *in advance* about what is reasonable for you this
  weekend.

### Questions

[Attempt to ask about problem 2 in such a way that others could learn a solution.]
  : Nope.

I had that question, too.  Can I email it to you?
  : Yes.

For problem 6, do the lower and upper bounds have to exist in the list?
  : Nope.  But you should know a strategy for getting around that.
  : Hint: When we did the second "remove negative", you had to
    deal with the situation in which there was not necessarily a  zero in the list.  This *should be* similar.

Could you explain "inclusive" in that situation?
  : Suppose we used 5 as the lower bound and 11 as the upper bound.  Your result needs to include classes of size 5, 6, 7, 8, 9, 10, and 11.  Your procedure also needs to work even if there isn't a class of size 5 or a class of size 11.

Will we get partial credit if it only works when there are courses of the minimum and maximum size?
  : Certainly.  If everything else is correct, you'll probably get at 8/10.

What if we write mediocre documentation?
  : You lose points.
  : It's a learning experience.
  : I'll be comparatively generous on the first exam.

Can I modify the procedures I was provided?
  : I would prefer that you write new ones.

Quiz
----

* When you are finished, flip over your sheet, put down your
  pen, and relish the opportunity to have a few minutes of
  quiet meditation.
* Sorry for interrupting your quiet meditation with an
  announcement.
    * And my typing.
    * And my bad jokes.

BAC Cards
---------

* These will go around the room while we start the lab 
  (or talk about debugging)

A bit about debugging
---------------------

* You will write incorrect code.  Often.
    * Even if you program for thirty years.
* So we need strategies (and software?) that help us figure
  out what is wrong.
* I like to work out code "by hand"
* The debugger also lets you work out code.

Lab
---

* Do [the lab](../labs/debugging)
* Be prepared to debrief.
* Note: We should have used `check-=` rather than `check-equal?`.
* Writeup: 2f.  Please reload the lab to see 2f.

Debrief
-------

* Yes, it's a challenge.
* But it's another skill that's good to develop.
