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: References and visibility
  • 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: Number representation
  • What does a computer’s memory look like?

  • How does a computer store numbers?

Module 10: Further functions
  • what is a call graph?

  • how do we design functions to solve problems?

Module 11: Strings and objects
  • what is an object?

  • how can we use string methods?

Module 12: Array algorithms
  • how can we search in arrays?

  • how can we sort arrays?

  • what makes a good algorithm?

Module 13: Matrices
  • how do computers store 2D matrix data?

  • what is the complexity of multiplying matrices?