# Introduction to Scientific Computing
[Joachim SchÃ¶berl](https://www.asc.tuwien.ac.at/~schoeberl)
TU Wien, [Institute of Analysis and Scientific Computing](https://www.asc.tuwien.ac.at)
Many scientific challenges require non-trivial software solutions, which have to be tackeled by researchers with diverse skills.
In this class we learn the development of scientific software in a *learning by doing* approach.
We have chosen three typical application areas: Basic Linear Algebra, i.e. computing with vectors and matrices, solution of ordinary differential equations,
and numerical solution of partial differential equations.
We think finding a proper abstraction level of the mathematical concepts, and creating types in the sense of C++ classes is of utmost importance. Then complex algorithms can be written down in a readable and maintainable way.
Many thanks go to [Matthias Hochsteger](https://www.linkedin.com/in/matthias-hochsteger-316213196) and [Christopher Lackner](https://www.linkedin.com/in/christopher-lackner-2ab075191) for their technical help, and to [Edoardo Bonetti](https://www.asc.tuwien.ac.at/?id=scicomp/people) for careful checking.
This lecture is designed for students in applied mathematics in an early stage.
It is given in this form the first time in winter term 23/24.
If you have suggestions for improvements, or found some errors, please send them per mail
to the author, or open a pull request on the source repo of the book.
Many section are still in draft version, and will be cleaned as the class proceeds.
```{tableofcontents}
```