Computing
CS319: Scientific Computing (5 ECTS)
This module introduces the fundamental principles of scientific computing, object oriented programming, and the development of mathematical software. Key ideas in object oriented programming, such as encapsulation, polymorphism and inheritance, and presented in the context of solving problems that arise in mathematical and/or statistical modelling.
Taught in Semester(s) 2. Examined in Semester(s) 2.
Workload: 100 hours (24 Lecture hours, 20 Lab hours, 56 Self study hours).
Module Learning Outcomes.
On successful completion of this module the learner should be able to:
- Write computers programmes in a high-level object-oriented language that implement key mathematical concepts such as functions, vectors and matrices.
- Implement important algorithms of problem-solving in scientific computing, such as optimization and solution of linear equations.
- Apply the techniques of object-oriented programming, such as of polymorphism and encapsulation.
- Develop robust, reliable and tested code.
Indicative Content
This module introduces the key concepts of object oriented programming in the context of scientific computing. By studying classic computational problems from mathematics and applied science, the need for reliable, reusable and robust object oreinted code is motivated.
By studying the implementation of solutions to these problems, students gain experience in programming in a high-level, object oriented language. Emphasis is paid to the development of reliable and efficient code.
Module Resources
- Practical C++ Programming, S. Oualline;
- Solving PDEs in C++, Y. Shapira
- Scientific Computing with Case Studies, D.P. O'Leary.
Back