Math / CS 375, Introduction to Numerical Computing
Spring, 2020
Overview :: Dates :: Grading :: Homework :: Lecture Notes :: Other Materials
Time and Place: Tuesday / Thursday, SMLC 356, 9:30am10:45am
Instructor: Jacob B. Schroder, jbschroder unm.edu
Office Hours: SMLC 332
Wednesday: 12:30pm2:00pm
Thursday: 2:00pm3:30pm
Syllabus: PDF1
Syllabus Update from Coronavirus: PDF2
Prerequisites:
 CS 151 or CS 152 or Phys 290 or ECE 131 or comparable programming skills AND
 Math 316 or Math 314 or Math 321 or equivalent
Text:
 Numerical Mathematics and Computing by W. Cheney and D. Kincaid, 7th Edition
(6th Edition will also work)
OR  Numerical Analysis by T. Sauer, 3rd Edition
You will need one of these books as a reference, to buttress the incourse slides and derivations. Sauer is likely a better general reference book, but some course material will more closely follow Cheney and Kincaid.
Course Description:
This is an introductory numerical analysis course. We study numerical
methods to solve linear and nonlinear equations, to interpolate and
approximate data, and methods for numerical integration and
differentiation. We will implement all algorithms in MATLAB (or Python),
and begin the course with a MATLAB (or Python) tutorial.
Python is allowed for assignments though we will not spend time
learning it in class.
This is a required course for all mathematics majors with concentration in
Applied Mathematics or in Computational Mathematics.
Schedule of topics, course goals, and desired learning outcomes:
Please see the syllabus.
 Midterm Exam:
March, 26Take Home, Due April 7th, Exam to be emailed  Spring Break: March 1620
 Final Exam: Tuesday, May 12, 7:30am  9:30am (same room, different time)
The course grade will be determined by
 Homework: 45%
 Midterm Exam: 25%
 Final Exam: 30%
 A, 90% or above
 B, 80% or above
 C, 70% or above
 D, 60% or above
 F, below 60%
The instructor reserves the right to curve grades to offset unforeseen circumstances. Such a curve will never decrease a student's letter grade below that from the above scheme.
Exams:
There are two exams, a midterm and a final. Cheating on an exam will be handled
in accordance with the dishonesty policy in the syllabus. There are no makeup exams;
however, I am sympathetic to a student who is unable to take a scheduled
test due to a hardship. Please contact the instructor before the exam (if
possible), should such a hardship occur.
Exam grading disputes must be submitted in writing within one week after the work is returned.
Absences Policy: It is expected that each student regularly attend class.
 Course follows UNM handbook D170 https://handbook.unm.edu/d170/
 Note, the handbook says "A student with excessive absences may be dropped from a course by the instructor with a grade of W/P or W/F."
 If you need to miss more than two classes during the semester, please contact the instructor.
You are strongly encouraged to work in pairs (a group of two students) for the homework. Hand in a single report with both collaborators cited at the top. It is expected that both of you can explain the theory and computer codes. Groups of more than two students are not allowed.
Homework may be submitted late up to a week for 50% credit. Homework grading disputes must be submitted in writing within one week after the work is returned.
Software: Use of MATLAB or numerical Python will be required to complete the course homework assignments.
Homework Assignments
 Homework 0 (PDF) Due: Never
 Homework 1 (PDF) Due: Beginning of class, Jan. 30
 Homework 2 (PDF) Due: Beginning of class, Feb. 11
 Homework 3 (PDF) Due: Beginning of class, Feb. 20
 Homework 4 (PDF) Due: Beginning of class, March 3
 Homework 5 (PDF) Due: Beginning of class, March 12
generate_SPD_mat_and_rhs_vec.m hw5_q1.m hw5_q2.m my_cg.m my_jacobi.m
 NEW HW6 PDF!
Homework 6 (PDF) Due: Midnight, Sunday, March 29 on UNM LEARN
NEW HW6 PDF!  Homework 7 (PDF) Due: Midnight, Sunday, April 19 on UNM LEARN
 Homework 8 (PDF) Due: Midnight, Sunday, April 26 on UNM LEARN
eval_spline.m  Homework 9 (PDF) Due: Midnight, Sunday, May 3 on UNM LEARN
polls.csv  And that's it! No more homework after this.
 Slide Deck 1

MATLAB tutorial (PDF)
matlab_tutorial.m ApproxExp.m f1.m df1.m MyDeriv.m my_funky_fcn.m  Slide Deck 2
 Slide Deck 3
 Slide Deck 4 diff_fwd.m diff_fwd_plot.m diff_central.m diff_richard.m
 Slide Deck 5
 Slide Deck 6 test_memory_patterns_matvec.m test_flops.m GE_naive.m GE_naive_test.m
 Slide Deck 7
 Slide Deck 8
 Slide Deck 9 time_LU_vs_Chol.m
 Slide Deck 10 iterative_methods.m
 Slide Deck 11
 Slide Deck 12
 Slide Deck 13
Begin post Covid19 online part of the course

By Monday, March 28  Read through slide deck 14 (PDF)
⇒ Watch lecture 14 video (streaming)

By Friday, April 3 
Read through slide deck 15 (PDF)
⇒ Watch lecture 15 video (streaming) Long lecture, counts as 2 lectures

By Friday, April 10  Read through slide deck 16 (PDF)
⇒ Watch lecture 16 video (streaming) Exam week, only 1 lecture

By Friday, April 17  Read through slide deck 17 (PDF)
⇒ Watch lecture 17 video (part 1)
⇒ Watch lecture 17 video (part 2) Long lecture, counts as 2 lectures
Files for slide deck 17:
trap_int_test.m
simp_int_test.m

By Friday, April 24  Read through slide deck 19 (PDF)
⇒ Watch lecture 19 video
By Friday, April 24  Read through slide deck 20, up to slide 14 (PDF)
⇒ Watch lecture 20 video (part 1)

By Friday, May 1  Read through slide deck 20, slide 14 till end (PDF)
⇒ Watch lecture 20 video (part 2)
⇒ Watch lecture 20 video (part 2 Addendum)
By Friday, May 1  Read through slide deck 21, up to slide 23 (PDF)
⇒ Watch lecture 21 video (part 1)

Review Week (ending Friday, May 7)  Mostly online office hours, some discussion of numerical ODEs
Other Material
MATLABPython / SciPy
 Python 3 tutorial
 An introduction to NumPy and SciPy
 The SciPy (scientific Python) Lectures
 100 NumPy Exercises
 Softwarecarpentry also has a good introduction to Python
 Jupyter Notebook Tutorial
 Project Euler (lots of practice problems)
 NumPy MedKit (Stefan van der Walt)
 Spyder IDE