- The course will provide an introduction to using computers to solve problems arising in the physical, biological, and engineering sciences. Various computational approaches that are commonly used to solve mathematical problems (including systems of linear equations, curve fitting, integration, and differential equations) will be presented. Both the theory and application of each numerical method will be explored with in-class examples and programming homework assignments.
- MATLAB will be used as the primary environment for numerical computation. An overview of MATLAB's syntax, code structure, and algorithms will be given. The material in this course is meant as an introduction to scientific computation and will be presented as simply as possible. Theoretical aspects will be mentioned throught the course, but more complicated issues such as proofs of relevant theorems/schemes will not be presented. Applications will be emphasized.
- The course consists of in-class lectures, video lectures, recitation sessions, and computational lab hours. Times and locations are found under the CALENDAR tab. A link to the video lectures, and supplementary material, is found under the RESOURCES tab.
- Prerequisites: Differential and Integral Calculus, MATH 124 and 125 or equivalent.
- Questions/concerns pertaining to non-sensitive issues that are emailed to either the Instructor or the Teaching Assistants will NOT be read (because of the large number of students). Instead, these should be brought up after lecture, during recitation, in the lab, or on the discussion board (link found under the RESOURCES tab).
- Students are encouraged to help each other to debug code. Copying, sharing, or distributing code, however, is not allowed and considered cheating. This policy is strictly enforced using plagiarism detection software. Students who violate this policy will be caught, receive zero points on the assignment, and referred to the Dean if necessary.
- 50% - weekly progamming assignments (lowest score is dropped)
- 10% - weekly video assignments (lowest score is dropped)
- 20% - midterm exam (on 11/6)
- 20% - final exam (on 12/11)
- Video lectures, supplemental videos, and example code can all be accessed here.
- Some videos will be required by the instructor; however, all videos are designed to aid the students in this course
- The course uses a GoPost discussion board.
- Students are encouraged to post questions/concerns and to reply to those of other students.
- The board will be moderated by the instructor and TAs periodically M-F from 9am until 5pm.
- Instructor: C. Vogl (email@example.com)
- TA for Section A: L. Thompson (firstname.lastname@example.org)
- TA for Section B: A. Hornof (email@example.com)
- TA for Section C: B. de Silva (firstname.lastname@example.org)
- MATLAB and Simulink Student Suite
- Textbook "Data-driven modeling and scientific computation" by Prof. Kutz
- available for purchase at the University Bookstore
- available for purchase on Amazon (NOTE: All author proceeds are forfeit to the Department of Applied Mathematics, University of Washington)
LATE ASSIGMENTS WILL NOT BE ACCEPTED.
Current Video Assignments
Current Video Assignments
- Lecture 3 from YouTube (from 4:00 on), due before lecture on 12/1
- Scorelator is used to collect and grade programming assignments (instructions).
- UW only has licenses for 40 simultaneous MATLAB users. On high volume time, especially when the homework is due, the terminal may be busy for hours and your submission will be queued. To avoid late submission due to traffic, you are strongly recommended to submit your assignment as early as possible.
- You have up to 5 attempts per homework to get everything correct. Your best score for each assignment will be your recorded grade (i.e. there is no penalty for correcting and resubmitting).
- Scorelator must be accessed through Firefox or Internet Explorer (NOT Safari or Chrome). Additionally, Scorelator CANNOT be accessed on the ASLAB terminal server.
- Make sure to REFRESH your browser after uploading or deleting each file. This assures Scorelator is synced with the server.
- The instructor will register your UW NetID to Scorelator on the first day of class, given that you have registered the class before the beginning of the quarter.
- The default login name is (UW NetID)@uw.edu.
- An email containing a temporary password will be sent wherever the above account is forwarded to. Be sure to check if any emails entitled "Scorelator" are filtered/spammed.
- After logging in, make sure to change this temporary password using the "Edit Profile" link.
- If no email has been received, go to the Scorelator homepage, type in your UW email address and click on: "I forgot my password". Another email containing new login information will be sent.
- If you have registered after the beginning of the quarter and the procedure above does not work for you, post in the appropriate place on the discussion board in ordered to be added.
- Scorelator has become an open source, free program since January 1, 2015.
- Lecture 2 from Programming Basics: Basics & Simple Programming
- Lecture 3 from Programming Basics: Basics & Simple Programming
- Supplemental Video on "Using LU decomposition" from Linear Systems Ax=b
- Lecture 2 from Iteration Methods & Eigen-decomposition (from min 11:50 until 29:50)
- Iteration Method Demo from Panopto Hosting Site
- Function Intro and fminsearch from Panopto Hosting Site
- Lecture 3 from Curve Fitting
- Lecture 3 from Optimization
- Lecture 1 from Integration & Differentiation (from 39:00 until 47:00)
- Lecture 3 from Integration & Differentiation (from 1:50 until 7:30, and 33:00 on)
- Lecture 1 from YouTube (from 15:00 on)
- Supplement: Using ODE45 and Runge-Kutta methods from YouTube
Week 1 Basics & Simple Programming
- Vectors and Matrices (text 1.1)
- Logic, Loops, and Iterations (text 1.2)
- Plotting/Importing/Exporting data (text 1.5)
- if, elseif, for, plot, save, load
Week 2 Week 3 Linear Systems (Ax=b)
- Linear Systems of Equations
- Gaussian Elimination (text 2.1)
- LU decomposition (text 2.1)
- x=A\b, LU
Week 4 Iterative Methods for Ax=b when A is large and sparse
- Jacobi iteration (text 2.2)
- eigenvalues and eigenvectors (text 2.4)
- Jacobi and Gauss-Seidel iteration (text 2.2)
- eig, eigs, diag, tril
Week 5 Interpolation and Curve Fitting of Empirical Data
- Least squares (text 3.1)
- Interpolation and polynomial fitting (text 3.2)
- Data fitting in Matlab (text 3.3)
- polyfit, polyval, spline, interp1
Week 6 Optimization
- Unconstrained optimzation (text 5.1, 5.2)
- Linear programming (text 5.3)
- Genetic algorithms (text 5.5)
- fminbnd, fminsearch, linprog, ga
Week 7 Numerical Differentiation and Integration for Functions and Data
- Finite differences and errors (text 4.1, 4.3)
- High-order and quadratures (text 4.2, 4.3)
- Trapezoid and Simpson's rules (text 4.2, 4.3)
- trapz, cumtrapz, quad
Week 8 Introduction to Differential Equations
- Forward and backward Euler (text 7.1, 7.2)
- Error analysis and stability (text 7.1, 7.2)
- 2nd order and Linear ODEs (text 7.1, 7.2)
Week 9 The Singular Value Decomposition
- Theory and Implementation (text 15.1)
- Principal components analysis (text 15.3)
- Demo: eigenfaces (text 2.5)
Week 10 Fast Fourier Transforms
- Discrete Fourier Transform (text 10.1, 13.1)
- Fast Fourier Transform (FFT) and filtering
- FFT and compression
- fft, ifft, fftshift, ifftshift