EBoard 12: Pair programming (Section 2)
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 on 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 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, 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 (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.
Men’s Soccer vs. Ripon
- Saturday, 26 September 2026, 1:00–4:00 p.m., Rosenbloom Field.
Football vs. Beloit
- Wednesday, 30 September 2026, 4:00–6:00 p.m., Springer Field.
Men’s Soccer vs. Luther College New
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
Upcoming work
- Due Sunday, 2026-09-29
- Due Tuesday, 2026-09-29
- On Friday, 2026-09-02
- NEW Quiz/LA on collaboration (identify your classmates)
- NEW Quiz/LA on lists
- MAKEUP Quiz/LA on conditionals.
- MAKEUP Quiz/LA on compose, cut, and section.
- MAKEUP Quiz/LA on tracing.
- MAKEUP Quiz/LA on decomposition.
- MAKEUP Quiz/LA on procedures.
- Due Tuesday, 2026-10-06
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 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.
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?
- “I still work with people I worked with in 151.”
- Positive: Gives you an understanding of how other people work
and who you work with.
- Observation: It’s good to challenge yourself to work with people
you don’t know.
- Most people benefit from pair programming whether or not they are at
the same skill level.
- If you feel you know more than your partner, please cooperate with them.
- You could be wrong.
- You have a responsibility to treat them well (Self Gov).
- You will learn by helping.
- Concerns about bad partners.
- It’s nice that the CS department knows and cares.
- One kind of bad partner doesn’t show up, but it’s not the only kind.
- “I should talk to my faculty member or mentor.”
- Self gov suggests that you have a responsibility to talk to them
about their behavior.
- You don’t know what’s going on in their lives; be kind.
- If they are being aggressively uncooperative, call them out (or grab
Sam or mentor).
- Some of those cases seemed very extreme.
- There are many good parts of pair programming.
Reading Reflections
What are the key points from the readings? (TPS)
Pair Programming
- Pair programming tends to produce better results
- Vocalizing ideas is important
- It’s helpful to talk through things with someone (or something).
- People are better than things, but things are still a good fallback.
Couch Potatoes and Hitchhikers
- You can deal with the hitchhikers (by talking to the Prof.)
- But encourage them first.
- Try to include everyone; if they aren’t participating, encourage them
to do so.
Diverse Teams
- Don’t just work with your friends; by working with people different than
you you get different perspectives.