This course introduces students to the fundamentals of programming with an emphasis on problem-solving using algorithms. Students will learn to write basic programs using C language, focusing on control structures, functions, arrays, and recursion.
Basics of computer systems, operating systems, compilers, and program execution. Introduction to algorithms and flowcharts.
Data types, variables, constants, arithmetic and relational operators, operator precedence, and type conversions.
Conditional statements (if-else, switch), loops (for, while, do-while), and nested loops.
Functions in C, parameter passing, return values, arrays (1D, 2D), and string manipulation.
Pointers, pointer arithmetic, dynamic memory allocation, recursion, and basic sorting algorithms (bubble, insertion, selection).
File I/O operations, reading from and writing to files, and error handling in file operations (if time permits).
The lab component of this course provides hands-on programming practice to reinforce concepts learned in the theory course. Students will work on various programming assignments involving the use of arrays, loops, functions, and file handling in C.