EBoard 12: Pair programming (Section 1)

Please follow the standard start-of-class routine.

Warning! You are being recorded (and transcribed) (provided the technology is working correctly).

Approximate overview

  • Quiz
  • Administrative stuff
  • Background on today’s class
  • An Exercise
  • Debrief of readings

Administrative stuff

Introductory Notes

  • Happy Family Weekend. Don’t be sad if your family isn’t here, but please enjoy them if they are.
  • Note that Scamper is now at 4.5.0. If that’s not what you’re running when you work on the mini-project, you may encounter some issues.
    • You may also encounter issues due to the switch from 4.4.0 to 4.5.0.

Some notes on token events

  • Only those events I list count for tokens.
  • The “peer support” events do not count if you are one of the peers being supported (e.g., a singer in Singers, a player on a team).
  • Please reflect; don’t just report.
  • Please try to get these in promptly.
  • There’s a limit of three per type of activity (with an exception for mentor sessions).

Upcoming activities

Scholarly

  • Tuesday, 29 September 2026, Noon–1:00 p.m., JRC 224C (I think). CS Table: Open-source software New
    • Sam will forward email with readings.
  • Wednesday, 30 September 2026, 8:00–9:30 p.m., HSSC A2231. Reading as a Way of Life New
  • Thursday, 1 October 2026, 11:00 a.m.–Noon, JRC 101. Scholars’ Convocation: Christian Flemm: Medium Intimacy New
  • Friday, 2 October 2026, 4:15–4:45 p.m., HSSC A1231 (the Kernel). Cory McCarten ‘19: What Math and Data Can (and Cannot) Tell us about Gerymandering and Voting Rights New
  • Friday, 2 October 2026, 5:30–7:30 p.m., Weingart Pavilion. Pioneer Weekend Kickoff New

Artistic/Cultural

  • Any day. Visit the GCMOA for at least 30 minutes.
  • Friday, 25 September 2026, 7:30–9:00 p.m., Sebring-Lewis. Jazz Ensemble: Terry Riley’s “In C”
  • Saturday, 25 September 2026, 2:00–3:30 p.m., Sebring-Lewis. Grinnell Symphony Orchestra Concert
  • Saturday, 26 September 2026, 7:30–9:00 p.m., Sebring-Lewis. Grinnell Singers: My Heart Be Brave
  • Thursday, 1 October 2026, 4:00–5:30 p.m., HSSC S1325. Writers@Grinnell presents a conversation with Poet Maggie Millner New
  • Thursday, 1 October 2026, 4:15–5:30 p.m., GCMOA. Johnnie Chatman: The Artist as Researcher New
  • Thursday, 1 October 2026, 4:00–5:30 p.m., HSSC A2231. Writers@Grinnell presents a reading by Poet Maggie Millner New
  • Friday, 2 October 2026, 7:00 p.m., Wall Theatre. Neverland Players New
  • Saturday, 3 October 2026, 2:30 p.m., Wall Theatre. Neverland Players New
  • Saturday, 3 October 2026, 7:00 p.m., Wall Theatre. Neverland Players New
  • Sunday, 4 October 2026, 2:30 p.m., Wall Theatre. Neverland Players New

Multicultural

  • Friday, 25 September 2026, 4:10–5:00 p.m., HSSC N1170. Middle of Everywhere (Singapore)
  • Friday, 2 October 2026, 4:10–5:00 p.m., HSSC N1170 Middle of Everywhere (Somewhere)

Peer

Musical, theatric, sporting, academic, and similar events involving this section’s students are welcome.

  • Saturday, 26 September 2026, 11:00 a.m.–1:00 p.m., Springer Field. Soccer vs. Ripon
  • Saturday, 26 September 2026, 1:00–4:00 p.m., Rosenbloom Field. Football vs. Beloit

Wellness

  • Friday, 25 September 2026, 6:30–8:00 p.m., Bear Dance Studio. Brazilian Jiu-Jitsu
  • Monday, 28 September 2026, 6:30–8:00 p.m., Bear Dance Studio. Brazilian Jiu-Jitsu
  • Monday, 28 September 2026, 8:00–9:00 p.m., Prayer Garage. Meditation Group
  • Tuesday, 29 September 2026, 4:30–6:00 p.m., Bear P103. Wellness Yoga
  • Wednesday, 30 September 2026, 4:15–5:45 p.m., Undisclosed Location. Forest Bathing
  • Wednesday, 30 September 2026, 6:30–8:00 p.m., Bear Dance Studio. Brazilian Jiu-Jitsu
  • Saturday, 10 October 2026, All Day, Somewhere. Mental Health Training.
    • Sign up on Handshake.
    • It’s all day, so you will earn 3 tokens.

