AMATH 301: Beginning Scientific Computing

SLN 10212, MWThF 1:30-2:20, KNE 210
(Prerequisites: MATH 125 or MATH 135)

Instructor
Professor Eric Shea-Brown
Guggenheim 415F
Office Hours: Th 5:30-6:00, plus one Q+A day each week in class (Weds. or TBA)

TAs and course assistants
Marci Kalif
Picture of Marci Kalif
Ying Zhou
Picture of Ying Zhou
Mikala Johnson
Picture of Mikala Johnson
Travis Johnson
Picture of Travis Johnson
Sam Stapleton
Picture of Sam Stapleton


*** NOTE: *** Important messages for this course, which you will need to read (including for HW grading via scorelator), will be sent to your u.washington email address (automatic systems will NOT sent to other accounts, such as gmail). Please check this address frequently, or forward it, etc. Thanks!

Course Description

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 taught and used for numerical computation.


Course assistance

Support with MATLAB and course questions available from TAs and course assistants at following times and locations (to be updated, check back frequently):

  • Mondays 10:45 AM - noon, ICL Lab room B027
  • Mondays, 4-8 PM in ICL Lab room B022.
  • Tuesdays 9 AM-1 PM and 4-5PM, in ICL Lab room B022.
  • Tuesdays 5:10-9 PM, in Mary Gates Hall room 058.
  • Wednesdays, 10:45 AM - noon, ICL Lab room B027
  • Wednesdays 4-5:30 PM in ICL Lab room B022.
  • Wednesdays 5:40-9 PM, in Mary Gates Hall room 044 *Exception: 03/04/09 will meet in MGH 030
  • Thurs. 5-8 PM in ICL Lab room B027.

    For smaller technical questions, check out the anwers to frequently asked questions at the bottom of the page.

    Textbook and Notes (.pdf)

    The course will follow these notes by Prof. Nathan Kutz:

    *** COURSE NOTES ***


    We will also refer to parts of Numerical Computing with MATLAB, by Cleve Moler . This text is available electronically at the link just given. 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 -- Introduction
    READING: Ch. 1 of course notes 301.PDF
    Sec. 1.1, 1.2 and p.19-23 of Sec. 1.3, Sec. 1.6, 1.7 of Numerical Computing in MATLAB, by Moler.
    1/5/09 - 1/15/09
    Introduction to MATLAB: noteset_1.pdf
    Introduction to vectors and matrices: noteset_2.pdf
    Introduction to logic and loops: noteset_3.pdf , myfirstcode.m , for_loop_demo.m , for_loop_demo_2.m , for_loop_demo_3.m , for_loop_demo_4.m , nested_for_loops.m , simple_if_statement.m , break_demo.m , bisection.m
    Introduction to saving and loading data: noteset_4.pdf
    Code development: noteset_5.pdf , , temperatures_average_and_plot.m , fibonacci_iterate.m
    Functions and subfunctions: noteset_6.pdf , , mysum.m , elementwise_powerfun.m , elementwise_power_then_sum_function.m , plotter_function.m , elementwise_powerfun.m , bisection_function.m , decreasing_function_for_bisection_demo.m

    (2) Linear Systems
    READING: Ch. 2 of course notes 301.PDF, except final section on Solvability and the Fredholm Alternative
    Sec. 2.1-2.5 of Numerical Computing in MATLAB, by Moler.
    1/16/09, 1/21/09, 1/22/09
    Introduction, direct solve methods: noteset_8.pdf
    Indirect solve methods: jacobi_example.m , jacobi_example_2.m , gauss_seidel_example.m
    1/26/09, 1/28/09
    Eigenvalue problems

    (3) Curve Fitting, Interpolation, Splines:
    READING: Ch. 3 of course notes 301.PDF
    Sec. 3.1, 3.2, 3.5 of Numerical Computing in MATLAB, by Moler.
    1/29/09
    Least-squares fitting
    2/2/09
    Polynomial interpolation and splines
    2/4/09
    Implementing curve fitting
    gaussfit.dat , linefit.dat , gafit.m , polyinterp.m , curvefitting_v2.m lec-15-implementing_fitting.pdf

    (4) Numerical Differentiation and Integration:
    READING: Ch. 4 of course notes 301.PDF
    2/09/09
    Numerical differentiation
    2/11/09
    Numerical integration
    noteset-17-numer-integ.pdf
    2/12/09
    Implementing differentiation and integration
    lec-18-implementing_diff_and_integ.pdf , myfun.m , diff_int.m

    (5) Ordinary Differential Equations:
    READING: Ch. 5 of course notes 301.PDF
    2/18/09
    Introduction to timestepping, Runge-Kutta Schemes
    2/19-20/09
    Multistep methods, higher-order ODEs, and MATLAB implementation

    noteset_20.pdf , LINK TO MATLAB CODES
    2/23/09
    Error analysis, intro to boundary value problems

    2/26/09
    Implementing shooting methods

    noteset-implementing-shooting.pdf , LINK TO MATLAB CODES
    2/26/09, 3/2/09
    Direct methods -- theory and implementation

    noteset-implementing_direct_bvp.pdf , LINK TO MATLAB CODES

    (6) Transforms and spectral analysis:
    READING: Ch. 6 of course notes 301.PDF
    Sec. 8.1, 8.2, 8.4, 8.6 of Numerical Computing in MATLAB, by Moler.
    3/03/09 - 3/9/09
    Fourier Transform -- Introduction

    The Fast Fourier Transform and Denoising

    fft_demo_denoise.m
    The Fourier Transform and Differential equations

    LINK TO MATLAB CODES fft_deriv_demo.m and fast_poisson.m

    (7) Advanced visualization 3/11/09 noteset30.pdf , LINK TO MATLAB CODES

    NOTE: Wednesdays or another day each week devoted to programming and Q and A.

    Schedule and Homework

    Follow links in the table below to obtain a copy of the homework in [PDF document icon] Adobe Acrobat (.pdf) format. 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 Homework Due Date Homework Problem Sets
    First day of class Mon. Jan 5
    Homework#1 due Thurs 1/15 at 3 a.m. Homework #1 (.pdf)
    Homework#2 due Thurs 1/29 at 3 a.m. Homework #2 (.pdf)
    Midterm Practice Problems (sample_questions_and_answers_for_mt1.pdf)
    Midterm 1 In class, Fri 2/6 (MATLAB_commands_provided_on_exam.pdf)
    Homework#3 due Thurs 2/12 3 a.m. Homework #3 (.pdf, amath301_hw3.dat) -->
    Homework#4 due Thurs 2/26 3 a.m. Homework #4 (.pdf)
    Homework#5 due Thurs 3/12 3 a.m. Homework #5 (.pdf), noisydata.dat
    Midterm 2 Fri 3/13 in class
    Midterm 2 Practice Problems (sample_questions_for_mt2.pdf)(sample_questions_for_mt2_solutions.pdf)

    Homework submission and grading

    Homework is submitted at the following link website: www.scorelator.com. Type this address into your internet browswer address bar and log in after you have received a password via email.

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

    Note that the submission checks your answers and compares (anti-cheat) against the MATLAB codes of others in this class and those of past years. You are very welcome to discuss homework problems with your classmates, but must write and submit your own MATLAB code.

    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 50-minute-long midterms for 20% and 20% of your grade respectively. On the midterms, one sheet of notes is allowed (single-sided). Additionally, you will be provided with a list of MATLAB commands (a shortened version of the content of the help files for these commands).

    The homework sets will determine remaining 60% of grade. LATE HOMEWORK WILL NOT BE ACCEPTED.

    However, the lowest HW score out of all 5 will be dropped (this could be a 0 from a missed deadline) when calculating the final course grade.

    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.

    Answers to frequently asked questions

    • Where are my .m files stored when I use the terminal server login for MATLAB? Please be very careful -- files will NOT be saved on your ``local" machine, but on the remote computer you are logging into. Make sure to email yourself your codes (or otherwise transfer the files to yourself) before you log out!!!