EBoard 21: Recursion practice (Section 3)
Warning! You are being recorded and transcribed, provided the technology
is working correctly.
Approximate optimistic overview
- Administrative stuff
- Q&A
- Lab
- Quiz
Administrative stuff
Introductory notes
- Happy Document Freedom Day
- Since it’s a quiz day, we’re going to limit the Q&A.
- I’ll be hosting a meeting here at 4pm. If you’re still working on the
quiz then, you can either (a) continue to work here amidst the noise or
(b) move to the neighboring classroom.
Upcoming activities
Scholarly
- Thursday, 27 March 2025, 11 am–noon. JRC 101.
Scholars’ Convocation: Lauren Klein
“Doing AI Differently: Lessons from Intersectional Feminism”
- This convo is important enough that you’ll earn two tokens for
attending. (Fill in two slots, please.)
- Thursday, 3 April 2025, 11am–noon, JRC 101.
Scholars’ Convocation: LeAnne Howe
“A Choctaw In King Abdullah’s Court”
- Also important, but not directly relevant to this class.
Artistic
- Thursday, 27 March 2025, 7:30–9:30 p.m., Herrick Chapel.
Butcher Brown.
Multicultural
- Friday, 28 March 2025, 4:00–5:00 p.m., HSSC N1170 (Global Living Room).
Middle of Everywhere: Why you should visit Nepal
- Friday, 28 March 2025, 5:30 p.m., HSSC N2116.
A Latine-based dinner and conversation with Dr. Gabriella Soto.
- Dinner provided.
- “It’s someting about immigration.”
Peer
Musical, theatric, sporting, and academic events involving this section’s
students are welcome.
Wellness
- Friday, 28 March 2025, 6:00 p.m.–8:00 p.m., Aux Gym.
Badminton Club (Smash that bird!)
- Friday, 28 March 2025, 9:00 p.m., Noyce Elbow.
Nerf at Noyce.
- Saturday, 29 March 2025, 4:00 p.m.–6:00 p.m., Aux Gym.
Badminton Club (Smash that bird!)
- Tuesday, 1 April 2025, 12:15–12:50 p.m., GCMoA.
Yoga in the Museum.
- Tuesday, 1 April 2025, 4:30–6:30 p.m.,
BRAC P103 (Multipurpose Dance Studio).
Wellness Yoga.
Misc
- Sunday, 30 March 2025, 7:30–8:30 p.m., Science 3819.
Mentor Session
- Tuesday, 1 April 2025, 7:00–8:00 p.m., Science 3820.
Mentor Session
- Wednesday, 2 April 2025, Noon–1:00 p.m., HSSC A2231 (Auditorium)
Community Forum
- “Weekly discussion on legal protections and recourse on issues
that higher education – and Grinnell College are facing.”
Other good things
These do not earn tokens, but are worth your consideration.
Upcoming work
- Wednesday, 26 March 2025 (Today)
- Quiz: Local bindings (
let
and let*
)
- Makeup quiz: Tracing
- Remember that you can bring a sheet of hand-written notes for each quiz.
- Remember that you can start as early as 8:00 a.m. (section 1) or
stay until noon (section 2) or 4:30 p.m. (section 3)
- Thursday, 27 March 2025
- SoLA 2 due.
- Old topics: Decomposition, Procedural abstraction, Primitive types,
Collaboration, Lambda-free anonymous procedures (cut and compose).
- Semi-new topics: Conditionals, documentation, lists
- New topics: Testing, program style, ethical considerations
- Readings:
- Submit lab writeup from class 21 on Gradescope
- Friday, 28 March 2025
- Sunday, 30 March 2025
Questions
Administrative
I still don’t have my redo for MP N graded.
It’s in the queue. At worst, I’ll extend deadlines for the second redos.
Can I get an E on a second redo?
Nope. Just the original or the first redo.
All that’s wrong with my MP is that I forgot to hit Ctrl-I. Do I really
have to redo it?
Was it that hard to hit Ctrl-I before submitting?
If the MP grades in my email don’t match my original MP grades, what does
that mean?
It means your MP was graded, but since we haven’t graded all of them,
we haven’t published it yet.
SoLA 2
If I’ve completed the learning assessment for a topic on a quiz, do I also
have to do it on the SoLA?
Nope. You only need to demonstrate your mastery of the topic on an LA once.
Focus on the LAs that are not checked off on your grade sheet.
Do I have to do all of my missing LAs?
Nope. You can do as many or as few as you want. However, you should
strive to complete all of them by the end of the semester.
Recursion
How does check 2 relate to recursion?
A recursive procedure generally has three parts (or kinds of parts).
A base-case test. When is the input “simple” enough that we can
give an immediate answer. For lists, this is typically “the list is
empty” or “the list has one element”. (There may also be multiple
base case tests, each with a different base-case value.)
A base-case value. The value we return when we reach the base
case.
A recursive call. If the input is not yet “simple enough”, we must
simplify it (for lists, this usually means taking the cdr), recursively
solve the problem on the simplified input, and then use the result of
that call to solve the initial problem.
Check 2 asks us to do that for a few problems.
Can we go over the example in the reading?
Maybe on Friday.
Lab
Make sure to think about types. What type should my-product
return?