Skip to ContentSkip to Navigation
Corporate Academy
Corporate Academy

C++ fundamentals

C++ fundamentals is an intensive introduction to programming in C++. This course is designed for students who already have programming knowledge. It's not an introduction to programming itself but rather an introduction to programming in C++.

Description

C++, with its many features on top of C's basic grammar and facilities, is a powerful but complex language. Three full courses (C++ fundamentals, Programming in C++, and Advanced programming in C++) together cover the language. They aim to produce programmers who know what they're doing.

This first part covers the basics of C++, but in greater depth and at greater speed than a gentle introduction would. The teachers take the stance that, besides knowledge, a programmer needs skill and good habits. C++ Fundamentals builds those by requiring assignments to be completed every week. Within two weeks after each lecture, the student has to go from understanding the topics to skillfully applying them.

Remarks

  • Prepares for 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 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, 3 days per week

Tuesday 15:00 - 17:00
Wednesday 13:00 - 17:00
Thursday 09:00 - 11.00

  • Week 36: 3 - 5 September 2024
  • Week 37: 10 - 12 September 2024
  • Week 38: 17 - 19 September 2024
  • Week 39: 24 - 26 September 2024
  • Week 40: 1 - 3 October 2024
  • Week 41: 8 - 10 October 2024
  • Week 42: 15 - 17 October 2024
  • Week 43: 22 - 24 October 2024

Location

Kapteynborg and Feringa Building.

Note: The schedule on rooster.rug.nl is authoritative. Always check it for the latest course timings and location details.

Prerequisites

Mandatory: Imperative Programming and Object-Oriented Programming or equivalent.

  • Python/R programmers will have to put in extra effort
  • Familiarity with Linux is very useful, but not officially required
Learning outcomes
At the end of the course, you are able to:
  1. Develop simple C++ programs they fully understand. You have a mental mode of what goes on 'under the hood', and can argue the code's clarity, maintainability and efficiency;
  2. Explain and use in C++ such elements of programming as expressions, statements, variables, types, scope and life time, various forms of flow control, functions, parameters, and classes;
  3. Use some C++ syntax/idiom (e.g. enums, overloading, constness, references, pointers, constructors) and parts of the STL (e.g. strings, streams), and contrast them to other languages you as a student knows;
  4. Write/compile/link multi-source programs/libraries from scratch with simple tools; explain header/source files, libraries, (pre)compiling and linking; profile code to improve performance;
  5. Habitually code in a clean style, with e.g. consistent layout, lightweight headers, clear identifiers, RAII, small functions, classes free of resource leaks.
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

  • Student: € 100,00
  • PhD: € 600,00
  • Staff/alumni: € 1.200,00
  • Extern: € 2.000,00

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:26 August 2024 10.16 a.m.