Instructor: Umut Isik
Teaching Assistant (labs): Eric Puttock
Course homepage: https://www.math.uci.edu/~isik/teaching/17W_MATH9/index.html
Homework solutions: please get in touch if you need them.
Lecture notes (Jupyter notebooks) are available in the Lectures folder.
| Lecture | Contents |
|---|---|
| Lecture 1 | Jupyter notebooks, expressions, operations, variables |
| Lecture 2 | Variables, Types, Defining your own functions, local vs global variables |
| Lecture 3 | Swapping variables, global keyword, if-else, booleans |
| Lecture 4 | While loops, checking for primeness |
| Lecture 5 | Don't use == on floats, thinking about algorithm first, division with remainder example |
| Lecture 6 | Checking primes more efficiently, Euclidean Algorithm |
| Lecture 7 | Break and continue, lists, for loops |
| Lecture 8 | List comprehension, mutable vs. immutable |
| Lecture 9 | More on mutables, binary numbers, selection-sort |
| Lecture 10 | Sorting, complexity, big-O notation |
| Lecture 11 | Recursion |
| Lecture 12 | Flattening lists with recursion, map, reduce, filter |
| Lecture 13 | More functional programming methods, map, reduce, filter |
| Lecture 14 | Classes |
| Lecture 15 | Lists of lists, Numpy arrays, matplotlib |
| Lecture 16 | More numpy and matplotlib, plot, showimg, apply along axis |
| Lecture 17 | More about slicing numpy arrays, working with images, historams |
| Lecture 18 | Probability and randomness, random(), randomint |
| Lecture 19 | Choice, mean and std of data-set, random simulations |
| Lecture 20 | Random walks |
| Lecture 21 | Law of large numbers and the central limit theorem |
| Lecture 22 | Minimizing/maximizing functions, Gradient Descent |
| Lecture 23 | Linear Regression |
| Lecture 24 | Solving linear regression by gradient descent |
| Lecture 25 | Singular Value Decomposition, Principal Component Analysis, Eigenfaces |
| Lecture 26 | Matlab tutorial, key differences with Python |