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!
-
Form groups of people with the same playing card value as you.
-
Sam will describe a problem.
-
You will start to write an algorithm.
-
Sam will start to run your algorithm.
-
You will continue writing your algorithm.
-
Sam tries to run again.
Debrief