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 |