The C Programming Language

Lectured by: Jan Pechanec, Vladimír Kotal

Summer semester 2018

Malá Strana, Wed 9:00, room SU2.

First lecture: Feb 21


"Since C is relatively small, it can be described in a small space, and learned quickly. A programmer can reasonable expect to know and understand and indeed regularly use the entire language."

-- Brian W. Kernighan, Dennis M. Ritchie

The seminar is lectured primarily in English. It is a recommended pre-requisite for Unix/Linux Programming in C (NSWI015).

The original poster.


The hands-on seminar is meant to teach students how to program in C. It is targeting people who have no prior experience with the language. The seminar is not an introductory programming class. It assumes some familiarity with basic programming concepts like variables, assignment statements, loops, and functions. C standards C90 and C99 will be covered. Strong emphasis will be put on writing real C programs taking advantage of all the language features discussed.

Target Group

This seminar is primarily targeting people who have no prior experience with the C language. However, anybody is welcome, especially after the first elementary lectures.

Development Environment

Note that there is Eduroam WiFi available in the SU2 lab.

Mailing List

Subscribe here to c-prog-lang-l email conference hosted on

We will use this alias for various announcements regarding the seminar. You really want to subscribe to it. And feel free to use it for technical discussion regarding the C language and what we do in the seminar.


Getting credits

You will get an assignment in the last class for the semester (Wed May 23). If you make it within 90 minutes and we either accept it right there if there is time for it or later accept the code you email us before the end of the class, you get the credits. We should be able to process your code within one or two days.

If you fail to finish within 90 minutes or we do not accept what you send us, an extended (or possibly a completely different) assignment will be given to you for a home project. When you are done, you send it to us and we will get back to you.

If you end up doing the home project, we accept solutions till the end of the semester but please be reasonable and send it before, say, Mon Sep 10 so that we have enough time to take a look at it and you possibly have enough time to fix what we are not happy with.

Notes from the classes

Notes for this year. As this is only the second year for this seminar, the notes are work in progress and will be updated throughout the semester.

Notes from the previous year.

C style for writing code

We strongly encourage you to use a good C style to follow when writing C code. It comes with a Perl script to check your style. We just cannot stress enough the importance of readable code with a unified look.

There are other indent styles to choose from.


Last modified: