- Modern computer architecture, personal computers, workstations, supercomputers
- Operating systems, history, currently available systems, user interface types, command line
- Networking, the Internet, encrypted communication, using remote computers
- Fundamentals of programming and software development, types of programming languages, programming paradigms, program flow control, data structures
- Computer algebra systems and symbolic manipulation
- Numerical computation
- Interactive computing, notebook-style interface
- Data processing and plotting
- Sharing code and data, version control systems, repositories
- Computer graphics, vector and raster images
- Desktop publishing, preparing publication-quality documents, presentations, plots, and graphics
- Tools for live online collaboration
- Parallelization and high-performance computing
- Machine learning, artificial intelligence
The course Introduction to computational science provides a broad overview of the fundamentals of computational science and more broadly the use of computational tools in natural science. Concepts are introduced with the aim of providing a general understanding of the field and showing the range of available tools and options.
Examples of specific software are provided with focus on open-source software. Practical hands-on exercises offer the opportunity to practice the concepts introduced in the course and to gain experience in the use of these tools.