EBoard 05: Basic types

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

Approximate overview

  • Administrative stuff [~15 min]
  • Q&A [~10 min]
  • Quiz [~10 min]
  • Labs [~55 min]
    • Finish yesterday’s
    • Finish today’s

Administrative stuff

Notes and News

  • Evening tutoring will be available 3-5 p.m. Sundays and 8-10 p.m. Sundays through Thursdays in the tutoring channel on the CS team.
    • If evening tutors + mentor sessions are not enough, we do have individual tutors available.
  • I’m still working on getting the “auto graders” working on Gradescope. You may see some errors from the autograder. You can ignore them. (It takes a while to write an auto-grader and the auto-grader system is imperfect.)
  • Sorry about the too-long lab yesterday (and, it appears, the ambiguity of my instructions to wait until today).
  • Don’t forget about the “Whatchaupto” channel. It’s a good way to check if anyone else is working on a reading or a homework assignment or ….
  • Please make sure to add a subject to your questions on the Q&A channel.
    • Sam will attempt to demo.
  • ITS says that you should update your Chromium variant now (Brave or Chrome or Chrome Canary or Edge or Opera or Opera GX or …)
    • I was not successful in updating Edge on my Mac.
  • You may receive a survey over the weekend. Please take the time to fill it out.
  • I should catch up on grading over the weekend.
  • Yes, you may miss class next Tuesday or Wednesday to handle paperwork in Des Moines.
    • I’ll figure out a way for you to take the quiz. (Probably leaving it live longer.)
    • If someone else also misses that day, I’ll assign a lab partner. Otherwise, you will make the work up on your own.
      • I recommend doing it during evening tutor hours.
  • Have a good weekend!

Roles

  • Driver writes code and designs (with advice), speaking aloud.
  • Navigator helps guide.

Some dialogues

  • Driver: Here’s where I’m going.
  • Navigator: Watch out for that (pothole, missing or extra paren, …)
  • Driver: I’ve forgotten about this (turn on cruise control, parameters to the beside/align procedure, …). Please help.
  • Navigator: Let me check.
  • Driver: Which way do you think I should go?
  • Navigator.

The Navigator can also take initiative

  • Navigator: It looks like you’re going in a good direction, but I think we might have a shortcut.

Expectations

  • Work together.
  • Support each other.
  • Don’t be afraid to ask for help.

Upcoming activities and other token earning things

I will post details to the Announcements channel.

About Scholars’ Convocation

  • Grinnell has an individually advised curriculum
  • But … (little) common knowledge
  • Goal of Scholars’ Convo: A weekly gathering to learn that gives some common knowledge.
  • You also learn about presentation styles.

Upcoming work

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

Attendance

  • Our wonderful mentors will take attendance by looking at the the list of also-wonderful people here.

Q&A

Miscellaneous

Did you fix the due date on the lab writeup from yesterday?

I think so.

Can we talk about the exponent examples. Why is (expt 243 1/5) 3.0 instead of 3?

It is rarely possible to get exact fifth-roots, and I’m pretty sure that the algorithm that the Racket designers used approximates.

If it didn’t approximate, you’d get some horrendously ugly fractions.

> (/ (numerator (expt 242 1/5)) (denominator (expt 242 1/5)))
2.9975267897118494

> (/ (inexact->exact (numerator (expt 242 1/5)))
     (inexact->exact (denominator (expt 242 1/5))))
2 1123115319609593/1125899906842624

Also, it’s much faster if you work with inexact numbers.

They only do exact for square roots (when appropriate).

On part 3 of the mini-project, can we use things we wrote earlier (on part 2 or part 1 or in a lab or …)

Yes, as long as your cite yourself (and your partner, as appropriate)

It’s easier to get to E if you do some new things.

What citation style do you prefer?

Any is fine. I use APA.

But just a URL suffices.

How should I cite myself?

“J. Doe; Lab on Procedures in 151”

Note: You have now received permission to use work from this class in this class and any other class you take from me or any other class elsewhere.

I care much more about you citing partners than yourself. I will not report you to CAS if you fail to cite yourself.

Will I have to do a stupid algebra calculation like we did for the snowperson?

No.

What does string<? compare?

Two strings, but you could guess that.

You should experiment.

You should read the documentation.

It compares two strings to see if they in something like alphabetical order.

If the strings contain non-letters, it does something “sensible” (which I do not know).

Where is the data types reading?

Whoops. Don’t worry about it right now.

The schedule is supposed to have all the readings. I’ll work on that.

When do we use zero-based indexing?

We always use zero-based indexing in Racket.

Ranges are usually inclusive on the lower end and exclusive on the upper end.

(substring "hypercycloid" 3 8) starts at the e and ends immediately before the ninth character (before the l).

Everyone: Remind Sam to tell the story of why I don’t normally put student names in the eboard.

Why do we use symbols for 'solid and 'outline but not colors?

You can use them for colors, too.

The CS faculty just like changing types on you because we are evil.

I have another question.

Too bad, so sad. We’ll anwer during labs.

Quiz

Bring up readings in your browser.

Open DrRacket.

Go to the Quiz in Gradescope.

Eight minutes (more or less).

When you are done, head over to the lab channel. Today, the second person in each group should start the meeting. (Everyone needs experience, right?)

Lab

Same pairs! Reverse order.

Debrief

We probably won’t have time, but I like to leave the potential there.