A foundational programming course that teaches the fundamentals of computer programming using the C language, which is essential for low-level systems and learning other languages.
C Fundamentals: History, structure of a C program, keywords, data types, variables, and constants.
Operators and Expressions: Arithmetic, relational, logical, and bitwise operators, and operator precedence.
Control Structures:
Decision Making: if, if-else, nested if, switch.
Looping: for, while, do-while loops, and control statements (break, continue).
Arrays and Strings: One-dimensional and multi-dimensional arrays, and standard string manipulation functions.
Functions: Defining and calling functions, actual vs. formal arguments, Call by Value, Call by Reference, and recursion.
Pointers: Introduction to pointers, pointer arithmetic, and pointers to arrays/functions.
User-Defined Data Types: Structures, Unions, and Enums.
File Handling: Performing I/O operations (read/write) on files.
Dynamic Memory Allocation: Using functions like malloc(), calloc(), realloc(), and free().