Course Description
 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 inclass 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 inclass 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 nonsensitive 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)
Online Media
 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 MF from 9am until 5pm.
 Instructor: C. Vogl (cvogl@uw.edu)
 TA for Section A: L. Thompson (lfthomps@uw.edu)
 TA for Section B: A. Hornof (ahornof@uw.edu)
 TA for Section C: B. de Silva (bdesilva@uw.edu)
 MATLAB and Simulink Student Suite
 Textbook "Datadriven 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 Assignment
Current Video Assignment
 Lecture 2 (starting at time 9:30) from Programming Basics: Basics & Simple Programming, due before lecture on 10/13
 Lecture 3 (starting at time 34:00) from Linear Systems Ax=b, due before lecture on 10/13
 HW0, optional: hw0.pdf
 HW1, due before 10:00pm on 10/6: hw1.pdf, matrix.mat
 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).
 Note:
 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 you will be added.
 Scorelator has become an open source, free program since January 1, 2015.
 Lecture 3 from Programming Basics: Basics & Simple Programming
 None
Course Calendar
Topics

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 Linear Systems (Ax=b)  Linear Systems of Equations (notes)
 Gaussian Elimination (text 2.1)
 LU decomposition (text 2.1)
 x=A\b.
Week 3 Iterative Methods for Ax=b when A is large and sparse  Jacobi iteration (text 2.2, notes, L07_testJacobiFAILS.m, L07_testJacobiWORKS.m)
 eigenvalues and eigenvectors eig (text 2.4, notes)
 Jacobi and GaussSeidel iteration (text 2.2, notes, L09_testEigJacobi.m, L09_testGaussSeidelNaive.m, L09_testGaussSeidelFast.m, Jacobi.m, GaussSeidel.m)
 Matlab function bicg
Week 4 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)
 interp1, spline, and polyfit
Week 5 Optimization  Unconstrained optimzation: Golden Search and fminsearch (text 5.1, 5.2)
 Linear programming (text 5.3)
 Genetic algorithms (text 5.5)
 linprog and ga (genetic_demo.m)
Week 6 Numerical Differentiation and Integration for Functions and Data  Forward/Backward/Central differences approximations and error estimation.
(text 4.1, 4.3, notes, TaylorSeries.m, FiniteDifference.m)  Highorder derivative. Left/Rightrectangle rule for integration. (text 4.2, 4.3, notes, numdiffc.m)
 Trapezoid and Simpson's rule and errors.
Integrating particle in vector field.
(text 4.2, 4.3, notes, numintc.m)  Lecture Notes by Li, List of useful difference schemes.
Week 7 Introduction to Differential Equations  Forward and backward Euler integration. Springmassdamper system.
Try ode45.
(text 7.1, 7.2, notes, L19_SpringMassDamper.m)  Error analysis and stability. Example: damped pendulum.
Use ode45.
(text 7.1, 7.2, notes, L20_simpend.m, pend.m)  2nd and 4thorder RungeKutta method.
(text 7.1, 7.2, notes by Brunton, notes by Li)
Week 8 Advanced Differential Equations  Write our own RK4 timestepper and compare with ode45 on the Lorenz equation.
(notes, L22_simulateLORENZ.m, rk4singlestep.m, lorenz.m)  Integrate a cube of points through Lorenz. Vectorize integrator (1001000X speedup). Sensitivity and chaos. (notes, rk4singlestep.m, lorenz3D.m, L23_simLorenzSLOW.m, L23_simLorenzFAST.m)
 Chaos. Examples: double pendulum, threebody problem, Lorenz. Symplectic and variational integration. (notes, double pendulum notes, variational.cc, rungekutta78.cc, doublegyreVEC.m, integrateDGgood.m)
 Lecture Notes by Li. flame.m.
Week 9 The Singular Value Decomposition
Transforming a matrix of data into coordinates that emphasize the dominant features Theory and Implementation (text 15.1)
 Principal components analysis (text, 15.3)
 Demo: eigenfaces
(text 2.5, EIGENFACE.m, faces.zip)  Lecture Notes by Li.
Week 10 Fast Fourier Transforms  Discrete Fourier Transform (DFT) basics (text 10.1, 13.1, notes)
 Fast Fourier Transform (FFT) and filtering, audio (notes, EX1_FFT.m, EX2_FFT.m, loadMusic.m)
 FFT and image compression (notes, compress_wFFTcontour.m)
 Lecture Notes by Li.