The course C Programming Language is offered as an intensive block course during the last week of September and the first week of October, with 6 contact hours per day. Since the course is offered in a single cycle in a computer classroom, the number of participants is limited (maximum 30).
The course is primarily intended for students who are not familiar with the C programming language but will need it as a tool in courses related to computer hardware. Priority for enrollment will be given to students who also enroll in Computer Organization and/or Input/Output Devices. An additional selection criterion will be the student's average grade in the first year.
data types, variables, and constants;
expressions, operators, and code structuring;
input/output and working with text and binary files;
dynamic memory management and strings;
multidimensional arrays;
functions as parameters and callbacks;
pointers and direct memory access; data structures based on linked lists;
header files and library development;
the preprocessor, conditional compilation, and macros.
introduction to good programming practices and common pitfalls in C;
presentation of useful programming "recipes" and patterns;
review of the source code of a larger C project.