EBoard 12: Pair programming (Section 3)

Please follow the standard start-of-class routine.

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

Approximate overview

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

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 forwarded 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, 8:00–9: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 (IPOP mentors)
  • 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. It sounds like it will still be outside.
  • 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 1 takes quizzes from 7:30–8:30.

Section 2 takes quizzes from 10:30–11: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.)

Can you overspend tokens?

Yes, but Sam is worse than Mastercard. Each two overspent tokens reduce your grade by 1/3 of a letter. However, you can catch up by the end of the semester.

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 from the starter code.

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.

I also turn off the recording.

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?

  • Many of the cards were negative. Is that representative?
    • They aren’t representative; most people have a positive experience. Still, it’s helpful to think about and talk through some of the negative experiences.
    • There also many positive experiences, especially when you have a more experienced (or more successful) partner who understands the value of helping.
  • Pair programming (or group work) is new to some of us
    • Talking exercises a different part of your brain than just reading and writing (or coding), so you are often more successful working in a pair.
    • Working with people who are different than you helps you learn differently.
    • When you work with someone too long, you start to develop blind spots. (One of the reasons Sam rotates partners.)
  • A positive: It’s nice to meet new people and work with them. (See above.)

Reading Reflections

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

Pair Programming

  • Talking about problems exercises different parts of your brain. Talking about coding challenges with humans is better.

Couch Potatoes and Hitchhikers

Diverse Teams

Quizzes