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.
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 *** |