EBoard 01 (Section 1): 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 …
- Cassandra
- Quang
- Here to help you with the class in general.
- Folks who will wander around during class and answer and ask quetions.
- Folks who will hold weekly mentor sessions. AN hour-long review
session or time to work on homework or ….
- Our mentors have lives/work outside of mentoring. Do not (ab)use
them outside of their normal hours.
- 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 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.
- Ideally, things should update automatically on the Web. (They
didn’t today. Computers are evil.)
- Don’t just rely on my notes; There is good evidence that taking your
own notes helps you learn.
- I will record some of our class sessions using 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
Upcoming work
Attendance
- Sam will (attempt to) call you by first name.
- You will respond with
- “Hi, my name is PROPER-NAME FAMILY-NAME
- (Optional pronouns.)
- I prefer to be called NAME.
- If you must call me by last name, please call me Mr./Ms./Mx. 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
- Forcing students to write their names on masks.
- Mentoring the class [x2]
- Learning about a new topic.
- Taking the first clas sin the CS major [x2]
- Exploring lots of new classes [x4]
- Taking CS classes [x2] for the first time [x3] to learn a new subject
- Free time
- Extreme cold
- Snow [x2]
- Sports season (remind us about matches)
- Learning weird new programming syntax
- Learning to code well (this student is optimistic)
- Discovering what CS is.
- Coding again, not in an anegnieering class.
- Typing in cool fonts.
- Coding on my laptops
Q&A
Are we using DrRacket as our IDE?
Yes.
What’s an IDE?
A TLA for “Integrated Development Environment” - Where you develop software.
What’s a TLA?
Three-letter acronym.
Will we use mulitple programming languages in this class?
One seems like enough, for now.
But we’ll also learn a markup languags, such as HTML/XML.
Which of Sam’s three sections of 151 will ask the best questions?
We shall see. This one asked the fewest.
What is computer science?
- Computer science is the study of algorithms and data
structures
- Algorithms: Sets of (unambiguous) instructions for solving a task.
- 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.
-
Sam presents a problems.
-
You develop algorithms.
-
Sam attempts to run algorithms, demonstrating ambiguity.
-
Your further develop algorithms.
-
Sam attmepts to run algorithms some more.
Debrief
- You need to be very specific when giving instructions.
- You also have to think about what’s happening with shat you
just did (e.g., is the twist tie still in Sam’s hands?)
- Break complex problems into smaller problems (Decomposition.)
- Try your algorithm as you develop it.
- Be clean; don’t have your program leave a mess.
- Know what the computer (or Sam) knows. While “bread and “left
hand” are defined, “upright” may not be.
- Things will go wrong. When they do, it’s not a problem; perhaps it’s
even funny. (Think back to what could have happened to Sam.)
- We do better in groups.
- Be proud of yourselves, you did well. Sam didn’t die. The sandwich
didn’t end up on the floor.
- We sometimes do the same thing more than once, so define it separately.
- How to spread stuff on bread.
- How to open a jar.
- Warning: Computers are sentient and malicious.