G52CPP Summary Lectures Labs Coursework Revision Questions

This is an old page. Please go here for a choice of years.

OLD 2012/13 G52CPP C++ Programming - for 2012/2013

Notes:

Lecture slides will appear here shortly before the lecture itself. I MAY sometimes change the lecture slides slightly at the last minute, when doing the final read through prior to the lecture.

If I have low lecture attendance then I will leave gaps in the slides so that you have to attend. If you do not attend the lectures, you will miss any hints I may give about what is important for the exam. You will learn better by seeing the slides at the same time as hearing what I say. You are strongly advised to attend the lectures.

Lecture slides:

Note: Any code from demo lectures will appear on the Labs pages, since it fits better there, with the lab notes associated with it.

Lecture and Date Link to slides Subject
Lecture 1, 4pm Thurs 31st Jan Final slides
Extra slides about the sample code
Introduction and Overview
Lecture 2, 10am Fri 1st Feb Final slides Data types and casting, operators, Pointers
Lecture 3, 2pm Fri 1st Feb Final slides Pointers, arrays and strings
*** No lab on Friday 1st February, A32 ***
Lecture 4, 4pm Thur 7th Feb Final slides Pointer arithmetic, functions and globals
Lecture 5, 10am Fri 8th Feb Final slides The stack, variable shadowing and variable lifetime
*** Labs start Fri 8th February, A32 : Basic C functions and string handling ***
Demo lecture 1 (2pm Fri 8th Feb): basic Zombies program: zombies_example.cpp demolec1.cpp
Lecture 6, 4pm Thur 14th Feb Final slides Structs, unions and sizes
Lecture 7, 10am Fri 15th Feb Final slides Dynamic memory allocation and linked lists
Lab 2 is Friday 15th February, A32 : Hangman
Demo lecture 2 (2pm Fri 15th Feb): reading data from the input and storing it in a linked list. demolec2.cpp : code written in the lecture
Lecture 8, 4pm Thur 21st Feb Final slides Const, multiple files and the pre-processor
Lecture 9, 10am Fri 22nd Feb Final slides Classes
Lab 3 is Friday 22nd February, A32 : Coursework lab A
Demo lecture 3 (2pm Fri 22nd Feb): clarifying some points of coursework lab A - make sure that you try the lab notes BEFORE this lecture
Lecture 10, 4pm Thur 28th Feb Final slides new and delete, Inheritance
Lecture 11, 10am Fri 1st Mar Final slides this and static, references, const(again)
Lab 4 is Friday 1st March, A32 : Coursework lab B
Demo lecture 4 (2pm Fri 1st March): clarifying some points of coursework lab B - make sure that you try the lab notes BEFORE this lecture
Lecture 12, 4pm Thur 7th Mar Final slides Function pointers, virtual functions and the v-table
Lecture 13, 10am Fri 8th Mar Final slides The rule of four and constructors, conversion constructors
Lab 5 is Friday 8th March, A32 : Work on the coursework
Demo lecture 5 (2pm Fri 8th March): the tile manager and movement coursework classes. Zip file of the files at the end of the demo lecture, in case you want to refer to anything.
Lecture 14, 4pm Thur 14th Mar Final slides Namespaces, scoping and the standard class library
Lecture 15, 10am Fri 15th Mar Final slides Conversion operators, Friends and C++ casts
Lab 6 is Friday 15th March, A32 : Work on the coursework
***Demo lecture is CANCELLED*** - I will talk about the application wizard etc after Easter instead. I will also send you something about collision detection.
Please use the time to work on your coursework.
Lecture 16, 4pm Thur 21st Mar Final slides Exceptions
Lecture 17, 10am Fri 22nd Mar Final slides Operator overloading
Lab 7 is Friday 22nd March, A32 : Work on the coursework
2pm Fri 22nd March: I will go to the lecture room and be there if you have any questions. Turn up if you have any specific questions. But I recommend that you use the time to get your group project submitted or work on your coursework.
Easter Holidays
Formal (assessed!) coursework deadline: 5pm Wednesday 24th April
Lecture 18, 4pm Thur 25th Apr Final slides Templates. Array warnings: lec18a.cpp lec18b.cpp
Lecture 19, 10am Fri 26th Apr Final slides Multiple inheritance
Optional demo lecture, 2pm Fri 26th Apr How to create C++ programs quickly
Lecture 20, 4pm Thur 2nd May Final slides Wrapping up (the slicing problem and smart pointers) and exam structure
Revision Lecture, 10am Fri 3rd May Final slides We will look at exam-type questions.
Optional demo lecture, 2pm Fri 3rd May Any questions/revision?
Formal coursework feedback - without moderated marks - 3 weeks after submission (15th May)
*** Exams start 21st May ***