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

  • Your