EBoard 10: Lists, Continued
Approximate overview
- Administrative stuff [10ish min]
- About LAs [10ish min]
- Q&A
- Lab [Remaining time]
Administrative stuff
Introductory Notes
- Make sure that you have set up a time to meet with your Wednesday
partner. (That lab is due Monday at 8:30 a.m.)
- Sam forgot his hearing aids again. Apologies.
- THANK YOU to those who send me notes that you won’t be able to make
it to class.
- Mentors: Please remind Sam to start the recording each day.
- When doing labs, if we’ve given sample input and output for a procedure,
try that sample input to see if you get the same output.
- For reaching me, DM on Teams is generally better than email.
Agh! This stuff is hard.
- Some folks are feeling very stressed right now. Don’t worry! Your first
encounters with computational thinking are likely to be hard.
- If you’ve already had encounters with computational thinking,
your inability to define local variables or to use loops may also
be hard. We are teaching you a different way to think computationally.
- Programming differs from other disciplines because you (usually)
know when you are wrong.
- Some general strategies.
- DM me questions!
- Use the evening tutors.
- Be willing to experiment: Try procedures with different inputs
to see how they behave in different situaions.
- Be willing to experiment: Try different approaches to problems.
- Accept that failure is natural. See what you can learn from
failure.
- A broad problem-solving strategy (one Sam uses and recommends)
- How can I decompose the problem into simpler problems?
- What procedures do I know that might help here?
- How do they work?
- How might they be applicable to the problem at hand?
- What similar problems (or subproblems) have I seen?
- We do have individual tutors available.
Friday PSA
- You are awesome people. I want to see you well.
- Moderation in all things (except sleep).
- Consent is absolutely, positively, necessary.
Upcoming activities
Events
- Football Saturday at 2pm EDT (1pm CDT)
- Mentor session Sunday at 4pm - Going over sample SoLA questions
- Mentor session Tuesday at 8pm - Going over sample SoLA questions
- NO Mentor session next Wednesday
Upcoming work
About LAs
- Broad course principle: We want to establish that you’ve learned the
key concepts (Learning Goals) and that you can apply them.
- We assume that all of you can, although perhaps at different rates.
- You demonstrate your ability to apply principles on MPs.
- You demonstrate your understanding on LAs.
- LAs are short (intended to take ten minutes, set at an hour to avoid
anxiety) problems that are graded OK/Not.
- A set of seven will be distributed Wednesday at 4pm. They will be
due Thursday at 10:30 pm.
- Samples are available online. (We’ll get back to that.)
- If you fail to demonstrate ability to apply at a sufficiently high
level on an MP, you can try again by fixing what needs improvement.
- If you fail to demonstrate understanding of a LG on one Set of Learning
Assessments (SoLA), you’ll have a chance again on the next (and the next
and the next …), albeit with a different problem.
- We will use most of class next Wednesday to help make sure you are ready.
- Let’s look at this first set.
- Opportunities for going over problems
- Sunday at 4pm mentor session
- Tuesday at 8pm mentor session
- Wednesday’s class.
- Any evening tutor session.
- Office hours (or elsewhere) with Sam.
- Honor expectations on the SoLA.
- Don’t talk to others.
- Don’t use the Interweb (other than the DrRacket ref pages and
the class pages).
- You can use the notes you have and DrRacket.
Q&A
Micah wasn’t in the Team.
He is now.
Lab
Notes entering lab
- Don’t forget to discuss working habits or anything else relevant.
- If you make it through the first three problems during class time,
write “Sam told me to stop here” before problem 4 and submit according
to the instructions after problem 4. You should still read over problems
4 and 5.
- This does not apply to people who are doing the lab on their own
over the weekend.
Notes during lab
How many ways can you add 5 to each element of a list named numbers?
(define add5 (lambda (x) (+ 5 x))); (map add5 numbers)
(map + (make-list (length numbers) 5) numbers)
(map + numbers (make-list (length numbers) 5))
(map - numbers (make-list (length numbers) -5))
(map (section + <> 5) numbers)
(map add1 (map add1 (map add1 (map add1 (map add1 numbers)))))
(map (o add1 add1 add1 add1 add1) numbers)
(define add5 (lambda (x) (+ 5 x))); (map (o add5) numbers)
(map (lambda (x) (+ 5 x)) numbers)
A definition of a single party person
(define pp
(above (triangle 30 "solid" "purple")
(circle 40 "outline" "black")
(rectangle 10 40 "solid" "black")))
Notes on reduction