COMP 3731: Introduction to Scientific Computing

This course is of interest to students who wish to perform numerical computations in such areas as engineering, physics, statistics, modelling, graphics or operations research, and also to those students who wish to study the effectiveness of these solutions in a given computing environment.

Prerequisites:  COMP 1001 or the former COMP 2710, Mathematics 2000 and Mathematics 2050

Availability: This course is often offered, but will not be available every academic year.

Course Objectives

The development of algorithms for the numerical solution of mathematical problems, and the study of the numerical stability of these algorithms are the main objectives of this course. The efficiency of these algorithms with respect to speed and storage requirements is considered as well. Emphasis is also placed on the study of the sensitivity of selected problems to perturbations in the data. There is also a brief introduction to the development of numerical algorithms that take advantage of advanced computer architectures, such as pipeline processors, array processors and parallel processors.

Representative Workload
  • Assignments 50%
  • In-class Exam 20%
  • Final Exam 30%

There will be about nine assignments given throughout the semester. Programming assignments are chosen to illustrate topics discussed in the lecture material. They emphasize the numerical dangers that may appear because of the finite precision of computers. Assignments can be written in any programming language unless specified otherwise. Non-programming problems are also assigned.

Representative Course Outline
  • Errors in computations, computer arithmetic, stability of algorithms and conditioning of problems
  • Principles of pipelining and parallel processing
  • Evaluation of functions, computation of infinite alternating series
  • Nonlinear equations
  • Methods for systems of linear equations
  • Norms, condition numbers
  • Polynomial interpolation, curve fitting, least squares problem, cubic spline
  • Numerical integration
  • Credit cannot be obtained for both Computer Science 3731 and the Mathematics 3132.

Page last updated May 24th 2021