Math / CS 375, Introduction to Numerical Computing
Spring, 2019
Overview :: Dates :: Grading :: Homework :: Lecture Notes :: Other Materials
Time and Place: Tuesday / Thursday, SMLC 356, 11am-12:15pm
Instructor: Jacob B. Schroder, jbschroder unm.edu
Office Hours: SMLC 332
Wednesday: 9:30am-11am
Thursday: 1:00pm-2: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 10-17
- 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/section-d/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 mid-term)
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
- Software-carpentry 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