Additional learning outcomes

  • has a thorough understanding of how computing is used to solve scientific problems
  • knows some central algorithms used in science
  • has knowledge of high-performance computing elements: memory usage, vectorization and parallel algorithms
  • understands approximation errors and what can go wrong with algorithms
  • has experience with programming in a compiled language (Fortran, C, C++)
  • has experience with debugging software
  • has experience with test frameworks and procedures
  • can critically evaluate results and errors
  • understands how to increase the efficiency of numerical algorithms and pertinent software
  • understands tools to make science reproducible and has a sound ethical approach to scientific problems
  • Is able to write a scientific report with software like Latex