Module 0: Introduction
  • Why study programming?
  • How can I succeed?
  • How do we solve problems with software?

Module 1: Language elements
  • are programming languages real languages?
  • what is the basic syntax of languages like C++?

Module 2: Functions
  • what is a function?
  • how do we use functions?
  • what are function declarations, definition and calls

Module 3: Variables
  • what is a variable?
  • how do we declare variables?
  • what is a variable’s type?
  • how do we use variables?

Module 4: Conditional control flow
  • what is control flow?
  • what are the syntax and semantics of an if statement?
  • how is a condition evaluated?

Module 5: Loops
  • whare are loops?
  • what are the syntax and semantics of a while loop or a do-while loop?

Module 6: Expressions
  • what are logical operations?
  • what is the precendence of C++ operations?
  • what are type conversions?

Module 7: Further functions
  • how can we use functions to build abstractions?
  • what is pass-by-reference?
  • what is visibility vs scope?

Module 8: Arrays
  • what are arrays used for?
  • how do we declare, use and pass arrays?
  • how do we use for loops?

Module 9: Array algorithms
  • how can we search in arrays?
  • how can we sort arrays?
  • what is algorithmic complexity?
  • what makes a good algorithm?

Module 10: Matrices
  • how do computers store 2D matrix data?
  • what is the complexity of multiplying matrices?