EBoard 22: Expanding 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]
  • Q&A [~10 min]
  • Quiz [~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).

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 March 2, 7:00-8:30: Restorative Justice Community Event
  • TOMORROW WGMC presents Ethics and Social Justice in CS. 6pm, Wednesday, 3 March 2021.
  • CS Extras, Thursday, 4 March 2021, at 5pm
  • 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.

Q&A

I didn’t realize that there was a makeup for the local-bindings SoLA. Can I still do it?

Yes. Get it done by tomorrow at 3pm.

Do we need to know tail recursion to do numeric recursion?

No. No need to write a helper with an extra accumulator.

Does your program intentionally skip me?

No.

Is tail recursion more efficient?

Generally yes.

We saw that list-length was much faster when written tail recursively.

At this stage of your career, writing something correct should be higher priority than writing something really fast.

What would a tail recursive LA look like?

“Rewrite this direct recursive procedure using tail recursion.”

By the end of this course, should we be writing incredibly awesome code?

It would be nice, but it’s not required.

Is the mini-project up?

It’s not supposed to be. I’m working on a less-intense version.

Quiz

Lab