Skip to main content

CSC 151.01, Class 42: Wrap Up

Overview

  • Preliminaries
    • Notes and news
    • Upcoming work
    • Extra credit
    • Questions
  • Project presentations
  • The subject matter(s) of the course
  • Course evaluation
  • Concluding comments
  • Final Friday PSA
  • Comments on the final (optional)

News / Etc.

  • Don’t forget that epilogues are due tonight!
  • I don’t have office hours next week, but I should be in my office at assorted times on Monday and Tuesday. I’ll also be in 3815 from 9-noon on Wednesday.

Upcoming work

  • Cover sheets for exam 4 due NOW!
  • Epilogues due TONIGHT!
  • Optional final during finals week (Wed 2pm, Thu 9am, or Fri 9am).

Extra credit (Peer)

  • Recitals Friday at 4:15 pm in Sebring-Lewis

Extra credit (Misc)

Other good things

  • Musical: Next to Normal Friday at 7:30, Saturday and Sunday at 2:30. Arrive early and put your name on a waiting list.
  • Stay healthy and sane during finals week.

Questions

Presentations

The subject matter(s) of the course

Problem solving

  • Draw it out
  • You think better about problems when you work with another person.
  • You think better about problems when you work an imaginary other person or potted plant.
  • Work on small cases and then generalize.
  • Don’t just jump in: Plan. Think about the problem and then let your subconscious work on it a bit.

The core of computer science: Algorithms and data structures

  • Some famous algorithms
    • Filter
    • Map-Reduce
    • Sorting: Insertion sort, Selection Sort, Merge Sort
    • Searching: Linear search, Binary Search
  • Some famous data structures
    • List
    • Vector
    • Tree
    • Binary Search Trees
  • Core parts of an algorithm
    • Ohyeah
    • O - original routines and data
    • variables/naming
    • output and input
    • conditionals
    • sequencing
    • subroutines
    • repetition

Functional programming

  • Some higher-order procedures
    • map
    • apply
  • Traditionally, a function does not mutate its parameters and, given the same inputs, gives the same output.
  • Recursion is a great technique for solving problems, particularly if your trust the magic recursion fairy.
  • UM - use map and apply

Program and software design

  • Um
    • use mutation (not in functional programming)
  • Document, document, document
  • Um2
    • Use masterful formatting
    • Name variables and procedures clearly clearly
  • It’s not just important that it works, it’s important that it works efficiently.

Scheme

  • '(par (en (((the)) is)))
  • UM: Use (already-)Made procedures
    • Approximately 212.45
  • Syntax, like let for local variables.

Data science

  • Data often needs to be cleaned. You can do it by hand, you can write a program, or you can work with dirty data.
  • Once you clean the data, you may still want to select some elements (so use filter) and then work with the data (so use map). More generally, a process for dealing with data.
  • Store data in sensible ways and use procedures like assoc to search the data. (keys, values, comparators, compound data)

General thinking skills

  • Practice in answering questions “on your feet”, as it were.
    • It’s okay to say “Give me a minute to think”
    • It’s okay to say “I’m not sure”
    • It’s okay to say “Let me ask my partner.”
  • Practice working with other people (pair programming)

And beyond

  • There’s more to life than
  • Sam failed at: “Don’t start your responses with ‘um’”
  • Believe in yourself. If you keep working at it, you may succeed.
  • Time management.
  • You have awesome peers (even if they don’t have activities). Support them.
  • There is a lot of stuff going on on campus. Don’t live under a rock.
    • Read eboards or _the_sand_b`
  • When things go wrong, laugh. When things go right, laugh.
  • You are awesome. Please take care of your selves.

Course evaluation

Sam leaves.

Concluding comments

Final Friday PSA

Comments on the final