Module Summaries

Thomas J. Kennedy

Contents:

Depending on when you are reading this document, we might be starting the first module, finishing a module, or preparing for the Final Exam.

The course has a set of global objectives, listed in the syllabus. Every module has a set of local (i.e., module specific) objectives. Each section of this document corresponds to a module we will cover, or have covered.

Why is this One Document?

Courses have objectives; modules have objectives. Each module is a single puzzle piece. It only takes one missing piece to ruin a puzzle.

1 Online Orientation and Course Introductions

Objectives

Having completed this module students are now prepared to:

  1. Identify requirements, protocols, policies, and expectations for CS 417.
  2. Discuss and utilize select tools for communication, collaboration, and documentation.
  3. Discuss course themes and their relation to computational methods.

Questions to Consider

  1. How are final course grades computed?
  2. What are the Homework requirements?
  3. What are the Machine Assignment Requirements
  4. Is the Final Exam cumulative?
  5. Who is my teacher?
  6. Are questions important? yes
  7. What is Homework 0?
  8. What mathematical concepts should I review?
  9. Did I read the entire syllabus?

2 Chapter 1: Machine Arithmetic & Related Matters

2.1 Real Numbers & Machine Numbers & Rounding

Objectives

Having completed this module students are now prepared to:

  1. Discuss the impact of finite precision on machine representation of floating-point values.
  2. Apply mathematical analysis to examine (i.e., quantify) the magnitudes that can be represented with a finite number of mantissa and exponent bits.
  3. Compare the error that arises in finite representation using the well known absolute error and relative error formulae.
  4. Explain the difference between absolute and relative error, and discuss how absolute and relative error are mathematically linked.

Questions to Consider

  1. Why do floating point operations often yield incorrect results, e.g.,
    double x = (1.0 / 3.0) + (1.0 / 3.0) + (1.0 / 3.0);?
  2. How are floating point numbers represented?
  3. How are octal and hexadecimal shorthand for binary?
  4. What is the normalization constraint?

2.2 Rounding & Finite Arithmetic

Objectives

Having completed this module students are now prepared to:

  1. Discuss the impact of finite precision on error propagation in arithmetic operations involving two operands.
  2. Examine the impact of finite precision on error propagation in arithmetic operations involving three or more operands and one operation (e.g., addition, subtraction, multiplication, and division).
  3. Examine the impact of finite precision on error propagation in arithmetic operations involving three or more operands and combinations of two or more operations).

Questions to Consider

  1. How does rounding in math relate to finite precision?
  2. What is the difference between rounding and truncation?
  3. How does rounding error propagate through addition operations?
  4. How does rounding error propagate through subtraction operations?
  5. How does rounding error propagate through multiplication operations?
  6. How does rounding error propagate through division operations?
  7. How does rounding error propagate through chained arithmetic operations?

2.3 Condition of a Problem

Objectives

Having completed this module students are now prepared to:

  1. Discuss the sensitivity of computations to errors in input resulting from finite precision.
  2. Quantify (i.e., examine/model) through *Condition Number*s the sensitivity of computations to errors in input resulting from finite precision.
  3. Explain (through mathematical analysis) when a problem is ill-conditioned or well-conditioned.
  4. Leverage the results of Condition Number analysis to develop alternative methods of computation when a problem is ill-conditioned.

Questions to Consider

2.4 Unit Summary

Objectives

Having completed this module students are now prepared to:

  1. Summarize the techniques discussed in this unit.
  2. Combine the techniques discussed in this unit to examine non-trivial problems.
  3. Utilize various principles from Calculus (e.g., differentiation, integration, limits, sequences, and series) in combination without becoming overwhelmed.

Questions to Consider

Questions will be discussed in recorded lectures and on the discussion board.

3 Chapter 2 Approximation

3.1 Introduction to Approximation

Objectives

Having completed this module students are now prepared to:

  1. Locate and review web-based resources covering Least Squares Approximation at an introductory level.
  2. Explain how approximation methods can be employed for trend analysis for simple data (e.g., grade projection and price analysis).
  3. Manually (i.e., by hand on paper) build a solution for discrete data.

Questions to Consider

3.2 Approximation Proper

Objectives

Having completed this module students are now prepared to:

  1. Explain the differences between the Riemann Integral and Riemann-Stieltjes Integral.
  2. Apply the weighted L2-Norm, properties of inner products, derivatives, and integrals to explain derivations of Least Squares Approximation.
  3. Explain the impact of basis functions.
  4. Manually (i.e., by hand on paper) build a solution for continuous functions/data.
  5. Discuss the motivation for a single Least Squares notation to reconcile the discrete and continuous cases.

Questions to Consider

  1. Why do we need Least Squares approximation?
  2. What does the weighted L2-Norm represent?
  3. What is the key difference between the Riemann Integral and Riemann-Stieltjes Integral?
  4. For the continuous case, why do we sometimes need a different function?
  5. What programs use Least Squares Approximation?
  6. Where did you use Least Squares Approximation, before this course?

3.3 Approximation - Unit Summary

Objectives

Having completed this module students are now prepared to:

  1. Explain how the [XTX|XTY] and [Ac|b] notations are related.
  2. Construct a mathematical proof to show [XTX|XTY] is equivalent to [Ac|b] for discrete data.

4 Chapter 3: Interpolation

Objectives

Having completed this module students are now prepared to:

  1. Locate and review web-based resources covering interpolation at an introductory level.
  2. Explain how interpolation methods can be employed for trend analysis for simple data (e.g., price analysis and temperature analysis).
  3. Summarize the differences between approximation and interpolation.
  4. Apply Lagrange Interpolation and Newton Interpolation.
  5. Apply piecewise linear interpolation (e.g., in the Semester Project).
  6. Compute interpolation error.
  7. Compare interpolation error to approximation error.

Questions to Consider

  1. What is the key difference between approximation and interpolation?
  2. Why are piecewise interpolation methods necessary?
  3. What is Runge’s phenomenon?

5 Selected Topics

5.1 Chapter 4: Non-Linear Solvers

Objectives

Having completed this module students are now prepared to:

  1. Discuss the requirements for each of the Bisection method, False Position (Regula False) method, Secant method, and Newton’s method.
  2. Manipulate provided pseudocode and refine it into a form suitable for implementation in a selected language (e.g., C, C++, Python 3, or Rust).
  3. Identify the considerations inherent in converting pseudocode (theory) into usable code (application)–with particular emphasis on the impact of finite precition.

Questions to Consider

  1. Why can pseudocode not be immediately translated into a language such as C++, Java, Python or Rust?
  2. What are invariants?
  3. Why do multiple non-linear solvers exist?
  4. Under what conditions does each method find a solution (i.e., zero)?
  5. Under what conditions does each method not find a solution (i.e., zero)?