CS 321 (same as MA-321) - Introduction to Numerical Methods

 

Credits: 3

 

Course Description

 

Floating point arithmetic. Numerical linear algebra; elimination with partial pivoting and scaling. Polynomial and piecewise interpolation. Least squares approximation. Numerical integration. Roots of nonlinear equations. Ordinary differential equations. Laboratory exercises using software packages available at computer center.

 

Prereqs: MA 213 and CS 221 or equivalent. Knowledge of a procedural computer language is required.

 

Needed Skills

 

Good mathematical background (Calc. 3 and Linear Algebra), knowledge of a high-level programming language (e.g., C, Fortran).

 

Learning Outcomes

 

Students will learn basic concepts, problems and methods used in numerical computing. Specifically students will be able to:

1. estimate computed errors

2. select/propose methods that yield small errors (if possible)

3. understand important properties for a number of basic methods (e.g., Gaussian elimination, Lagrange and spline interpolation, Trapezoidal and Simpson's quadratures, Newton's iteration, Runge-Kutta methods).

4. modify problems for better algorithm performance

5. analyze results computed in fl-arithmetic

 

Measures

 

These outcomes will be evaluated on the basis of student home-works, exams and class participation that will contain problems related to the outcomes.

 

CAC Categories

 

Topic

Core

Advanced

Math Fundamentals

27

7

Data Structures

2

0

Algorithms & Software Design

8

0

Computer Organization and Architecture

0

0

Concepts of Programming Languages

0

0

Social and ethical issues

1

0

Total

38

7

 

Math Fundamentals (34):

Core (27): Integration, differentiation, Taylor's series (10); Error estimation (7); General algorithm analysis (cost versus errors) (10)

Advanced: Proof techniques (7)

 

Data Structures (2): Core (2): arrays (2)

 

Algorithms and Software (8): Core (8): Writing efficient codes for number of problems (4); Testing (4)

 

Computer Organization and Architecture: none

 

Concepts of Programming Languages: none

 

Social and ethical issues (1): Discussion of professional and academic integrity.

 

Oral Communication (presentations)

 

none

 

Written Communication

 

5-7 home-works and projects

 

Coverage

 

Theoretical content: 60%

· Calculus

· Linear algebra

· ODE's

· Error estimation

· Polynomials

· Piecewise polynomials

· Splines

· Quadratures

· Function approximation

· discretization

 

Problem analysis: 20%

· Formulate the problem to be solved numerically, analyze its properties (e.g., smoothness of corresponding functions)

 

Solution design: 20%

· Choose/design a method that is most suited for particular problem

· Estimate the cost and the errors of proposed methods

· Validate the theoretical results by empirical data

 

Student evaluation and feedback

 

Students are evaluated on their work (home-works, exams, class participation). Students receive back their homework and exams promptly (next class meeting). These papers are marked to indicate errors and to suggest different/better solutions. Moreover, all problems and their solutions are discussed during lectures.

 

Course Evaluation Questions

 

The course has helped me:

37. Understand fl-arithmetic and errors caused by it

38. Learn basic numerical methods

39. Identify efficient methods for specific problems

40. Analyze/understand computed results

41. Understand the relevance of continuous mathematics to numerical computations

 

Possible Textbook

 

Numerical Mathematics and Computing,
D. Kincaid and W. Cheney