Lecture 2:How 3D graphics works
- Films, television, print
- Video games
- million of polygons per seconds
- four stage pipeline
- modeling
- animation
Lecture 3:Video games
- Shigeru Miyamoto
- Donkey kong
- Super Mario bros
- Super Mario
- The legend of zelda
- DS, Wii
Lecture 4:Functions
- why are functions so great?
- if a function only depends on the information gets a input, then nothing else can affect the output
- it can run on any computer the same answer
- this makes incredibly easy to parallelize the function.
- functional programming is a great model for writing software that run in multiple machines at the same time
- What is recursion?
- defining functions that use themselves to complete their own definition.
- function inside of another function f(g(x))
Lecture 5:Programming Paradigms lecture
- the way you interact when you programming
- what is a imperative programming?
- computation a series of steps
- mutation allowed
- changing variables
- like following a recipe
- harder way to think
- have to keep track of all things
- what is object-oriented programming (oop)
- Java C++
- objects as data structures
- classes & instances
- Inheritance saves code
Lecture 6:
- what is a algorithm?
- we have built them all time without knowing
- ceremonies
- recipes
- building instructions
- what are the three types of ways you can attack a problem?
- brute force
- keep trying stuff until something works
- top down
- divide the full problem up into smaller subproblems
- bottom up
- start with simple solutions and built up to complex ones
- brute force
- what is a turing completeness language?
- a language that is turing complete can do anything that other turing complete languages can do.
- a language cannot be more powerful than turing complete language
- a language that can simulate a turing machine
Lecture 8:what is cloud computing?
- companies have their own clusters
- the owners of the clusters do not need all the computers
- rent out their computers
- John von Neumann
- What is moore’s law?
- predicts:2x transistors/chip every 2 years
- Moving in a exponential curve
- Heat created by the cpu
- what is amdahl’s law?
- a program can be broken into 2 parts
- parallel portion
- serial portion
- cant speed this processes anymore
- a program can be broken into 2 parts
- what is parallel programming?
- how to divide a program in a certain area.
- send the data around between processors
- what is a concurrency problem?
- a deadlock
- “two people need to draw a graph but there is only one pencil and one rule”
- Livelock also possible
- movement no progress
- infinite loop of being stuck
Lecture 9:what is Recursion?
- Fractal geometry
- when something creates something else and you leave it be
- an algorithmic technique where a function, in order to accomplish a task, calls itself with some part ofthe task.
- base case
- recursion cases
- divide
- invoke
- combine
- how can you trust the recursion?
- just as powerful as, easier
- divide and conquer
Lecture 11:Recursion part 2?
- fibonacci recursion
- counting change
- recursion *having a super good problem
Lecture 14: Computational Game theory
I always had a passion for the field of STEM (Science, Technology, Engineering, and Math) and I knew I wanted to do something to make a difference in the world. I just didn’t know where to start. I was an immigrant in a new country, grew up in a tough environment, and wasn’t sure how… Read More