Skip to main content

CSC 151 2019S, Class 03: Getting started with Racket

Overview

  • Preliminaries
    • Notes and news
    • Upcoming work
    • Extra credit
    • Questions
  • Lab
  • Debrief (if time)

Preliminaries

News / Etc.

  • Happy Monday! I hope you had a wonderful weekend.
  • When you arrive
    • Grab a card with the name of a computer.
    • Determine where the computer is.
    • Put the card in the jar.
    • Sit by the computer.
    • When there are two people at the same computer, introduce yourselves.
  • Please turn in your academic honesty policy if you have not done so already.
  • In case it wasn’t clear from the syllabus and such, I will randomly call on students in class. I do this for multiple reasons.
    • It avoids bias (conscious and unconscious). Since I’m using cards, I am unlikely to ask more questions of people from certain groups.
    • It builds skills. For better or for worse, many people expect you to express your ideas, even when you have not formulated them completely. Practice in a low-stakes environment should help.
    • It can remind you that you are not alone in confusion or misunderstanding. While I may sometimes force you to guess, you can feel free to answer “I’m not sure” when I call on you.
    • It sometimes incentivizes you to ask questions. If you know that I might ask you questions, you may be more inclined to ask me questions.
    • And more.
  • If being called on in class causes severe anxiety, let me know and we’ll figure out a way to adjust to support you.
  • We will be doing image-making operations in lab today and Wednesday. If you have visual or other impairments that might affect your ability to complete labs that involve image making, let me know and I’ll work on alternate problems for you.
  • The department maintains a mailing list which we use to distribute information about things that may be of interest to people who like CS: Talks, summer internships, etc. If you would like to be added, please send me a message.
  • You will have a substitute teacher on Wednesday. I’ll be off learning about Fairness, Accountability, and Transparency in Artificial Intelligence. (If all goes well, I’ll bring back a cool assignment for later in the semester.)
  • If you feel unsafe coming to class on Wednesday, send me an email message and I will treat it as an excused absence. You are, however, responsible for making up the work on your own.
  • When you send me questions about assignments, please title them things like “QUESTION on Assignment 2”. It makes it much easiere for me to identify them as questions.
  • I’ve updated the due time for lab writeups; writeups are due at the start of class.
  • Our mentors will have weekly mentor sessions, most likely on Thursday evenings. You can attend mentor sessions for either this section or the other (or both).
    • Mentors: Have you decided on times?
  • We also have helpful people in these labs in the evening (Sun-Thu).

Upcoming work

  • Readings (available online), due before class Wednesday.
  • Assignment 2 due Tuesday night.
    • Your partner is whoever was at the computer with you on Friday.
  • Quiz Friday!
    • A bit of XML
    • Scheme basics (write something small, read something small, show steps)
    • Includes procedures
    • Might include “Sketch the image described by this code”
  • Lab writeup due before class on Wednesday. Email your shapes.rkt file to csc151-01-grader@grinnell.edu with a subject of “CSC 151.01 Lab Writeup for Class 3 (Your Names)”, substituting your names.

Extra Credit

  • Congratulations! You’re class seems to be more on top of extra-credit activities than any I’ve had in some years. (Of course, I wish at least one of you had gone to the art opening.)

Extra credit (Academic/Artistic)

  • Herman Melville Meets Agatha Christie, Tuesday, 4:15p, Burling 1st Floor Lounge.

Extra credit (Peer)

Extra credit (Wellness)

  • Kindness through gratitude, Monday and Tuesday 11-1, outside DHall.

Extra credit (Misc)

Other good things

Questions

Do we have to create an HTML document that looks like the S&B page?

Nope. Your goal is to come up with XML tags and attributes that you would use to describe the page. Content and organization, not the output, is your primary goal. For example,

    <newspaper title="The Scarlet and Black" date="...">
      <page number="1">
        ...
        <advertisement border="frilly" company="Spalding">
        </advertisement>
      </page>
    </newspaper>

But there are lots of different possibilities of how to arrange things. Do you use attributes or tags? Do you focus on columns or articles? Etc.

Can we attach the XML files to our email message for assignment 2?

Yes.

We did not come close to finishing lab in class on Friday. What are the expectations for labs we don’t finish?

We try to design labs that you can finish in class. We won’t always succeed. We will generally encourage you to finish the lab on your own. However, Friday’s lab did not require that you do everything. You are expected to do the daily lab writeup (when assigned).

I downloaded DrRacket on my Mac and the shapes are not working.

Make sure that you have the racket language (you’ll see #racket at the top of the definitions pane.

You need to write (require 2htdp/image) at the top of your definitions pane and click “Run”.

Can some of the text in the document be in attributes?

Certainly.

Should we be doing CSS stuff on assignment?

Probably not. But it is good to mark paragraphs in an extended article.

Can this be automated?

Not yet. Some parts, perhaps.

Flash cards this week?

Nope. Not until next week.

What’s the purpose of regexp-match*?

It looks for pieces of a text (string) that match a particulary pattern. #px"/[a-z]*s[a-z]*/" is “strings that contain an s” We’ll talk more about them next week.

Lab

The procedure max finds the largest value in a group of values.

Debrief

Writeup:

  • Email your shapes.rkt file to csc151-01-grader@grinnell.edu with a subject of “CSC 151.01 Lab for Class 3 (Your Names)”, substituting your names.

Using laptops

  • Please do not have DrRacket open on your laptop.
  • You may, however, use your laptop (or tablet, or cell phone) for reference.
  • You will find it useful to open the lab on the same computer as you are using DrRacket, since that allows you to copy and paste.