Scientific Computing I
Syllabus, Bachelor's level, 1TD393
- Code
- 1TD393
- Education cycle
- First cycle
- Main field(s) of study and in-depth level
- Computer Science G1F, Mathematics G1F, Technology G1F
- Grading system
- Pass with distinction (5), Pass with credit (4), Pass (3), Fail (U)
- 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.
Reading list
- Reading list valid from Autumn 2018
- Reading list valid from Spring 2017
- Reading list valid from Autumn 2015, version 2
- Reading list valid from Autumn 2015, version 1
- Reading list valid from Spring 2013
- Reading list valid from Autumn 2012
- Reading list valid from Autumn 2011
- Reading list valid from Autumn 2010
- Reading list valid from Autumn 2009
- Reading list valid from Autumn 2008
- Reading list valid from Autumn 2007