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
mapapply
- 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
assocto 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.