The C language: variables, flow control, functions, memory structure, one- and multi-dimensional arrays, recursion, structures and unions, pointers and dynamic memory allocation,linked lists, file handling, bit manipulation. Modularity and software engineering.