Class Hours

Section A Section B MWThF 2:203:20
HCK 132Online Video Lectures 
 Thursday classes are selfstudy hours for the video lectures and lab assistance:
 Instructional Computing Lab with Matlab Access (Communications Bldg B027)
link
 Thursday 1 pm– 4 pm
 Email should be your last avenue for assistance.
 Meet with the instructors and teaching assistants in the class and lab hours and raise your questions about the video lectures and homework problems.
 Questions may also be posted on the Discussion Board.
 DO NOT discuss homework solutions on the discussion board. Only general questions about the videos, lectures, course materials, and clarifications about the homework problems are allowed.
 This course will provide an introduction to the use of computers to solve problems arising in the physical, biological, and engineering sciences. Various computational approaches 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 demonstrated. The student will gain mathematical judgement in selecting tools to solve scientific problems through 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. Although the subject matter of Scientific Computing has many aspects that can be made rather difficult, the material in this course is an introduction to the field and will be presented in a simple as possible way. Theoretical aspects will be mentioned throughout the course, but more complicated issues such as proofs of relevant theorems/schemes will not be presented. Applications will be emphasized.
 The lectures have been flipped and are available on an open website, allowing to learn at their own pace, pausing and reviewing as necessary.
 Prerequisites: Differential and Integral Calculus, MATH 124 and 125 or equivalent.
Useful Links
 Online Video Lectures
Week1
Week2
Week3
Week4
Week5
Week6
Week7
Week8
Week9
Week10
Supplementary videos may be found in different weeks.
Students are required to watch the video lectures before attending the Wednesday classes.  Canvas Website (access restricted to registered students)
 Piazza Discussion Board (Default login is (UW NetID)@uw.edu)
 Scorelator: Online Homework Submission/Grading System go / instructions / Mfile example / Troubleshooting
 MATLAB and Simulink Student Suite (Recommended if you do not have access) UW ITconnect Official Website
 Instructional Computing Lab with Matlab Access (Communications Bldg B027) view

Textbook "Datadriven modeling and scientific computation" by Prof. Kutz
Amazon
(NOTE: All author proceeds are forfeited to the Department of Applied Mathematics, University of Washington)
Courseworks and Key Dates
 Homeworks (Biweekly) (60% of total grade)
 A total of 5 homeworks (and an additional 0th homework)
 See Canvas for assignments
 Submit assignments on Scorelator, you will have 5 attempts.
 The lowest homework score will be dropped.
 MidTerm Exams (20% of total grade)
 Friday, July 15th, 2016
 Inclass
 Friday, August 5th, 2016
 Inclass
 Final Exam (20% of total grade)
 Friday, August 19th, 2016
 Inclass
Instructor
 Mr. Alexander Hornof website
Lectures: Monday/Wednesday classes
 Mr. Xin Yang website
Lectures: Friday classes

Week 1 Basics of MATLAB and Introduction  Video Lectures 1–3
 Constructing matrices/vectors (text 1.1)
 for and if statements (text 1.2)
 Inputing/Exporting/Plotting data (text 1.5)
 Matlab function fzero
Week 2 Linear Algebra and Direct Solutions of Ax=b  Video Lectures 4–6
 Matrix manipulations (notes)
 Gaussian elimination (text 2.1)
 LU decomposition lu (text 2.1)
 The "blackslash" command x=A\b.
Week 3 Iterative Methods for Ax=b when A is large and sparse  Video Lectures 7–9
 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)
Week 4 Interpolation and Curve Fitting of Empirical Data  Video Lectures 10–12
 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  Video Lectures 13–15
 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  Video Lectures 16–18
 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)
Week 7 Introduction to Differential Equations  Video Lectures 19–21
 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)
Week 8 Advanced Differential Equations  Video Lectures 22–24
 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)
Week 9 The Singular Value Decomposition
Transforming a matrix of data into coordinates that emphasize the dominant features Video Lectures 25–27
 Theory and Implementation (text 15.1)
 Principal components analysis (text, 15.3)
 Demo: eigenfaces
(text 2.5, EIGENFACE.m, faces.zip)
Week 10 Fast Fourier Transforms  Video Lectures 28–30
 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)
MATLAB on/off campus
 Some departments may provide Matlab access to their students. Please check with your department.
 There is MATLAB access at the Instructional Computing Lab in the Communications Building.
 MATLAB and Simulink Student Suite can be purchased from the University Bookstore or online Mathworks.com for a permanent student copy for $99. UW also offer a timelimited student copy for $30.
 Some addon products for image processing will be used in this course.
 Homework will be submitted and graded online through a system called Scorelator. Instructions
 LATE HOMEWORK WILL NOT BE ACCEPTED.
IMPORTANCE: 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 soon as possible.  You have up to 5 attempts per homework to get everything correct. If everything is correct the first time a homework is submitted, you will receive a 100% for that homework. If something is not correct, then you may fix it and resubmit. Your best score for each homework will be your recorded grade (i.e. there is no penalty for correcting and resubmitting).
 An AntiCheat system is enforced to compare your code against the codes of others in your section and other sections, and all past years.
 Note:
 Scorelator must be accessed through Firefox or Internet Explorer (NOT Safari or Chrome). Additionally, Scorelator CANNOT be accessed on the ASLAB terminal server.
 The instructor will register your UW NetID to Scorelator after the first week 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 login information will be sent to you UW email box. Be sure to check if any emails entitled "Scorelator" are filtered/spammed.
 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 containgin 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, send your instructor an email and he/she will add you to the system.
 Scorelator has become an open source, free program since January 1, 2015.
 DO NOT send any emails from Scorelator. Talk to your instructor and TAs for any questions.