EBoard 01 (Section 3): 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

Unless there are objections, I will record today’s class.

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

Introductory Notes

  • Hi, I’m Sam (or SamR).
  • Our class mentors are Micah and Paul
    • They will introduce themselves.
    • The mentors help during class (ask and answer questions, protect you from Sam’s snarkiness, etc.)
    • The mentors run mentor sessions (weekly review sessions, also homework help)
    • The mentors can talk about other classes in CS, serve as a sounding board, etc.
    • The mentors are near-peer model students.
  • 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 our class sessions with Teams.

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
  • 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 meet Saturday at unknown time.

Upcoming work

Attendance

  • Sam will (attempt to) call you by first name.
  • You will respond with
    • “Hi, my name is FIRST LAST.
    • (Optional pronouns.)
    • I prefer to be called NAME.
    • If you must call me by last name, please call me Mr./Ms./Mx. LAST 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

  • Mentoring 151 [x2]
  • Expand social circle
  • Meet more people
  • To get introduced to CS.
  • Being a better student.
  • Declare a major.
  • Classes
  • Learn a new language
  • Winter [x2]
  • Snow [x2]
  • Baseball
  • More STEM classes
  • No Tuesday/Thursday classes
  • New ways to learn how to make things
  • Baseball
  • Studio Art
  • Extracurriculars, such as guitar or violin lessons [x2]
  • Back in Grinnell [x2]
  • Water polo
  • Playing the piano [x2]
  • More about myself and the way I think
  • Not having 8am classes
  • Learning more about philosophy and feminism
  • Learning CS!

Q&A

What does the stupid banner say about Grinnellians and questions?

Grinnellians ask hard questions and question easy answers.

Except in 151, where they ask easy questions so that Sam is able to answer them.

What languages are we learning?

Scheme (Racket)

HTML/XML

Readings are done before class and labs in class?

Yes

And homework assignments?

Out of class. We call them Mini-Projects

And exams?

Out of class. We call them SoLAs.

And quizzes?

Typically quizzes will be out of class and will represent one learning goal from the upcoming SoLA.

Mostly a way of ensuring that you don’t try to cram everything into one learning session.

When will quizzes be released?

TBD

Who is your favorite musician?

Ella Fitzgerald, Van Morrison, or Jonathan Richman

My son.

Is CSC-151 intended as a weed-out class?

No. It’s always been intended as a “draw-in” class.

How many tests do we have?

This class has a weird grading strategy.

There are twenty-eight basic learning goals for the class.

Each of four exams will test seven of those.

If you get one wrong, you can try again on the next test, and the next, … (until the end of the semester).

We do not do homework assignments on weeks that there are tests (SoLAs) “Sets of Learning Assessments”

What’s important is that you learn things, not when (as long as it’s this term). Free redos on assignments and SoLAs.

Why are we learning Scheme?

Small language / small definition. You can learn most of the language in one semester.

Encourages / requires a different way of thinking. We think the Scheme ways of thinking are good ways of thinking. Levels the playing field.

One of the few languages that permits you to write code that we might call elegant.

Harder to Google bad answers to homework questions.

What is the definition of the Scheme language?

The definition of a language normally consists of the basic words (actions you can do, values), syntax (how you put things together), and a semantics (how we interpret the things we’ve together).

The definition formalizes things so that there is no (or very little) ambiguity.

Why do the people I talk to say that Matlab not a language?

Because they people you talk to are underinformed or overopinionated.

I would say that Matlab is a programming language.

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

  2. Sam will present a problem

  3. You will start to write an algorithm

  4. Sam will start attempting to follow the algorithm; you may learn something

  5. You will continue writing the algorithm

  6. Sam will continue trying to follow the algorithm

Debrief

  • When things go wrong, you should laugh. And things will go wrong.
  • Ambiguity happens. Work on precision.
  • Think about special cases.
  • Work in teams.