EBoard 23: Higher-order procedures and recursion

This class will be recorded! Its use is limited to members of the class. Please do not share with others.

Approximate overview

  • Administrative stuff [~10 min]
  • Show and tell [~10 min]
  • Q&A [~10 min]
  • Lab [~60 min]

Administrative stuff

Notes and News

  • You should know the drill on evening tutoring. Please use the evening tutors. Please consider visiting them in person (if you are on campus).
  • I have decided to eliminate quizzes from the class.
    • They add unneeded stress
    • They take time away from labs
    • The SoLA model (almost) serves the same purpose
  • Let me know if you’d like to be on the csstudents mailing list.
  • I am worried that only 23 of you turned in MP4, which was supposed to be a relatively low-stress assignment.

Upcoming activities and other token-earning things

Events

  • Visit Grinnell Art Museum, maybe get an art pack https://www.grinnell.edu/campus-life/arts-culture/museum.
  • TODAY WGMC presents Ethics and Social Justice in CS. 6pm, Wednesday, 3 March 2021.
  • TOMORROW CS Extras, Thursday, 4 March 2021, at 5pm
  • TOMORROW W@G, Thursday, 4 March 2021, at 7pm
  • Journalism Ethics Workshop, 7:00-8:30 pm, Thursday, March 4 and Tuesday, March 9

Upcoming work

I’m not sure if all of these links are correct. Let me know if any are not.

Show and (don’t) tell

Sam’s colleague: “These are really awesome.”

Sam: “‘eh; they need work.”

Things you might work on:

  • Make sure your code works with any text file. (It need not reveal something about every text file, but it should work with each.)
  • Make sure that you are comparing two works (with one image). (save-image (beside (my-analysis "file1.txt") (my-analysis "file2.tx")) "analysis.png")
  • Make sure to look for new aspects of texts, not just those we did on MP3.
  • Make sure to look at at least two aspects of the text.

Q&A

Can you still write quizzes for us so that we can practice?

Sure.

Can I ask two questions?

You can even ask three.

Will the quizzes count toward or against our grade?

Nope, not in any way. You could have failed them all. You could have aced them all. No effect.

Will you grade the quizzes or provide answers?

Maybe

Do we have to do the insanely long analysis of recursive procedures on the mini project?

No.

But it’s good practice.

How do we write tests for procedures that produce images?

You don’t. Test some other aspect of the work.

Can we have seven mini-projects?

No, six is enough.

If we want to test images, can we try to do so?

Sure, if the images are simple. “Represent my text by a black circle whose radius is the number of times the word ‘Sam’ appears in a string.”

   (test-equal? "never"
                (analyze "")
                (circle 0 'solid 'black))
   (test-equal? "sometimes'
                (analyze "sam sometimes says that sam refers to samsself in the third person")
                (circle 3 'solid 'black))

Lab

SAM: Don’t forget to post the lab to Gradescope!