skip to content

This course will introduce students to C++ as a language widely used in scientific computing. The course will cover most aspects of C++ to an intermediate level, with the aim being to teach students sufficient C++ to program non-trivial algorithms in a robust and efficient manner. The course should be accessible to all students, irrespective of any prior programming knowledge:

Course structure:

  • Basic arithmetic, including types and overflow
  • Branching constructs
  • Loop constructs
  • Functions, pass by reference and value
  • Arrays, pointers, and heap allocation
  • Use of the pre-processor, include-files, and linking
  • Object-oriented programming: classes, inheritance, virtual functions, polymorphism
  • Function and operator overloading
  • STL containers and algorithms
  • Simple uses of templates