The C++ courses are offered in English
Students intending to attend this course should be prepared for lectures,
meetings and exercises in English.
When submitting exercises English must be used.
Note that we don't use Brightspace. If you want to attend this
course then do yourself a favor by registering for this course using the
registration form of the part you want to attend (see below).
If you don't we can't reach you and you may miss important information about
the upcoming course. See the specific details at the descriptions of the
separate parts.
Of course, if your study requires that you register on Progress
that's fine with us, but make sure that you (also) register using our
registration page.
The C/C++ course is presented by Jurjen Bokma and Frank B. Brokken.
dr. Frank B. Brokken
|
Both domestic and foreign (guest) students and employees of the University
of Groningen and other Dutch organizations of higher education (including
university hospitals) can register for this course. There are no personal
charges other than the (optional) books that are used during the
C++ courses. Employees interested in attending are advised to seek
consent from their department's chairs or comparable, prior to enrolling. If
you're not a student or member of the abovementioned organizations but would
like to attend this course then please contact the lecturers before
registering.
Registration for the course(s) is NOW open.
If you have any questions about the courses or their organization then
feel free to contact
dr. Frank B. Brokken (phone +31 6
5353 2509),
or
Jurjen Bokma (phone +31 50
363 9253, office building 5431 (Smitsborg).
Or contact the course's TAs:
Hans Bouwman,
Andrei Istudor, and
Efe Sirin.
Frank, Hans, and Jurjen also speak/read Dutch, but English is a language
each of us can use.
|
Jurjen Bokma
|
Organized courses:
General Information about the C++ course
The full C/C++ course consists of three parts. Each part takes about 7
to 8 weeks, to which some extra (optional) lectures are sometimes added. It's
always possible to enter the course at any of its three parts, but when you
register for parts 2 or 3 we assume you thoroughly understand all the topics
covered in earlier parts. Each successfully completed part is rewarded with 5
ECTS study points.
This is not a course about the C programming
language
No, it's not. But as C is an almost complete subset of C++ we
do cover almost all aspects of C as well. However, our main
focus is on C++, but its not just about churning out C++ code,
but its very much also about understanding what and why you're doing, and also
to design your software in such a way that --even after years-- you (or
anybody else) are still able to understand what you did a long time ago. If
this appeals to you, feel welcome to register! Also note this:
Can ordinary mortals complete this course?
Well, it depends. We call it a C/C++ course, but in the end that's just the
vehicle we use for teaching principles of good software design. Which in the
end is like saying:
yes, we're teaching you how to drive a car, but for that we
use a Ferrari.
You have to be well-prepared for that! Also, C/C++ differ from many
other programming languages in that there is an official ANSI/ISO standard,
which turns C/C++ in a very well designed and thorough language, void of
elements that can best be described as resulting from current fashion
idiosyncrasies.
In the past we noticed that some participants were somewhat annoyed because
Google couldn't provide them with the answers to the exercises. And
yes, this course requires quite a bit of effort on your (and
our) part, but then, when you've eventually completed our course you can
truthfully state:
Yes, I've mastered C++!
We devote lots of attention to the c++26 standard, including template
concepts, modules,
and new additions to C++'s basic grammar.
On average, if you aim at completing the course at high final grades, be
forewarned that in that case you should plan on investing about 20 hours each
week for this course (that's including the weekly 2 hours lecture).
To rate the exercises we use a rating scheme for exercises, which was
specifically designed for this course and which helps you reaching
`sufficient' marks for the course: follow
this link
for a description of the rating procedure that we're using.
When joining the C++ course, you only have to register for the part
where you want to join our course. Once you've registered for a particular
part (e.g., part I) we assume that you also intend to attend subsequent parts
(in that case: parts II and III). There is no obligation to attend
subsequent parts, but the automatic continuation allows you to continue the
course without any further administrative hassle.
In
September
you start with part I.
In
November
you continue with part II, and finally, in
January
you enter part III. So, the full C++ course takes about
half a year to complete. It is also possible to attend the individual
parts, omitting one or two other parts. When joining during later courses, it
is assumed that your entry level is at least equal to the exit level of the
previous part. When in doubt, contact the lecturers.
C++ Courses organized by the Dept. of Computing Science:
Programming in C/C++, part I
- Lecturers: dr.
Frank B. Brokken and
Jurjen Bokma
-
The next course starts in the first week of September 2024.
Note that Ocasys calls this course C++ fundamentals.
Follow
this link for the schedule
-
You can still register for part I of the
2024-2025 edition of the C++
course using the
www form.
If you're a staff-member, a non-RUG student, or an external
participant, then please contact the lecturers before registering.
Shortly before the
course starts all participants
receive an e-mail containing further details about the upcoming
course.
Usually no other information is sent to the participants
before that.
If you're a student, then please also register at progresswww. The
registration is available at BSc Computing Science, 3rd year,
semester 1a.
-
During the course we use two books: `De programmeertaal C' and `the
C++ Annotations'. Most students prefer to use their own printed copies
of these books. New copies of these books are printed every year, just before
the couse starts, by the central printing service of the University.
The book `De programmeertaal C' is in Dutch, which might be a
problem for non-Dutch speaking participants. Fortunately, almost every basic
book about the C programming language can be used instead. As English
alternative we advise the classic book by Kernighan and Ritchie: `The C
programming language'.
There's no alternative for the C++ Annotations. The
Annotations are in English, and the course is strongly tied to the
Annotations' current version. Participants must have access to their
own copies.
There is no obligation to order the books, although you seriously should
consider doing so. Do not assume spare copies remain available once the
course has started. Throughout the course the books are intensively
used, and from the course's very beginning we assume that you have access to
your own copies.
Currently, the exact prices of the books are not yet known, but the
prices will be close to EUR 40.-- for `De Programmeertaal C' and
EUR 40.-- for the `C++ Annotations'.
- Text for Study Guides
- Setup of the Course
-
Advised compiler and version: Gnu g++
, version
14.2.0
.
Usually a
slightly older version (e.g., the last minor-release of the
previous major release) is acceptable, at least for the first part
of the course.
- Windows users are strongly advised to install a Linux system on
their computers.
Virtual machines (Virtualbox, Vmware) are available.
A relatively easy-to-install and fast solution is
WSL.
Ubuntu) is a good
choice of operating system to install inside the VM.
Note, however, that the
C++ course is not a Unix/Linux course, and that we
assume that participants have an operational working environment,
with access to the g++ compiler,
which is freely available for all mentioned Unix (Linux) flavors.
The following information is available to students attending part I. The
required UN/PW combination is made available during the 1st lecture.
Programming in C/C++, part II
- Lecturers: dr.
Frank B. Brokken and
Jurjen Bokma
- Part II starts in
November, 2024
-
Note that Ocasys calls this course Programming in C++.
-
Schedule
for the Academic Year
2024-2025.
- It is
already NOW possible
to register for part II of the 2024-2025 edition
of the C++ course, using this
www form
(if you already registered for part I you don't have to register for
parts II and III as registration for those parts is implied.)
- This course assumes that your knowledge of the C++ language is
up-to-date with respect to the topics we covered during part I. Part I
builds the foundation upon which this part and the third part of this
course are built.
Do not assume that the first course is not for you if you're a
proficient C programmer. There are many aspects and
approaches in C++ which are vastly different from what you
already might know from C. Do not underestimate these
differences. Again, if you have any doubts about what to do, contact
the lecturers.
- Text for Study Guides
- Setup of the Course
- Did you join this course at part II?
Make double sure that you
have a close look here to get you up-to-level for part II.
The following information is available to students attending part II of
this course once part II has started:
Programming in C/C++, part III