Introduction to C Programming
12-27, 19:00–21:00 (Europe/Berlin), HDMI (room 3)
Language: English

In this workshop you will learn C through many hands on exercises of varying difficulty or bring-your-own projects. Everyone will be learning on their own time, the only requirement is motivation! Groups welcome as well, and if you already started a small project I can also provide you a small review and perhaps ideas on how to improve.

The platform will be mostly Linux and UNIX/POSIX (BSD, macOS, Solaris) due to personal experience there, but Windows is possible as well (with a bit more limited help). Alternatively the Windows Subsystem for Linux can be used to develop and target Linux from Windows.

C is still one of the major programming languages used for development and maintenance of existing software. It has a deep history as being the language that was designed for developing UNIX with. Due to this, it traditionally has no features other than those strictly required for building a 1970s era operating system.

While it is probably not fit for developing the Next Big Thing, it's still the language of choice for many due to its versatility and "simplicity". Many critical components are written in C or at least expose a C interface, as such, C can be considered the "lingua franca" of interoperability, required for glueing everything together.

This workshop's goal is to have fun while learning C and also, hopefully, understanding some of its design choices.

C is a small language making it easy to cover in such a short time—yet difficult to master, due its age and the complexity that arise through that.

I'm a genderqueer hacker from Berlin. Currently working in IT Security, my interests are also in systems engineering, typesetting/typography and cryptography. Additionally, I love teaching about these subjects as well as engaging in politics, having been part of the student's "Fachschaftsinitiative" of the CS department at the Freie Universität Berlin and active in various roles in the Ausbildungskommission, Institutsrat, Fachbereichsrat, Studierendenparlament and briefly as a member of the Academic Senate, before retiring from student life.

A number of open source projects are hosted all over the place at

and you can reach me in the Fediverse over

as well as read my blog over at

This speaker also appears in: