General Information
Below are the modules that comprise the course content.
Each module consists of a series of activities.
Not every assigned activity requires you to submit something for grading.
Nonetheless, you are expected to do them all.
If no due date is specified, you are supposed to complete the assigned
activity by the end of the final day allotted for that entire module.
KEYS TO SUCCESS IN THIS COURSE:
READ THE SYLLABUS
The syllabus lays out the basic course policies. It tells you what you must
do to earn a passing grade. It tells you how to get in touch with me if you
run into problems.
HAVE A SCHEDULE
You have some freedom to schedule your own time in this course, but you
DO need to set up a schedule. Do not forget that this course exists and that
you are registered for it. Do not think you can repeatedly set it aside for
days at a time and make up the time later.
IF YOU DON’T UNDERSTAND SOMETHING, ASK QUESTIONS
You can ask questions in the course Forums. You can contact me through email.
You can contact me during office hours. You will find information on these
options in the syllabus and Course Orientation module.
Some people are too shy to ask questions. Some are too proud to ask
questions. Part of being educated is knowing how to exploit your available
information resources. In this course, I am one of those resources.
Overview In this pseudo-module, we will discuss course organization, policies, and mechanics. We will review the CS 417 course website structure, and get set up for the semester to come. We will take a brief look at the major themes and areas of emphasis that we will discuss during the coming semester. This will include a review of prerequisite mathematics (mainly, Calculus) and programming (namely, principles from CS 250). We will discuss the basics of Python 3 with particular emphasis on: Objectives
Relevance You must understand the fundamentals of the tools used any course to be successful. An understanding of expectations for participation, assignment submission, and time management skills is foundational in all academic endeavors. | Activities Getting Started
The Fun Part of Module 1
Office Hours
Example Code Summary
|
Overview In mathematics the impact finite precision is oft dismissed as an artifact of rounding. In most–if not all cases–the solution is to use more decimal places or signifigant digits until precision errors are within an “acceptable threshold” (a nebulous phrase). In this module, we will discuss how to measure and analyze finite precision errors arise from representing a single numerical quantity. Objectives After this module students will be able to:
Relevance When developing software of any size machine precision is a consideration. The impact may be something seemingly inconsequential (e.g., a rounding error of less than one cent). Machine precision can result in interesting impacts (e.g., a solar system simulation may compute planets spiraling into the Sun). | Activities
Example Code
Summary
|
Overview In this module, we will continue our discussion of finite precision and its impact on arithmetic operations. The propagation of error through arithmetic operations will be our primary focus. Objectives After this module students will be able to:
Relevance When developing software of any size rounding is a consideration. The impact may be something seemingly inconsequential (e.g., a rounding error of less than one cent). Machine precision can result in interesting impacts (e.g., a solar system simulation may compute planets spiraling into the Sun). | Activities
Summary
|
Overview In this module, we will continue our discussion of finite precision and its impact on numerical computations. The propagation of error and the resulting behavior on computations will be our primary focus. Objectives After this module students will be able to:
Relevance Error propagation can result in interesting impacts (e.g., a solar system simulation may compute planets spiraling into the Sun). The ability to quantify the impact of a small change in input on a computation is foundational when building (or selecting) numerical methods (and algorithms) | Activities
Summary
|
Overview This module serves as a review of Chapter 1. We will revisit finite precision, arithmetic error, and conditioning of problems. This summary module also serves to force another review of requisite principles from Calculus. Objectives After this module students will be able to:
| Activities
Matrices & Vector Functions
Summary
Additional Reading |
Overview Approximation has numerous applications throughout all disciplines. This can be something as simple as plotting data in Excel and computing a line of best fit or something more domain specific (e.g., transforming raw data for use in A.I. applications. In this Module we will explore Least Squares Approximation at an introductory level in preparation for a more rigorous and thorough derivation in later modules. Objectives After this module students will be able to:
Relevance To apply approximation methods to discrete (and later continuous) data, one must analyze (possibly) unfamiliar mathematical notation. Application of approximation methods requires a solid foundation in linear algebra. | Activities
Semester Project
Summary
|
Overview The previous module discussed the Objectives After this module students will be able to:
Relevance There are many applications in which one must approximate a combination of discrete and continuous data sets. This includes applications in A.I (e.g., hill climbing), Medical Imaging, and Aerospace applications. | Activities Questions & the Impact of Point Selection
Deriving the Formal Method
Putting It Together
Semester Project
Summary
Math References |
Overview This module serves as a review of Least Squares Approximation. We will revisit both the Objectives
| Activities
Semester Project
Summary
Additional Reading |
Overview Interpolation has applications throughout many (if not all) disciplines. This can be something as simple as resizing an image in GNU Image Manipulation Program (GIMP). Interpolation can also be viewed as a complement to approximation. Just like approximation, we need to find a function of best fit. However, interpolation has a stronger invariant: the computed interpolation function must pass through all input points. Objectives After this module students will be able to:
Relevance To apply interpolation methods to discrete data, one must analyze (possibly) unfamiliar mathematical notation. Interpolation has applications in various everyday activities (e.g., photo editing, video upscaling, and mesh generation). | Activities Interpolation Methods
Interpolation Error
Interpolation Taking Stock
Piecewise Interpolation
Example Code Summary
|
Overview There exist many problems that can not be solved analytically. Such problems include finding zeroes (i.e., solutions), computing derivatives, and evaluating integrals. In this module we will discuss for first problem (i.e., computing numerical solutions to equations). Objectives After this module students will be able to:
Relevance There exist various numerical methods for solving problems, including finding zeroes of a function, performing numerical integration, and performing numerical differentiation. The ability to select the appropriate method, interpret pseudocode, and design an implementation (using best an appropriate language) is foundational when building numerical software. | Activities
Example Code Summary
Final Exam
|
Overview Computational Methods and Software covers a broad range of topics. In this course, we covered a few selected topics. This section contains resources and references for topics not covered this semester. | Activities Example Code Reference Materials |
All times in this schedule are given in Eastern Time.
Symbol Key | |
---|---|
Read: | |
Slides : | |
Event or important date | |
Read | |
Assignment: | |
Take the | |
Do: | |
In your recitation section: | |
Under construction: |