Programming in C++
Programming in C++ is an intensive course, aimed at students who already possess some C++-specific skills.
Description
Programming in C++ is the middle of three courses that together cover the language. It builds upon the proper handling of acquired resources taught in C++ Fundamentals with STL containers, more operator overloading and exception handling. It also treats composition, inheritance and polymorphism in class design, and some parallel computing (through multi-threading and forking). The primary focus is on the language and the Standard Template Library.
Remarks
-
This course is the follow-up to C++ fundamentals
-
Prepares for Advanced Programming in C++
-
Workload: Requires approximately 20 hours of work per week.
-
Please be aware that the workload is heavy, and it can be challenging to take this course alongside a full-time job, unless you are an experienced C++ programmer.
-
Have you already taken this course? Then you can also sign up for the follow-up course Advanced Programming in C++
Contact
Do you have any questions or want more information about the C++ courses? Please contact the course coordinator Jurjen Bokma (j.bokma rug.nl).
Date, time and location
8 weeks, 2 days per week
Wednesday 15:00 - 17:00
Thursday 15:00 - 17:00
Week 46: 12 - 13 November 2025
Week 47: 19 - 20 November 2025
Week 48: 26 - 27 November 2025
Week 49: 3 - 4 December 2025
Week 50: 10 - 11 December 2025
Week 51: 17 December 2025
Week 2: 7 - 8 January 2026
Week 3: 14 - 15 January 2026
Location
Bernouilliborg and Feringa Building
Note: The schedule on rooster.rug.nl is authoritative. Always check it for the latest course timings and location details.
Prerequisites
Highly recommended even if you have some exposure to C++:
-
You have followed the C++ Fundamentals course
-
Advanced Object-Oriented Programming
If you don't have these prerequisites but still want to take this course, please contact the course coordinator.
Learning outcomes
After successfully completing this part of the C++ course you are able to:
-
Create production-grade C++ programs. The student has a mental model of what goes on 'under the hood', and can argue the code's clarity, maintainability and efficiency;
-
Construct classes that handle dynamically acquired resources properly. In addition to using STL containers, they will overload operators when necessary, and write exception-safe functions;
-
Create single-purpose classes to compose their programs of, judging whether to use composition, inheritance, polymorphism, friends, entirely separate classes or any combination thereof;
-
Reduce time spent coding by making use of STL facilities such as generic algorithms, and improve efficiency by deploying multiple threads of execution;
-
Extend the clean coding style of C++ Fundamentals to larger and more robust programs.
Literature
-
Any good book on C, for example: The C Programming Language, 2nd edition, by Kernighan & Ritchie (ISBN-13: 978-0131103627) We use the C book mostly for reference, and for study by those unfamiliar with C (e.g. coming from Python).
-
The C++ Annotations (A printed version can be obtained via Canon)
Enrollment and course fee
Course fee
-
€100 BSc/MSc student at UG, other Dutch University or Hanze Hogeschool
-
€300 PHD-student at UG or other Dutch University
-
€650 Employee UG or other Dutch university/UMCG/Hanze Hogeschool
-
€650 UG Alumni
-
€1250 Other participants
Enrollment
You can enroll for this course by filling out the form below.
Late enrollment
Would you like to join the course after it has already started? You can still enroll and catch up. Please contact the course coordinator Jurjen Bokma (j.bokma rug.nl) for details.
Last modified: | 22 May 2025 4.19 p.m. |