This covers the basic principles of practical software engineering that are important for reliable and efficient scientific software.
The topics will include:
- Computer arithmetic (integer and floating-point)
- Arithmetic exceptions, error handling and accuracy
- Principles of program design
- Coding style, commenting and documentation
- Design of interfaces
- Internal checking and diagnostics
- Effective tuning
- Use of external tools