# Scientific Computing I

5 credits

Syllabus, Bachelor's level, 1TD393

A revised version of the syllabus is available.
Code
1TD393
Education cycle
First cycle
Main field(s) of study and in-depth level
Computer Science G1F, Mathematics G1F, Technology G1F
Fail (U), Pass (3), Pass with credit (4), Pass with distinction (5)
Finalised by
The Faculty Board of Science and Technology, 20 February 2018
Responsible department
Department of Information Technology

## Learning outcomes

To pass, the student should be able to

• describe and perform tasks irelated to the key concepts covered in the course;
• explain the idea behind and apply the algorithms covered in the course;
• explore properties for numerical methods and mathematical models by using the analysis methods covered in the course;
• explain what a MATLAB code result in, and describe a problem with an algorithm or programming code in MATLAB (which might include self-written MATLAB functions);
• solve smaller computational problems in a well-structured way (by breaking it down into smaller sub problems) and implement in Matlab.

## Content

The course covers numerical algorithms for functions of one variable, software and basic programming and in relation to this methodology of problem solving. The content is divided into the four main areas: numerical integration, solution of non-linear equations, polynomial and data approximation, and problem solving with MATLAB (basic problem solving methodology included). Numerical integration: Simpson’s method and the Trapezoidal rule. Solution to non-linear equations: Bisection, Newton-Raphson, and hybrid methods. Data approximation: polynomial interpolation based on different ansatz, such as Newton polynomial and piecewise polynomials (splines). Least squares approximation and solution based on differnet ansatz and the normal equtations. Also, convergence analysis for the different algorithms is included, discretization and round-off errors, the IEEE-standard for floating point representation.

Problem solving and programming in MATLAB: vectors and matrices, fundamental programming structures (if statements, for, while), functions. Programming structure. Problem solving methodology: given a problem, breaking it down into sub-problems, and implementation in MATLAB.

Important key concepts covered in the course are e.g. algorithm, numerical method, discretisation och discretisation error, machine epsilon, overflow, underflow, floating point numbers, round off error, cancellation, accuracy and order of accuracy, iteration and iterative method, efficiency, adaptivity and adaptive methods, convergence, convergence rate, ansatz.

## Instruction

Lectures, problem solving classes/workouts, laboratory work, programming assignments and mini project.

## Assessment

Written exam (3 credits). Individual programming excercises and approved mini projects with written report (2 credits).

FOLLOW UPPSALA UNIVERSITY ON