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