Keywords: C language , I/O in C, Converting FSMs to C, Pointers, arrays, strings, C declarations, Program building process, CPP, Modules, Writing large programs, Makefiles, Dynamic memory, GNU make tutorial, Type conversions, Polymorphism, Abstract data types (ATDs),GDB,Checking program conditions, Assertions,Memory allocators,Stack, recursion, sudoku, Recursion, ,How debuggers work,x86 assembly,Buffer overrun attacks,Linking/loading,Error handling,Exceptions,Coding style,Comments,Code reviews,GIT tutorial,Measuring performance,Sample profiling,Concurrency and threads