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
Grading system
Fail (U), Pass (3), Pass with credit (4), Pass with distinction (5)
Finalised by
The Faculty Board of Science and Technology, 24 May 2017
Responsible department
Department of Information Technology

Learning outcomes

To pass, the student should be able to

  • describe and perform tasks in connection 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 the results when running a MATLAB program, and describe a problem with an algorithm or a programming code in MATLAB (which might include self-written MATLAB functions);
  • structure and divide a computational problem into sub-problems, formulate an algorithm and implement the algorithm in MATLAB;
  • in a short report, explain and summarise solution methods and results in a lucid way.

Content

The course covers numerical algorithms for functions of one variable, and in relation to this, software and basic programming. The content is divided into the three main areas: numerical integration, solution of non-linear equations, and polynomial and data approximation. 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 anzatses, such as Newton polynomial and piecewise polynomials (splines). Least squares approximation and solution based on the normal equtations. Also, convergence analysis for the different algorithms is included, discretization and round-off errors, the IEEE-standard for floating point representation.

MATLAB and programming in MATLAB: handling of vectors and matrices, fundamental programming structures (if statements, for, while), functions, parameter passing. Programming structure. Problem solving methodology: given a problem, divide it into sub-problems, write an algorithm and transform the algorithm to a MATLAB program.

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, assignments/mini projects.

Assessment

Written exam (3 credits) and approved mini projects (2 credits), where at least one of the reports, or part of it, should be written in English.

FOLLOW UPPSALA UNIVERSITY ON

facebook
instagram
twitter
youtube
linkedin