Programming concepts in scientific computing
MATH-458 / 4 credits
Teacher: Anciaux Guillaume
Language: English
Withdrawal: It is not allowed to withdraw from this subject after the registration deadline.
Remark: only for master students in Civil Engineering and Computational Science
Summary
The aim of this course is to provide the background in scientific computing. The class includes a brief introduction to basic programming in c++, it then focus on object oriented programming and c++ specific programming techniques.
Content
- Flow control, I/O
- Pointers
- Blocks, functions, variables
- Classes, derivation and inheritance
- Templates
- Linear algebra
- Basics of parallel programming
Learning Prerequisites
Required courses
Analysis I and II
Linear Algebra
Numerical Analysis
The cours Numerical Analysis and Computational Mathematics has to be followed in parallel to the course if its contents are not yet mastered.
Recommended courses
A programming language (C, C++, Fortran, Java, ...)
Introduction to the Finite Element Method.
Learning Outcomes
By the end of the course, the student must be able to:
- Interpret algorithms in c++
- Modify algorithms in c++
- Implement algorithms in c++
Transversal skills
- Assess progress against the plan, and adapt the plan as appropriate.
- Set objectives and design an action plan to reach those objectives.
- Use both general and domain specific IT resources and tools
- Give feedback (critique) in an appropriate fashion.
Teaching methods
Interactive lecture and projects in classroom
Expected student activities
Before each class the student is required to prepare with assigned reading.
Programming assignements during the project hours and at home.
Assessment methods
The students will be evaluated with two quizz (QCM) during the semester and then with oral evaluations based on programming at the end of the semester.
Resources
Bibliography
Joe Pitt-Francis and Jonathan Whiteley, Guide to Scientific Computing in C++, Springer 2012
Other references:
C++ and Object Oriented Numeric Computing for Scientists and Engineers, Daoqui Yang, Springer-Verlag, 2000.
Parallel scientific computing in C++ and MPI, Karniadakis, G. and Kirby, R.M., Cambridge University Press, 2003
Ressources en bibliothèque
- C++ and Object Oriented Numeric Computing for Scientists and Engineers / Yang
- Parallel scientific computing in C++ and MPI /Karniadakis
- ¿Guide to Scientific Computing in C++ / Pitt-Francis
Notes/Handbook
Joe Pitt-Francis and Jonathan Whiteley, Guide to Scientific Computing in C++, Springer 2012
In the programs
- Semester: Fall
- Number of places: 36
- Exam form: During the semester (winter session)
- Subject examined: Programming concepts in scientific computing
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Semester: Fall
- Number of places: 36
- Exam form: During the semester (winter session)
- Subject examined: Programming concepts in scientific computing
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Semester: Fall
- Number of places: 36
- Exam form: During the semester (winter session)
- Subject examined: Programming concepts in scientific computing
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
- Semester: Fall
- Number of places: 36
- Exam form: During the semester (winter session)
- Subject examined: Programming concepts in scientific computing
- Lecture: 2 Hour(s) per week x 14 weeks
- Exercises: 2 Hour(s) per week x 14 weeks
Reference week
Mo | Tu | We | Th | Fr | |
8-9 | |||||
9-10 | |||||
10-11 | |||||
11-12 | |||||
12-13 | |||||
13-14 | |||||
14-15 | |||||
15-16 | |||||
16-17 | |||||
17-18 | |||||
18-19 | |||||
19-20 | |||||
20-21 | |||||
21-22 |
Légendes:
Lecture
Exercise, TP
Project, other