EBoard 02: Our lab equipment
Warning! You are being recorded (and transcribed) (provided the technology
is working correctly).
Start of class instructions
- Grab the lab instructions.
- Optionally: Grab a mask
- Grab a plastic-coated business card. It should have a computer name
and location.
- Identify where the corresponding computer is.
- Return the card to the jar.
- If you arrive first, start the lab. (This is not the normal protocol.)
- When both partners arrive, introduce yourselves.
For the future: I’m happy to reserve a (somewhat random) seat at
the front of the classroom for those who need a front seat as an
adjustment or accommodation. Just let me know.
Approximate overview
- Administrative stuff; no attendance [10–15 min]
- Debrief on Monday’s activity [10 min]
- Set up for MathLAN, partner one [10 min]
- Set up for MathLAN, partner two [5 min]
- Lab [40–45 min]
Administrative stuff
Introductory Notes
- Hi, I’m still Sam (or SamR).
- Our class mentor is still Maddy Thompson.
- I hope you were able to make it to class safely today!
- Fingers crossed that the instructor workstation works better today.
- You will find that I call on students randomly using a set of cards
with your names on them.
- I use this process to give you practice “thinking on your feet”,
as it were.
- I also use this process to help everyone realize that they are
not the only one who is puzzled.
- And I use the process to push you a bit.
- Feel free to say “I’m not sure” or “I’d prefer not to answer.”
- If you don’t want to be called on in class, please let me know.
- The
csc151 library (which you’ll learn about in lab today) is
updated daily. Each time you sit down to work, you should try to
update the version you have.
- Also: Let me know when you encounter bugs or unexpected behavior.
- Reminder to self: Asking questions
- Reminder to self: Vygotsky’s zone of proximal development.
- Consider setting up restoration on https://passwordreset.grinnell.edu.
Upcoming activities
Scholarly
- Friday, 2024-01-26, 6:00–7:30 p.m., JRC 101.
Celebration of MLK day with Alan Page.
Cultural
- Saturday, 2024-01-27, 11:55 a.m.–3:55 p.m., Harris Cinema.
Met Opera presents Carmen.
Peer
Wellness
Misc
Other good things
- Saturday, 2024-01-27, 10:00 a.m.–1:00 p.m., Field House.
Grinnell Track and Field Invitational.
Upcoming work
Questions on the readings
Racket uses parentheses to determine order of evaluation / precedence.
When there are two subexpressions, which gets evaluated first? And
does it matter?
You are asking about something like (+ (sqr 5) (sqr 4)). Do we
evaluate (sqr 5) or (sqr 4) first?
The Scheme Specification says “It is up to the implementer.”
We will find that it’s generally left-to-right.
But in almost all cases, it won’t matter; it shouldn’t matter.
Can you nest objects?
Wow, you’re already looking ahead.
> (define small-circle (solid-circle 30 "red"))
> small-circle
.
> (define big-circle (solid-circle 60 "black"))
> big-cicle
. . big-cicle: undefined;
cannot reference an identifier before its definition
> big-circle
.
> (overlay small-circle big-circle)
.
> (overlay big-circle small-circle)
.
How did you update the CSC151 library?
Open DrRacket.
File -> Install Package …
Enter https://github.com/grinnell-cs/csc151.git#main
Wait until it says “Close”
Click “Close”.
When we outline a circle, how do we color the inner circle?
Use overlay.
Debrief on sandwich making activity
We will use Think-Pair-Share (TPS) for this.
Grouping students
Getting students into card groups was somewhat chaotic. I intentionally
don’t provide an algorithm, and it showed. What would be a better
algorithm for getting card groups together?
- Sam could have prepared the classroom (e.g., by printing giant cards
and taping them to places).
- Tell people to line themselves up in number order.
- Hold cards on your head.
Other lessons
Here are the lessons you supplied.
- Be very specific, particularly when there are multiple things that
could be described in the same way (e.g., “the bread”).
- It’s important to know what the data are like.
- It’s important to know what the computer can and can’t do. Don’t assume.
- Break big tasks down into smaller tasks. (Decomposition.)
- Some processes can be repeated (e.g., spreading). (Subalgorithms.)
Here are a few lessons that I supplied.
- Things will go wrong when you write algorithms. Laugh!
- Four heads are better than one.
- It’s nice to watch an algorithm while it’s performing and correct as
you go.
Your goal: A few more. They can be your style or Sam’s style.
- Reflect on what you’ve done. If it didn’t work, why not?
- You will rarely get things right the first time. It’s okay. Reflect
and fix it.
- UM - Use Math
- Writing out the steps was helpful
Lab 1: Setting up Linux
This lab appears in the Schedule. Each person will do this separately, with
the other person helping.
In past years, some students have had to edit the launcher to use
firefox instead of firefox-esr %u. I’m not sure why people end up
with different launchers.
Lab 2: Learning Scheme
- You’ll do most of the second lab collaboratively.
- If I see you running DrRacket on your laptop, I may attempt
to defenestrate aforementioned laptop.
- You will be turning in your answers to exercises 7–9. At least we
think you will.
Questions and answers
How do I insert a comment in Racket?
Precede it with a semicolon.
What’s a comment?
A note to the human reader that the computer should ignore.
What are circle and rectangle? I only saw solid-circle and
outlined-circle (similar for rectangles)?
Remnants of an old version of the image library.
We’re not done. What should we do?
For this lab, and this lab only, you may finish the lab on your own.
(Or set up a time to meet with your partner.) If you finish the lab on
your own, please ignore the “include your partners on Gradescope”
instructions.
Debrief (if time)
There usually isn’t time, but I’m an optimist.