Skip to main content

CSC 151.01, 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
  • Common parts of an algorithm
  • Friday PSA

News / Etc.

  • Welcome to CSC 151!
  • I’m Sam (or SamR)
  • Your class mentors are Hongyuan, Jemuel, and Marli.
  • You should have received four handouts at the start of class.
  • Since it’s the first day of class, I’ll be taking attendance. (It will take a few weeks for me to learn all of your names; even more than normal because I’m teaching approximately 150 students this semester.)
    • “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 …
    • Optional: “My pronouns are ….”
  • Disclaimers
    • Sam is slightly hard of hearing.
    • Sam is incredibly snarky. (Sam = Snarky and mean)
  • Contact Sam if you would like to be on the department mailing list.

Upcoming Work

  • Assignment 1 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)

  • Men’s Soccer 4:30 p.m. against Luther Norse on the Soccer Fields

Good things to do

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

Questions

How do we get extra credit?
Email me a reflective paragraph within two days of the event.
You may not understand what I’m asking, but what kind of Linux does
the CS department run?
Sam doesn’t really know. Some flavor of Debian. It’s okay if you have no idea what that means.

Introduction - What is CS?

Write down a definition (your definition). You may be called upon to share it with the class.

  • Putting pieces together differently to create software.
  • Learning how to use computer programming/code to create cool computer stuff.
  • Studying how the computer works (e.g., how it stores data, gathers information from users and presents it to them).
  • Thinking like a computer does. (Well … understanding how computers process. They don’t think. Yet.)
  • Study of algorithms and data and other stuff
    • We will both learn about how algorithms work and how to build them
    • We will both learn about how the computer organizes data and design ways to organize data.
  • What’s an algorithm? An algorithm is a set of repeatable and predictable instructions that end when they achieve a goal or reach a state. The instructions take some input set of stuff, transform the stuff, and give you new stuff.

Exercise - An everyday algorithm

Basic instructions

  1. Get with your matching number group.
  2. Introduce yourselves to each other.
  3. Write unambiguous instructions that teach me how to make a PB&

Stage one

  • Sam attempts to make a sandwich.
  • We have a crumpled plate.
  • We have bread on the floor.
  • But we did end up with two pieces of bread on a plate.
  • Students return to writing instructions.

Questions

  • Who started with the marmalade and who started with the WowButter
  • Who pronounces marmalade with a long a and who pronounces it with a short a?

Debriefing on exercise

  • Instructions must be unambiguous. Vague instructions are likely to be interpreted in a way differently than you intend. Don’t make assumptions.
  • Sometimes we repeat things: Spreading Wow! butter and marmalade. Opening jars. Etc.
  • Keep instructions small.
  • We work better in teams
  • It’s fun and humorous when things go wrong
  • Experiment and change is a part of life.
  • Order of instructions matters.

Friday PSA

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