EBoard 01 (Section 2): Getting Started

Approximate overview

  • Lots of administrative stuff, including attendance
  • What is “computer science”?
  • A group activity, more or less
  • Debrief on activity

Administrative stuff

Please take a playing card, if you didn’t already.

Introductory Notes

  • Hi, I’m Sam (or SamR).
  • Our class mentors are …
    • Micah
    • Nameera
    • Hallie
    • “Model students”
    • “Near peers”
    • Mentors help you during class time.
    • Mentors hold mentor sessions.
    • Mentors are here to help you learn.
    • Mentors are also available to talk about broader issues (e.g., how the course is going, the CS or Psych majors)
  • The class Web site is at https://rebelsky.cs.grinnell.edu/Courses/CSC151/2022Sp/.
    • I will email you the link.
    • The class Web site is (always) a work in progress, but is particularly behind this year. Sorry!
  • CSC-151 is an introductory course in computer science.
    • You can succeed (and even excel) with no prior experience. (Those with no prior experience sometimes spend more time.)
    • We approach material differently than many other intro CS courses; prior experience may help, but it may also hinder. For example, we will not let you re-assign variables. (Don’t worry if you don’t know what that means.)
  • CSC-151 is a community. We come from multiple cultures and backgrounds. Treat each other with respect and learn to appreciate what each person can contribute.
    • We will return to this issue and the associated learning outcomes throughout the semester.
  • I type our online class notes in a format called “markdown”. You should find it relatively readable. It permits me to make “nice” Web pages.
    • Sam: Don’t forget to show off today’s eboard.
    • Don’t just rely on my notes; There is good evidence that taking your own notes helps you learn.
  • I will record many of our class sessions using Team.

Other introductory stuff

  • The CS department maintains a mailing list. Let me know if you’d like to be added. (Conveniently, the question is on our intro survey.)
  • We provide supplies in this classroom to support you in working and learning.
    • Small cards to serve as flashcards, which are a good learning technique.
    • Also medium-sized grided post-it pads.
    • And pens.
  • I prefer to have you book office hours. First priority in any time slot goes to those who book. https:/bit.ly/book-samr
    • If those don’t work, we can try to arrange other times.
    • I also tend to reply to questions on Teams.
  • I will hold office hours online while we are in code blue or code teal. (Also if we reach code yellow, code red, or code infrared.)
  • You’ll learn more introductory stuff when you read the syllabus.

Apologies

  • I am old. My hearing is not great, even with hearing aids.
  • Our Web site is not as up to date as I’d like. But it will be. Soon. Ish.
  • I am traditionally bad at names+faces. I will be worse with masks. It will take me some time to learn your names.
  • More to come ….

Upcoming activities

Guidelines

  • You can earn “tokens” (more info follows) for attending designated academic events or supporting your classmates in their pursuits.
  • Attend (or watch recording within a day or so) and record a one-paragraph reflection asap afterwards.
  • Only those activities I list count.
    • But you can suggest others. In fact, you should suggest others.
  • Unless otherwise specified, these each earn one token.

Events

  • Track and Field, Saturday, Field House (time tba)
  • Harris Center movies when sponsored by Popcorn House

Upcoming work

Attendance

  • Sam will (attempt to) call you by first name.
  • You will respond with
    • “Hi, my name is PROPER FAMILY. (FIRST LAST)
    • (Optional pronouns.)
    • I prefer to be called NAME.
    • If you must call me by last name, please call me Mr./Ms./Mx./Scholar FAMILY NAME.
    • This semester , I am excited about ….
    • Optionally, ask me a question. You’ll also have another chance later.
  • Note: For the first few weeks of class, please say your name each time you ask or answer a question.

Excited About

  • Work with the amazing CSC-151 students.
  • Covering people with color. (And having the 151 students participate.)
  • Warmth (eventually)
  • Spending time with friends
  • Meet new people [x3]
  • Learning something totally new [x3]
  • Learn new languages
  • Sunlight and increasingly long days
  • Research on (levandoskian) receptors
  • Baseball [x2]
  • Applied Data Science
  • Talk to people
  • Wild Raspberries (or other wild berries)
  • Joining new clubs
  • No longer wasting my life [x2]
  • Two week spring break, which gives me more time to forget
  • Taking CS again
  • Try new things
  • Singers spring concert trip

Q&A

Are we going to learn how to make Web sites?

Yes.

Using the same technology that Sam uses?

Probably not. It’s finicky.

Which of the following terms is best: sweet, cool, wicked, nice, …

???

What do you do other than teach CS?

Sleep.

Eat.

Shower.

Exercise.

Read books.

Binge watch stupid TV shows. Legends of Tomorrow, Legacies, Ghosts (US), Ghosts (UK), Discovery of Witches, Ted Lasso, …

Play board games.

Write.

Make snarky comments.

Why are we using Racket?

It’s small.

It’s different than most other languages, which helps level the playing field.

The differences encourage appropriate ways of thinking about computation.

It’s one of the few languages that permits beautiful code.

It’s harder to Google (bad) answers to questions.

Why did you skip me?

General incompetence. Sorry.

Does this class require self learning?

I don’t think you learn by having me stand or sit at the front of the room and tell you stuff. I believe you learn by doing. I spend a lot of time designing readings (which are equiv to the lectures I would have given, perhaps less snarky) and labs.

You will learn by doing. Is that self learning? Maybe. Is it better than lecture. Definitely. (Research evidence that I can’t cite proves it.)

What book would you recommend?

Princess Bride, a fun light read.

Weapons of Math Destruction, which discusses the negative consequences of using computers in decision-making processes.

What are the disadvantages of using Racket?

Fewer people know it. (If it’s the only language on your resume, it doesn’t help as much with jobs.)

How many languages does Sam know?

Not enough natural languages.

Too many programming languages.

How does learning an artificial/programming language relate to learning a natural language?

Both have a vocabulary; you need to learn “words” to communicate.

Both have a syntax, a way you put things together.

Both have a semantics, a model for how interpret/understand things.

But …

Humans adapt fairly well to mistakes in the syntax of natural languages.

Computers adapt poorly to mistakes in the syntax of programming languages

Programming languages tend to have formally specified syntax/semantics; human languages evolve, often uncontrolable.

What is computer science?

  • Computer science is the study of algorithms and data structures
    • Algorithms: Sets of (unambiguous) instructions.
    • Data Structures: Ways to organize information.
  • We study algorithms by …
    • writing algorithms to accomplish certain tasks.
      (E.g., Organizing or searching information.)
      • identify problems
      • generalize / simplify
      • write instructions that allow “you” to solve them
    • analyzing their efficacy.
    • writing systems that implement those instructions (e.g., hardware or languages).
    • considering their effects on individuals or society.
  • We study data structures in similar ways.
  • Most of this class will be writing and thinking about sets of instructions in an artificial language (aka a programming language).
    • We use an artificial language because artificial languages can be designed to be less ambiguous. (Also easier for the computer to follow.)

Exercise

Practice writing algorithms!

  1. Form groups of people with the same playing card value as you.

  2. Sam will describe a problem.

  3. You will start to write an algorithm.

  4. Sam will start to run your algorithm.

  5. You will continue writing your algorithm.

  6. Sam tries to run again.

Debrief