C/C++ - 2015/16

As taught in Semester 2, 2015/16.
The module is designed differently from most introductions to C or C++, as it is assumed that students are familiar with both Java and functional programming. Thus we can go over anything that is similar to Java very quickly, for example basic control structures (conditionals, while-loops, etc) in C, or the object system in C++, on which Java's was based. Instead, we will focus on the differences from Java. In the first half of the module, we will cover enough C to prepare you for systems-level programming. Specifically, C is a prerequisite for the year 3 optional module Operating Systems; C is also useful for some other modules. In the second half of the module, we will move on to modern C++. That is, not so much object-orientation, but advanced features that are close to functional programming, specifically templates.

Lecture slides

Notes

Introduction to templates in C++