C programming language
I'm going to publish a course on C programming language, from the very beginning to the level enough to solve Advent of code. It's a work in progress, I'm going to add a few pages per week and cover topics starting from the very beginning, so feel free to start reading now and come back later.
Ground rules
You cannot learn a programming language only by reading books or websites. Even less you can learn by using AI assistants. To learn how to code you must write code, and this is what we'll be doing here. Many chapters will have an exercise at the end, and a code editor right here in your browser, which you can use to write some code – quite a small piece of code for the first chapters – to feel that you are actually using the language.
Quite soon you might feel you "graduated" from the web browser and want to use a real compiler; we'll talk about it soon enough, but for starters, the browser will just work. I recommend that you use your laptop or a desktop computer for this, but you can try a phone or a tablet, even though writing code on the phone keyboard is not fun.
But please remember: no AI assistants, that is, no ChatGPT. Let's make it fair: I'm not using ChatGPT or any other LLM to write these texts, and you are not using them to write the code. Deal?
Okay – let's start!