Embedded Linux Systems / User Space Programming
This course is about user space programming in Linux in C.
It covers all major areas of programming (processes, threads, IO, networking, synchronization and more).
It includes exercises (usually one exercise for every major chapter).
C++ is not covered as it is yet another thin layer on top of C and does not change the system API in any way nor change any of the best practices learned