Revision web page has been created, including old exams for practice.
The module has been structured to have two compulsory lectures per week.
There are three lecture slots and I will use one each week for demonstrations and practice, and for an introduction to the informal and formal coursework, rather than giving new C++ information.
You should try to attend all of these, so that you can see practical demonstrations of how to compile, debug, and edit C/C++ programs.
The lecture slides and samples can be found here.
The official timetable is here.
Lecture slot 1: Monday 10am, LT2
Lecture slot 2: Tuesday 11am, LT3 - probably the one which will be the practice one from week 2, depending upon your feedback
Lab session: Thursday 3pm to 5pm, A32 lab
Lecture slot 3: Friday 2pm, LT3
The lab notes can be found here.
Last year, the people who attended the labs found the coursework a lot easier than those who didn't.
You are strongly recommended to take advantage of the labs for practice, feedback and help.
I am very keen on keeping this module practical rather than too theoretical, so that when you leave you have skills which are usable in industry, and will hopefully be familiar with the sort of situation you will meet in industry. You will learn about the basic features of C and C++, and will have a chance to practice these in the labs and courseworks. The exam is aimed at testing your understanding not your memory, and will be similarly structured to that for the last two years. i.e. the exam has a lot of questions testing whether you can understand what code samples do or how to correct incorrect code, where the samples themselves illustrate specific C/C++ concepts - so that, if you understand the concept then you can understand the code and get the right answer. WARNING: Memorising lecture slides is not sufficient to pass this module - you have to understand what the concepts actually mean in practice.
The first five weeks look at procedural C and C++. C is not object oriented, but is very powerful. It's no accident that it is popular for programming games, operating systems and applications which must be fast. We will see why this is the case and you will see how fast it can be to create simple programs.
The next five weeks look at C++ features which are not included in C, using the knowledge that you gained about C/C++ in the first five weeks.
Any remaining time will be used for exam revision and preparation.
You can get the reading list here. (Login needed)
Or the G52CFJ list here. (Login needed)
From the book list you can get to electronic copies of some of the books! (click on the 'web resource' link)
I'll discuss the books in the first lecture, since different books consider different aspects or from a different perspective.
If you want one book for reference then I'd suggest:
You may also wish to consider:
There are many other C++ books that you may find useful, and it is worth scanning the library on Jubilee campus. The problem with most of the modern books, however, from the point of view of this module, is that they start with C++ and object oriented programming whereas we will start with C and procedural programming. Examples include: