Math / CS 375, Introduction to Numerical Computing
Spring, 2019
Overview :: Dates :: Grading :: Homework :: Lecture Notes :: Other Materials
Time and Place: Tuesday / Thursday, SMLC 356, 11am12:15pm
Instructor: Jacob B. Schroder, jbschroder unm.edu
Office Hours: SMLC 332
Wednesday: 9:30am11am
Thursday: 1:00pm2:30pm
Syllabus: PDF1
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)
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, 5
 Spring Break: March 1017
 Final Exam: Tuesday, May 7, 12:30pm  2:30pm (same room, different time)
 No office hours Wednesday and Thursday, March 27 and 28
These office hourse are now moved to Friday, March 29 from 3pm till 5pm.
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 https://handbook.unm.edu/policies/sectiond/d170.html
 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

MATLAB tutorial (PDF)
matlab_tutorial.m
ApproxExp.m
f1.m
df1.m
MyDeriv.m
my_funky_fcn.m
Due: Never  Homework 0 (PDF) Due: Never
 Homework 1 (PDF) Due: Beginning of class, Jan. 31, 2019
 Homework 2 (PDF) Due: Beginning of class, Feb. 12, 2019
 Homework 3 (PDF) Due: Beginning of class,
Feb. 19, 2019Feb. 21, 2019  Homework 4 (PDF) Due: Beginning of class, March 7, 2019
(can turn in early, for feedback before midterm)
generate_SPD_mat_and_rhs_vec.m hw4_q1.m hw4_q2.m my_cg.m my_jacobi.m
 Homework 5 (PDF) Due: Beginning of class, March 21, 2019
 Homework 6 (PDF) Due: Beginning of class, April 2, 2019
 Homework 7 (PDF) Due: Beginning of class, April 11, 2019
eval_spline.m 
Homework 8 (PDF)Homework 8 with clarifications in red (PDF)
Due: Beginning of class, April 25, 2019
polls.csv  Homework 9 (PDF) Due: Beginning of class, May 2, 2019 (It's short, don't worry!)
 Slide Deck 1
 Slide Deck 2
 Slide Deck 3
 Slide Deck 4
 Slide Deck 5 test_memory_patterns_matvec.m test_flops.m GE_naive.m GE_naive_test.m
 Slide Deck 6
 Slide Deck 7
 Slide Deck 8 time_LU_vs_Chol.m
 Slide Deck 9 iterative_methods.m
 Slide Deck 10
 Slide Deck 11
 Slide Deck 12
 Slide Deck 13
 Slide Deck 14
 Slide Deck 15
 Slide Deck 16 diff_fwd.m diff_fwd_plot.m diff_central.m diff_richard.m
 Slide Deck 17 trap_int_test.m simp_int_test.m
 Slide Deck 18 lgwt_table.m int_gauss.m int_gauss_test.m int_compare_gauss_trapezoid_simpson.m
 Slide Deck 19
 Slide Deck 20
 Slide Deck 21
 Slide Deck 22 (fun topic, not on final) monte_pi.c monte_pi.m
 taylor_and_floating_point.pdf
 linear_systems.pdf
 iterative_methods.pdf
 root_finding_questions.pdf Midterm will only cover root finding up to Newton's method.
 differentiation_questions.pdf
 quadrature_questions.pdf
 poly_int_questions.pdf
 spline_questions.pdf
 svd_least_sq_questions.pdf
 power_method_questions.pdf
 ode_questions.pdf
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
Last updated Spring, 2019