Programming in C/C++ (Part I)

Lecturers:

dr. Frank B. Brokken, phone: 06 5353 2509,
Jurjen Bokma, phone: 050 363 9253,
Dept. of Computing Science, University of Groningen,

Purpose:

This course covers the basics of the C/C++ programming language. Upon completion of this course, you'll be able to develop basic programs in the C/C++ language.

In particular, after successfully attending this part of the C++ course, you'll be able to

There are three courses on C/C++. These courses are integrated, show no overlap, and together they very thoroughly cover the C/C++ programming language. It is highly advisable to aim at attending all three courses. In individual cases a selection may be more appropriate. Contact the lecturers when in doubt.

Note in particular that the first course is important in that it creates the foundation upon which the other two courses are built. Do not assume that this first course is not for you if you're already a proficient C programmer. Of course it's true that the first course offers many aspects of the basic grammar of C++, which are generally highly comparable to C's grammar. However, 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: coming from C, you will have a hard time catching up when you skip this course, and only plan to attend the second and/or third course. Again, if you have any doubts about what to do, contact the lecturer.

Audience:

The C/C++ courses are offered in English. Non-Dutch students are explicitly invited to join this course. Only when all participants are able and prefere to use Dutch, Dutch will be used. This course can be taken to reach the entry-level for the second course on programming in C/C++, and offers the perfect preparation for that course. The second course, in turn, is the perfect preparation for the final, third course on C/C++.

Those who are interested in receiving an initial, basic training in the C/C++ language are also welcome to join.

Assumed entry-level:

Study Load:

Approx. 140 hours, 5 ECTS credit points.

The study load includes the lectures as well as the average time required to complete the exercises.
During this course, 7 or 8 lectures are organized.

Summary of covered topics:

(see also the learning objectives listed below the Purpose section)

C/C++'s basic grammar has the main focus in this course. After the initial lectures in which the basic elements of the language are discussed functions and procedural programming are introduced. Following this, an introduction to object-based programming will be offered. Note that object oriented programming will not be covered here. That topic will be introduced during the second course.

Organization:

Lectures, covering specific problems, form the core of the course. All participants will be members of a email mailing list to promote the discussion of topics related to the C/C++ programming language. Exercises to be completed in between the lectures and summaries of the lectures will be provided. The lecturers may be contacted to discuss problems which may be encountered while solving the exercises.

Literature:

The following books are used for this and the other two C/C++ courses:

De Programmeertaal C,

by F.B. Brokken en K. Kubat. This book is in Dutch. However, for participants who don't read Dutch, any introductory book on the C programming language will do. A classic is the book by Kernighan and Ritchie:

Kernighan, B. W., Ritchie, D.M., The C programming language
Prentice Hall, 1988, ISBN 0-13-110362-8.

The main book for this course, however, will be the

C++ Annotations.

The C++ Annotations contain the relevant aspects of the C++ programming language, and assume a firm knowledge of the C programming language. The books can be ordered via the course registration page (register.shtml), where you also find the latest info about their prices.

Completion:

The course has been completed successfully when approximately 56 % of the (weekly distributed) exercises have been completed, and a (short) final talk with the lecturer has been attended as well.

Each week around 8 exercises are presented. See this link for a description of the rating procedure.

Having completed part I, most participants continue with part II. Those who leave the course complete the course by attending an individual final talk, using the achieved exercise percentage correct as a baseline for determining the final rating. During the final talk the student must show his/her ability to communicate about the language, explaining some core topics in a conversation with one of the lecturers. Depending on the quality of the conversation, the exercises' percentage will be increased, will be decreased, or the student will be given the opportunity for another attempt if the conversation was completely unsuccessful.

Registration:

The first course on the C/C++ programming language usually starts the first week in September.