Misc

  • Friday, 25 September 2026, 5:00 p.m.–???, Merrill Park West. CS Picnic
    • I don’t know about the rain plans.
  • Wednesday, 30 September 2026, 8:00–9:00 p.m., Science 3820. Mentor Session
  • Thursday, 1 October 2026, 8:00–9:00 p.m., Science 3820. Mentor Session
  • Thursday, 1 October 2026, 4:00–5:30 p.m., CS Commons. Matcha and Milk Study Break New

Other good things

These do not earn tokens, but are worth your consideration.

  • Tuesday, 29 September 2026, 4:00–6:00 p.m., Springer Field. Women’s Soccer vs. ??? New
  • Wednesday, 30 September 2026, 4:00–6:00 p.m., Springer Field. Men’s Soccer vs. Luther College New

Upcoming work

Friday PSA

  • Please take care of yourselves.
  • Moderation is good in everything (except quizzes)
  • Consent is essential (and insufficient) (and impossible while impaired)

Questions

Administrative questions

When else can I take a quiz?

Section 2 takes quizzes from 10:30–11:30.

Section 3 takes quizzes from 3:30–4:30.

Was the Web site down at 3 a.m.?

Go to sleep!

Where is Sam’s office?

Science 2806.

Take the Northwest stairs to the second floor. When you exit the stairwell, turn left. My office is the first door on the left.

Alternately: I’m west of Kistle (last door on the right before the stairwell).

Why do we use Scamper at Grinnell, rather than a more robust implementation of Scheme, like DrRacket?

We appreciate the opportunity to add features to Scamper, such as the tracer. (More are coming in the future.)

MP2 questions

Why is Scamper complaining that l-s and r-s are re-defined?

They weren’t in Scamper 4.4.0, so I added them to the starter code.

They are now in Scamper 4.5.0, so it complains. You can remove them.

There are some claims that rgb can take numbers outside the range 0..255. Is that really the case?

It used to be, but it no longer seems to be the case.

You can add the following to your code and use rgb instead?

;;; (component n) -> integer?
;;;   n : number?
;;; Restricts a number to an RGB component
;;; (that is, an integer between 0 and 255)
(define component
  (lambda (n)
    (round (max 0 (min 255 n)))))

;;; (rgb2 r g b) -> rgb?
;;;   r : number?
;;;   g : number?
;;;   b : number?
;;; Creates an RGB color.  If any of the components
;;; are outside the valid range, caps them below at
;;; zero and above at 255.
(define rgb2
  (lambda (r g b)
    (rgb (component r)
         (component g)
         (component b))))

Background

  • Today is our “talk about pair programming” day.
  • In our experience, partnering works imperfectly.
    • Some students tend to dominate and are impatient with their partners.
    • Some students feel like they don’t know enough and don’t want to “hold their partner back”.
  • We use this day to help make partnering better.
  • We will return to these issues throughout the semester.

An exercise

I do not record the initial steps of the exercise.

TPS:

  • 1 min: Think to yourself for a minute. What did you hear? What would you like to talk about? What made you optimistic? What surprised you? What worried you?
  • 3 min: Talk to your partner about it
  • n min: Full class consideration

What do you want to talk about?

  • There are people who come in to the class very confident with their abilities, which can make others much less confident.
    • Remember that it’s a new language for everyone.
    • Modify the curriculum to make it hard for everyone (Welcome to cut, compose, and section.)
    • If you have prior experience, please be humble about it. We are all learning.
    • If you don’t have prior experience, accept that it may take you a bit longer to learn things.
  • It can be socially hard to find a new partner. (It doesn’t feel socially right to ask people to switch partners.)
    • Note: Reading #3 suggests that partnering with your friends often creates less success.
    • It can be hard to tell someone that they are being disrespectful and rude. (Tell your mentor or Sam; we’ll chat with them.)
      • Self-Gov suggests you have a responsibility to help them become better.
  • There are things that make us happy: The professor and mentor are there to support us and are aware that things happen.
  • Stealing the keyboard seems to have been very impactful. Why?
    • Implies a lack of ability.
    • People can be very aggressive these days.
    • Be helpful; don’t just snatch things away
  • Remember that your goal is to be helpful.

Reading Reflections

What are the key points from the readings? (TPS)

Pair Programming

  • The rubber plant / rubber duck / plast squirrel effect: Explain what you’re doing to others also helps you. Explaining to a real person is even more helpful.

Couch Potatoes and Hitchhikers

Diverse Teams

  • Value of having groups with different skills.