CX4640/MATH4640 Syllabus

Course: Numerical Analysis 1, 3 Credit Hours
Time/location: Tues and Thurs, 2:00-3:15PM, Engineering Sci and Mechanics 201
Date range: Aug 23, 2021 - Dec 8, 2021 (last day of class is Dec 1)

  • Instructor: Spencer Bryngelson
    • Email:
    • Office hours: Virtual, Tuesday and Thursday, 4-5PM
    • See Canvas for link.
  • Teaching Assistant: Anshuman Sinha
    • Email:
    • Office hours: Virtual, Wednesday and Friday, see Canvas for timing.
    • See Canvas for link.
  • Include “CX4640” or “MATH4640” in subject line of all email correspondence!

Course website

Canvas! And Piazza. See Canvas for links.

Course description

Introduction to fundamental algorithms and analysis of numerical methods commonly used by scientists, mathematicians, and engineers.


  • Linear and Discrete Mathematics (MATH 2602)
  • Differential Equations (MATH 2403/2413)
  • Intermediate-level expertise of Python, Matlab, Julia, Mathematica, or the like. Lower level languages like C, C++, and Fortran are acceptable but not necessary for this course, and will probably slow you down.

Course goals and learning outcomes

This course is sometimes called “Introduction to Numerical Analysis” or “Intro. to Numerics”. The objective is for you to be proficient in the methods used by computers to solve the equations and problems you have already seen in other courses: linear and nonlinear systems of equations, eigenvalue problems, differential equations, etc (see section below).

This problem is more fraught than it might seem at first! The numerical methods are often hidden behind seemingly benign function calls in your favorite high level language (e.g., Python, Matlab). For example, the Matlab backslash operator (linear solve) is an entire, active field of research! This potential for depth is why courses like this one sometimes comes prepended with the word Introduction. At the end of this course, you will understand the inner workings of the many seemingly simple operators.

A deep dive into each operator and method is impossible due to time restrictions, but you will be exposed to the broader strokes of numerics for each style of problem listed below. If you are interested in a particular problem, the university offers graduate-level detailed courses on just about all of them!

Why Care?

Many reasons. Solving a problem on a computer without any understanding of what the computer is up to is dangerous. More practically, imagine you are solving a problem in (Python, Matlab, Julia, etc.) using a high-level function call. The function call presents you with an error: something has gone wrong. If you don’t know what the method is attempting to do, you are in not in a position to understand the error and fix it. If you don’t fix it, your homework doesn’t get done, your project doesn’t get finished, or your boss is upset. This is your opportunity to preempt such problems.


  • Finite precision computation, sources of error
  • Linear systems of equations
  • Linear least squares
  • Eigenvalue problems
  • Solution of nonlinear equations
  • Optimization
  • Interpolation and approximation
  • Numerical differentiation and integration
  • Numerical solution of ordinary differential equations
  • (If we have time!) Numerical solution of partial differential equations

Recordings and participation

Courses will be recorded on my iPad and distributed, though I cannot promise to broadcast these in real-time. The main reason to attend class, beyond the usual ones, is that I take a rather large amount of time for your questions. I am also glad to stay after class to answer specific questions, or ones that don’t apply to that day’s lecture.



  • 25% Homework
    • You will be assigned four graded homeworks: two before midterm 1 and two before midterm 2. The lowest score of the four will be dropped.
  • 25% Midterm 1 (take-home)
    • Assigned Oct. 13, one week to complete.
  • 25% Midterm 2 (take-home)
    • Assigned Nov. 17, one week to complete.
  • 25% Final exam/project (take-home)
    • Assigned Dec. 1., due on “final exam day”, Dec. 8.


Your final grade will be assigned as a letter grade according to the following scale.

  • A: 90-100%
  • B: 80-89%
  • C: 70-79%
  • D: 60-69%
  • F: 0-59%

Extra credit

There are no extra credit opportunities in this course.

Course text

Michael Heath, Scientific Computing: An Introductory Survey (Revised Second Edition)

Course expectations and guidelines

Late assignments

Late exams and homeworks are subject to a 10% penalty per day late.

Academic Integrity

Georgia Tech aims to cultivate a community based on trust, academic integrity, and honor. Students are expected to act according to the highest ethical standards. For information on Georgia Tech’s Academic Honor Code, please visit or Any student suspected of cheating or plagiarizing on an exam,or assignment will be reported to the Office of Student Integrity, who will investigate the incident and identify the appropriate penalty for violations.

Collaboration policy

All work is to be completed on your own. No collaboration is acceptable, sorry.

Accommodations for students with disabilities

If you are a student with learning needs that require special accommodation, contact the Office of Disability Services at (404) 894-2563 or, as soon as possible, to make an appointment to discuss your special needs and to obtain an accommodations letter. Please also e-mail me as soon as possible in order to set up a time to discuss your learning needs.

Student Use of Mobile Devices in the Classroom

No policy here, but do not disrupt or distract other students.

Supporting resources

I curate supporting lecture notes, slides, videos, and codes at this GitHub repository.