C++ Graduate Programming Course
C++ is a compiled, object-oriented programming language combining high- and low-level features. It can be used to produce code that executes extremely fast, but at the expense of a more complex syntax and steeper learning curve.
A timetable of for the next C++ programming course will appear here when available.
- C++ getting started
- Session 0 - Basics
- Session 1 - Control structure
- Session 2 - More data types
- Session 3 - Object oriented programming
- Session 4 - Input and output
- Session 5 - Advanced object oriented programming
Stub files for exercises and source code from lectures can be found here:
Which you will need to copy to the Unix system. Or, you can type the following in your shell to get them directly:
You should now see a folder called
Exercises with the code in the folders below that.
Downloading Your Work
If you want to download your completed exercises from socrates after you have finished you can do this.
First go to the windows file explorer and click in the address bar and type:
You will be asked for your ucl password. Now you will be able to see your socrates home folder from which you can copy across all the files.
Sams Teach Yourself C++ in One Hour a Day
Jesse Liberty, Siddhartha Rao, Bradley L. Jones
A very thorough book, covers C++ in a good amount of detail and takes things fairly slowly with plenty of code to illustrate cocepts. The main downside is that it concentrates a little too much on teaching the language for its own sake rather than focusing on real-world usage and applications. That said it remains a great go-to for understanding fundamental language concepts.
The C++ Programming Language
The C++ programming reference, written by the man who created the language. This book provides deep insights into the language and the associated Standard Template Library that is a vital resource for writing almost any C++ program. The book is best used as a reference rather than something to be read cover-to-cover.
- Stack overflow: Great place to ask questions (search through the database first, it is very likely that your question has already been answered).
- cplusplus.com: Good reference with nice examples.
- Boost: Don't reinvent the wheel!
- Eigen: Fast linear algebra library that is easy to use and compile. There are many more such packages, just do a web search.
- C++ Annotations: Good online book.
- Google's C++ style guide: You don't have to follow this exactly, but it's a good idea to stick to a style that suits you best.