Lecture: 3 hours
Discussion: 1 hour
Prerequisite: Course 30 or Engineering 6; Mathematics 22A or Mathematics 67
Grading: Letter; 6-8 homework (40%), midterm (20%), and final (40%)
Catalog Description:
Matrix-vector approach using MATLAB for floating point arithmetics, error analysis, interpolations, numerical integration, matrix computations, nonlinear equations and optimization. Parallel computing for matrix multiplication and the Cholesky factorization.
Expanded Course Description:
Textbook:
Moler, Numerical Computing with Matlab, SIAM, 2004
Computer Usage/Homework:
Each homework includes problems related to the basic mathematical and algorithmic concepts and techniques discussed in class. Students use MATLAB as a problem-solving environment to practice numerical techniques, to learn and further develop appreciation for the connection between continuous mathematics and discrete computing. The programming projects and homework enhance the learning of the many features of MATLAB which will be useful in a computational career.
Discussion:
Students, individually or in small groups, will work on programming assignment
problems.
Engineering Design Statement:
The course material includes practical design and implementation issues in scientific computing for reliable and efficient solutions of the most common mathematical problems in science and engineering. Lectures discuss various mathematical and numerical techniques, and practical
implementation issues. The homework including the programming problems follow these themes too. Homework grades are based in part on these design issues. Final examination questions are based on algorithmic design and analysis issues discussed in lecture and from the homework.
ABET Category Content:
Engineering Science: 2 units
Engineering Design: 1 unit
Goals:
Students will:
Program Outcomes:
Instructors: Z. Bai, B. Hamann, K. Joy
Prepared by: Z. Bai (September 2008)
Overlap Statement:
Some of mathematical topics of ECS 130 overlap with MAT 128A/B/C, EAD 115 and ENG 180, such as interpolation and integration. However, the overlap is only very limited. Some of the ECS 130 topics are normally not treated in these courses, such as recursive and parallel
matrix operations, and parallel Cholesky factorization.
ECS 130 is a one-quarter course, as opposed to the two-quarter EAD or three-quarter MAT sequences. ECS 130 is especially designed for undergraduate computer science majors who can benefit from a substantial knowledge of numerical computing, but allot only a limited time for this purpose due to many other complementary course requirements. MAT 128A/B/C, EAD 115/116 and ENG 180 cover wide areas of mathematical problems and numerical methods. In general, the focus of these courses is on the theoretical and mathematical aspects of numerical methods.
ECS 130 will only cover fundamental parts of mathematical problems and numerical methods in scientific computation. Moreover, ECS 130 uses a matrix-vector approach with MATLAB as a problem-solving environment. Students who have taken ENG 6 will have additional background in using MATLAB language, but it is not required for ECS 130. The overlap between ECS 130 and ENG 6 is only on the introduction of MATLAB, thus the overlap is minimal. In ECS 130, numerical algorithms and analysis, finite precision arithmetic, graphics and matrix-vector manipulation are folded into the course in a way that gets students to appreciate the connection between continuous mathematics and numerical computing, and the subtleties of numerical computing.