Department of Computer Science and Technology

Course pages 2018–19

Programming in C and C++

Assessed Exercise

The submission deadline is Monday, 21 January 2019, and the viva is Thursday 24 January 2019 and Friday 25 January 2019.

Tick Exercise Materials

Installing a Virtual Machine Image

If you do not have gcc or llvm installed on your laptop, then:

  1. Download a

    virtual machine image for Ubuntu Linux with gcc and llvm installed.

  2. Go to the the VirtualBox website to find out how to install the VirtualBox software on your machine.

Lecture Materials

Lecture 1: Types, Variables, Expressions and Statements

Lecture 2: Functions and the Preprocessor

Lecture 3: Pointers and Structures

Lecture 4: Tips, Tricks and the Tick

NOTE: This video contains discussion of the C tick

Lecture 5: Tooling

Lecture 6: Aliasing, Graphs, and Deallocation

Lecture 7: Reference Counting and Garbage Collection

Lecture 8: The Memory Hierarchy and Cache Optimization

Lecture 9: Debugging

Lecture 10: Undefined Behaviour

Lectures 11 and 12: C++

  • Slides (alternatively 4-up or 8-up)
  • Errata: slide 9: `int &pi' should be `int *pi';
    slide 24: `not this C++ initialiser syntax' should be `note ...'.