Today we’re wrapping up! We’ve made it to the end. Though it is a Friday, there won’t be a MQ today. For the majority of class, we’ll run through examples from across the quarter. I’ll have a poll up at the beginning of class just to ask what sorts of stuff we want to focus on. There won’t be any required participation activities.
We’ve learned a ton of stuff this quarter so there’s a list after the reminders section.
Reminders
-
If someone on the course staff helped you this quarter, take a second to say thanks via this form!
-
I like to save the last few minutes of the last class for a more “general” Q&A. Submit an AMA question about CS, NU, industry, academia, the class, the department, etc. here! (can be anonymous)
-
Don’t forget to submit Exercise 9 (due Friday at 11:59pm) and Ethics Module 9 (due Sunday at 11:59pm)
111 as a List
Look at everything you’ve learned!
- Calling functions (literally all of the glossary!)
- Special syntactic forms (things that don’t follow the rules of computation)
- Composing functions (using output of one function as input of another)
- Unit testing (using
check-expects) - Defining Functions with Lambda Abstraction
- Basics of image generation
- image iterators
- List processing (
map,foldl/r,filter,apply, …) - Recursion (functions can call themselves)
- Iterative Recursion (recursion with an accumulator which is sometimes referred to as tail recursion)
- Sussman Form (shorthand function definition)
- Inductively defined data structures
- Linked lists (i.e. lists are just “linked”
pairs viacons!) - Trees (i.e. a node can be connected to more
trees that we call its children) - Navigating these structures via recursion!
- Linked lists (i.e. lists are just “linked”
- Binary search trees (a particular type of organized tree that allows for fast lookups
O(lg(n)) - Imperative programming (via changing state)
- imperative debugging via the Debugger and via
printstatements
- imperative debugging via the Debugger and via
- Object-Oriented Programming
- Custom
structs (calledClassesin other languages) - Mutation (directly modifying an instance’s properties)
- Inheritance (a
structcan inherit properties from a parent type) - Methods (data can be composed of multiple properties and actions)
- Custom
- Files and Folders
- Directories are just trees!
- They’re imperative in nature
- A relative
pathis one that shows a path to a file from a given starting point - An absolute
pathis one that shows a path to a file from theroot
- HashMaps (technically a HashTable)
- an associative data structure
- has constant (
O(1)) access time - stores
values via akeyrather than an index like a list
- Game Design
- Model - View - Controller
Today's Resources
1. Exercise Files
Download Exercise Files2. Slides
3. Pre-Recorded Lecture Video(s), Mini-Quizzes, and Live Recordings
| Link | Title | Type | Duration |
|---|---|---|---|
| Video 0 | Live Lecture Recording | lecture | 50:00 |