You will spend your career in Python and R, not C. So why start here?
Because C hides nothing. When you write x = y in Python, an enormous amount
happens that you never see. In C you allocate the memory, you free it, you pass
the address. Every abstraction that Python gives you free, C makes you build —
and having built it once, you understand what Python is doing on your behalf
for the next three years.
The two ideas that matter most for later are pointers (Unit 4) and manual memory management (Unit 5). When a Pandas operation is unexpectedly slow because it copied a dataframe instead of viewing it, this course is why you will know what happened.
Understand the fundamentals of computer programming; apply structured problem-solving approaches using algorithms, flowcharts and C constructs.
Develop efficient logic using decision-making, loop and jump control statements.
Utilize derived data types like arrays and strings for modular program design.
Design and implement modular solutions using functions, recursive logic, pointer operations and dynamic memory management.
Handle complex data structures including structures, unions and text file operations.
At the end of the course you should be able to:
Understand basic computing concepts and programming paradigms, and write structured C programs.
Apply control flow statements to solve logical and repetitive tasks.
Design modular code using functions, recursion and appropriate parameter passing.
Use pointers and memory operations effectively; demonstrate competence in dynamic memory allocation and text file processing.
Types of software, compiler vs interpreter, algorithms and flowcharts; C tokens, data types, operators and I/O.
UNIT 2if, if-else, else-if ladder, switch; while, for, do-while; break, continue and goto.
UNIT 3One- and two-dimensional arrays, memory representation, row-major order; strings and string handling functions.
UNIT 4Pointers and pointer arithmetic; functions, recursion, call by value and by address; auto, extern, static and register.
UNIT 5malloc, calloc, realloc, free; structures and unions; text file operations.
PRACTICEExam-style questions with fully worked solutions.
LABEvery prescribed lab experiment, with code and expected output.