---
title: Eboard 01  An introduction to algorithms
number: 01
section: eboards
held: 2017-08-25
---
CSC 151.03, Class 01:  An introduction to algorithms
====================================================

_Overview_

* Preliminaries
    * Notes and news
    * Upcoming work
    * Extra credit
    * Questions
* Introduction - What is CS?
* Exercise - An everyday algorithm
* Debriefing on exercise 
* Friday PSA

## Preliminaries

### News / Etc.

* Welcome to CSC 151!
* I'm Sam (or SamR)
* Your class mentors are Anh Thu, Ritika, and Zander.
* You should have received four handouts at the start of class.
    * A playing card
    * The [CS Department Academic Honesty Policy](http://www.cs.grinnell.edu/academic-honesty-policy)
    * [Assignment 1](../assignments/assignment01)
    * A packet of readings
        * Reading: [Algorithms](../readings/algorithms)
        * Reading: [Linux](../readings/linux)
        * Reading: [The DrRacket Programming Environment](../readings/drracket)
        * Reading: [Beginning Scheme](../readings/beginning-scheme)
* At the end of class, please restore your station to its original state
  (or better): Push in your chairs, put the nodepad neatly next to the
  machine, give your playing card back to the mentors, etc.
* The CS department maintains a listserv of announcements of events and
  opportunities.  If you would like to be added to that listserv, please
  send me an email.
* Warning!  I'm losing my hearing.  I'm also snarky.  The two are
  independent.
* Since it's the first day of class, I'll be taking attendance.  
    * It always takes me a few weeks to learn names.  This semester it 
      will take even longer, because I am teaching approximately 150 students. 
    * This exercise will probably take ten minutes.  That's okay, I consider
      it worth the time.  I hope you do, too.
    * When I call your name, please stand up and respond with something
      like the following
        * "Hi, my name is FORENAME SURNAME."
        * "You can call me PRIMARY NAME."
        * "If you must address me by surname, you can call me 
           Mr./Ms./Mx./[nothing] SURNAME."  
        * I'm from LOCATION.
        * Optional: "My pronouns are ...."  
   
### Upcoming Work

* [Assignment 1](../assignments/assignment.01.html) Due Sunday night.
* Readings (handed out today), due before class Monday.
* Signed academic honesty policy due in class on Wednesday.
    * If you are uncomfortable signing it, make an appointment to chat with me.

### Extra credit (Academic)

* CS Table, noon, Tuesday, Whale Room (I hope)

### Extra credit (Peer)

*None yet.*

### Good things to do

* Ag Days in Grinnell, Thursday the 31st.  More info forthcoming.

### Questions

How do I get credit for an extra credit activity?
  : Send me an email message with a one- or two-paragraph reflection 
    on the event in the body of the message.

How do I get one of my events on the extra credit list?
  : I prefer that you send me email.  But I'll also add events that you
    announce in class.

Will these notes appear online?
  : Yes.  But take your own.

What font are you using?
  : I'll let you know later.

Introduction - What is CS?
--------------------------

What is computer science?  Write down a definition (your own definition).
You may be called upon to share it with the class.

* The study of systems that are used to make computers efficiently solve
  problems.
    * Systems may be "ways to express programs
    * Systems may be "algorithms" - "Steps taken to solve a problem"
* People can also execute algorithms
* We study algorithms, we also study ways to organize data.
* What is science and why is CS science?
* Science is the analytical study of an academic or other subject and 
  its applications.
    * Using the scientific method: Hypothesis, design experiment, conduct
      experiment, analyze, replicate, review, repeat
    * Focusing on the collection and using data

Exercise - An everyday algorithm
--------------------------------

Goal: Write a set of unambiguous instructions to help me make a sandwich
without causing too much destruction.

Things we have

* A loaf of bread.
* A jar of jam.
* A jar of Wow butter
* A stack of plates
* Two knives
* Some napkins
* Two spoons
* Band aids
* Bags

1. Get with people with the same number on your playing card.
2. Introduce yourselves to each other.
3. Start writing instructions
    * No, you can't look at the ingredients.  I told you what they are.
    * The mentors and I will wander through your groups to peek over
      your shoulder.
    * One mentor will distract you with another task.
    * We'll break after ten minutes to see how you are doing.

Note: There are approximately 2.2 pounds per kilogram.

Round one

* We managed to avoid bread on the floor and bloody hands, but it was
  close.

Round two

Debriefing on exercise 
-----------------------

*Come up with five things you might have taken from this exercise.*

* We believe in common sense; computers and cs faculty have no common sense.
* Make sure you understand your audience - instructions that work for an
  expert may not work for a beginner.
* Be specific, include details, don't make assumptions.
* Understand what the person/computer knows.
* Break down big problems into smaller instructions that the computer (or
  whatever) can understand.
* If at first you don't succeed, try try again.  (Or: It's okay to fail; just
  start again.)
* Working in teams can be better.
* Things will go wrong.  Laugh when they do.

Friday PSA
----------

*You are almost certainly awesome people.  Take care of yourselves.*
