c programming language

C is one of the most established programming languages, available on almost any platform. Learning C is very profitable because this skill will cover a wide and long-term variety of applications. C's longevity is based on the large amount of freedom available to programmers and the high performance of C-based applications compared to other high level programming languages.

This training course will cover the basic aspects of C as well as developers' project tools in a UNIX-based environment. Each training section will be combined with a practical exercise or will be fleshed by means of a case study.

Trainer und Dozenten

Martin "Joey" Schulze is a member of Debian's security team and an ardent C programmer. When it comes to projects where performance is a critical priority, he prefers using C over any other high level language.


The training course is directed towards beginners in C programming. Basic UNIX/Linux knowledge is a prerequisite.



  • Establishing a common level of participants' basic knowledge
  • Historical development of C
  • Linux-based programming environment and workflow of source text compilation
  • C keywords and their function
  • Correct interpretation of C statements

The preprocessor

  • Header files
  • Symbolic constants, macros
  • Conditional compilation

Data types

  • Data types, data type conversion and user-defined data types
  • Constants, variables und operators
  • Arrays, pointers und functions

The C standard library

  • Overview
  • Memory management
  • Static and dynamic librabries

Code style, portability and performance

  • Common C programming errors
  • Debugging and testing