AMATH 301
SLN 10200, MWTHF 1:30-2:20, Kane 210
(Prerequisites: MATH 126 or MATH 136. Recommended CSE 142)

Beginning Scientific Computing



Instructor: Professor Abigail Wacher



TAs:

Yun Zhang (Claire), Mikala Johnson, Travis Johnson and Sam Stapleton

Office hours (Claire): T: 3:30pm-7:30pm in the ICL room CMU B027.
Th: 12:30pm to 2:30pm GUG 415 L.
F: 2:30pm-6:30pm GUG 416

Office hours (Mikala): MW 9:30am-1:30pm, T: 3:30pm-7:00pm in the ICL room CMU B027.

Office hours (Travis): F 12:30pm-2:30pm in the ICL room CMU B027
MW 1:30pm-3:30pm MGH 058, MW 5:00pm-8:00pm ICL room CMU B027
Th 3:30pm-6:30pm GUG 415L Also, see Travis' notes on material you might have missed to help you with this class: Travis' notes

Office hours (Sam): T 3:30pm-8pm at ICL room CMU B027
MW 5:00pm-8:00pm ICL room CMU B027.


Homework Grades Face book group "AMATH 301"

Description and Objectives Textbook and Notes Syllabus Schedule and Homework

Description and Objectives

Introduction to use of computers to solve scientific and engineering problems. Application of mathematical judgment in selecting tools to solve problems and to communicate results. MATLAB is the primary tool used for numerical computation.

Although the subject matter of Beginning Scientific Computing can be made rather difficult, I will attempt to present the course material in as simple a manner as possible. More theoretical aspects, such as proofs, will not be presented. Applications will be emphasized.

Office Hours

Assistance at the ICL lab is scheduled with the Lab Teaching Assistants as well as office hours. For questions regarding the course please attend the ICL lab or one of the scheduled office hours. If the course Teaching Assistant Yun Zhang (Claire) is unable to help you first with your request/question, then you may email me at awacher@u.washington.edu if you need to schedule an appointment with me. Also, I encourage you to please join the Face book group "AMATH 301" to have access to questions and answers via the wall as I will not be accepting questions about the course material via email.

Textbook and Notes (.pdf)

There is no text required for this course. We will follow the notes by Prof. Nathan Kutz available on-line at (.pdf). If you need further reading material two useful books are: 1) Numerical Computing with MATLAB, by Cleve Moler . This text is available electronically at the link just given. 2) Matlab Guide, by Desmond J. Higham and Nicholas J. Higham. In addition, there are a variety of MATLAB help books and other references on course reserve for this class at the library.

Here is a list of a few updates and typos for the notes 301.pdf:
p.10, y1=sin(x) shoudl be y1=sin(x1).
p.13, save x1 x1.dat -ASCII should be save x1.dat x1 -ASCII.
p. 17, equation (2.1.14), last equality: PLUx=Pb should be LUx=Pb.
p.35, use polyinterp function to do polynomial interpolation (order n-1 polynomial) -- see code curvefitting_v2.m
p.37, use command fminsearch in place of fmins

MATLAB on campus

In this course, we will make extensive use of Matlab, a technical computing environment for numerical computation and visualization produced by The MathWorks, Inc.

There is MATLAB access at the ICL lab on campus. You can access this also remotely by following the links to "terminal server", which can also be reached from the ICL page *here*. Another option is to purchase the student version of MATLAB for your personal computer -- this is available for a very heavily discounted price. A Matlab manual is available in the ICL Lab.

Many Matlab resources are available on the net, such as:

Step-by-step instructions for accessing MATLAB from a MAC (many of these settings may be already in place):

  • Go to applications folder in MAC, click on remote desktop connection
  • For "computer," type login.aslab.washington.edu
  • Click on the options arrow
  • Go to display tab
  • Choose size of remote desktop to be 1280X1024 or another "big enough" size
  • Choose millions of colors
  • IF you want to save documents on the MAC, or on a flash drive, go to Local Resources Tab, click the Disk Drives checkbox
  • Click connect.
  • If you need the logon and password from here, go to http://depts.washington.edu/aslab/ and click on ``terminal server" link.

    Another note:

    To avoid having your files viewable by others using remote login, follow these steps.

  • When using remote login, CLICK local resources, and enable access to disk drives
  • (accept warnings)
  • then you will be able to save on LOCAL computer you are logging in from, or even on a flash drive. You can navigate matlab to this local drive and run your codes from there.

    Syllabus

    (1) Program Algorithms and Architecture; Matlab Introduction: 4 lectures + 1 Q&A
    • Monday, March 30: Lecture 1: Course information and basic MATLAB notation (.pdf)
    • Wednesday, April 1: Lecture 2: Vectors and Matrices (.pdf)
    • Thursday, April 2: Lecture 3: Logic, Loops and Iterations (.pdf), and bisection.m (.m)
    • Friday, April 3: Programming Q&A (.m)
    • Monday, April 6: Lecture 4: Plotting and Importing/Exporting Data(.pdf)
    (2) Linear Systems: 3 lectures + 1 Q&A
    • Wednesday, April 8: Lecture 5: Direct solution methods for Ax= b ***
    • Thursday, April 9: Lecture 6: Iterative solution methods for Ax = b. Solvability and the Fredholm-Alternative Theorem. ***
    • Friday, April 10: Programming Q&A ***
    • Monday, April 13: Lecture 7: Eigenvalues and Eigenvectors (.pdf)
    *** This hour will be presented by Professor Nathan Kutz.
    (3) Curve Fitting, Interpolation, Splines: 3 lectures + 1 Q&A
    • Wednesday, April 15: Lecture 8: Least-Square Fitting Methods (.pdf)
    • Thursday, April 16: Lecture 9: Polynomial Fits and Splines (.pdf)
    • Friday, April 17: Programming Q&A Clean implementation of Interpolating Polynomial by Calzino: (.m) found online: via mathworks
    • Monday, April 20: Lecture 10: Data Fitting with MATLAB (.pdf)(.dat)(.m)(.dat)
    (4) Numerical Differentiation and Integration: 3 lectures + 1 Q&A
    • Wednesday, April 22: Lecture 11: Numerical Differentiation (.pdf)
    • Thursday, April 23: Lecture 12: Numerical Integration (.pdf) and pictures from Eric Shea-Brown (.pdf)
    • Friday, April 24: Programming Q&A
    • Monday, April 27: Lecture 13: Implementation of Differentiation and Integration (.pdf), ux_2ndOrder.m (.m), data_MoreReal.dat (.dat), ux_2ndOrder_MoreReal.m (.m), myux.m (.m)
    (5) Differential Equations: 5 lectures + 2 Q&A + midterm 1
    • Wednesday, April 29: Lecture 14: Initial value problems: Euler, Runge-Kutta and Adams methods (.pdf), aquabuoy (.m), solve_aquabuoy (.m)
    • Thursday, April 30: Lecture 15: Error analysis for time-stepping routines (.pdf)
    • Friday, May 1: Programming Q&A
    • Monday, May 4: Midterm 1 (covering material up to and including Wednesday, April 29)
    • Wednesday, May 6: Lecture 16: Boundary value problems: the shooting method (.pdf), file f: (.m), file solve_bvp.m (.m), file solve_bvp_2.m (.m), file fbc.m (.m)
    • Thursday, May 7: Lecture 17: Boundary value problems: direct solve and relaxation (.pdf)
    • Friday, May 8: Programming Q&A
    • Monday, May 11: Lecture 18: Implementing a numerical method for BVPs. File Direct.m (.m), file F.m (.m), file A.m (.m), file Jac.m (.m), file Newton.m (.m)
    (6) Transforms and Spectral Analysis: 2 lectures + 1 Q&A
    • Wednesday, May 13: Lecture 19: Basics of the Fourier Transform ***
    • Thursday, May 14: Lecture 20: Spectral Analysis and Application of the FFT ***
    • Friday, May 15: Programming Q&A ***
    *** This hour will be presented by Professor Nathan Kutz.
    (7) Partial Differential Equations: 3 lectures + 1 Q&A
    • Monday, May 18: Lecture 21: Basic time- and space-stepping schemes. (.pdf), (rhs.m), (pde_1D.m), (rhs2D.m), (pde_2D.m)
    • Wednesday, May 20: Lecture 22: Time- and space-stepping schemes part I. (.pdf), (one_way_wave.m)
    • Thursday, May 21: Lecture 23: Time- and space-stepping schemes part II. (.pdf), (heat.m)
    • Friday, May 22: Programming Q&A. Backward Euler for the heat equation created by AMATH 301, Spring 2009 students in class (.m)
    • Monday, May 25: Memorial day/no class
    (8) Final Midterm Review: 2 lectures + 1 Q&A
    • Wednesday, May 27: Lecture 24: Review and study guide for final part I.
    • Thursday, May 28: Lecture 25: Review and study guide for final part II.
    • Friday, May 29: Programming Q&A
    (9) Visualization: 2 lectures + 1 Q&A
    • Monday, June 1: Lecture 26: Advanced 2D plotting, and hints for the midterm
    • Wednesday, June 3: Lecture 27: Advanced 3D plotting, and hints for the midterm
    • Thursday, June 4: Programming Q&A
    • Friday, June 5: Midterm 2

    Schedule and Homework

    Follow links in the table below to obtain a copy of the homework in Adobe Acrobat (.pdf) format. You may also obtain here solutions to some of the homework and exam problems. An item shown below in plain text is not yet available. For additional information regarding viewing and printing the homework and solution sets, click here.

    Homework and Exams Important due dates Homework Problem Sets
    First day of classes Monday, March 30
    Homework#1 due Sunday, April 12 at 11 p.m. Homework #1 (.pdf)
    Homework#2 due Thursday, April 23 at 11 p.m. Homework #2 (.pdf)
    Midterm 1 Monday, May 4 Summer 2008 M1 (.pdf), Winter 2009 sample M1 (.pdf) , Spring 2009 M1 (.pdf)
    Homework#3 due Thursday, May 7 at 11 p.m. Homework #3 (.pdf)
    Homework#4 due Thursday, May 21 at 11 p.m. Homework #4 (.pdf), and download this noisy data: (noisydata.dat)
    Memorial Day Monday, May 25 no classes
    Homework#5 due Thursday, June 4 at 11p.m. Homework #5 (.pdf)
    Midterm 2 Friday, June 5
    Last day of classes Friday, June 5

    HOMEWORK SUBMISSION

    You can now submit homework at the following link: www.scorelator.com

    NOTE: you must use Firefox or Internet Explorer (NOT Safari) web browsers to access scorelator.

    Remember that the submission checks your answers and compares (anti-cheat) against the MATLAB codes of others in this class and those of past years.

    Grading

    Your course grade will be calculated by weighing the homework, Midterm 1, and Midterm 2 in the proportions 60%, 20%, and 20%, respectively. Homework problem sets will be assigned roughly bi-weekly. Homework constitutes 60% of your final grade. There will also be two one-hour-long midterms for 20% and 20% or your grade respectively.

    The test schedule is as follows:

    Midterm 1: Monday May 4, 2009 (20% - 50 minutes)
    Midterm 2: Friday, June 5, 2009 (20% - 50 minutes)

    Four of the five homework sets will determine the remaining 60% of your grade (the fifth lowest scoring homework set will be ignored). LATE HOMEWORK WILL NOT BE ACCEPTED.

    Homework will be submitted and graded on-line. You have up to five 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 must fix it and re-submit the homework. Your highest submitted homework grade will be your final grade for that particular homework.


    <awacher@u.washington.edu> Friday March 27, 2009