Programming for Problem Solving (ICT-101T), formerly known as Programming in C (ES-101/102), covers fundamental programming constructs, modular functions, arrays, pointers, data structures (linked lists, stacks, queues, trees), and modern C programming practices.
Open notes, one-shot revision, mindmaps, PYQs, or expand topics from one place.
Structure of a C program, data types, declarations, operators, type conversions, I/O, control structures (conditionals and loops), algorithm design, and modern C extensions.
Functions, argument passing, recursion, storage classes, scope and lifetime, modular design, 1D & 2D arrays, searching and sorting algorithms, string manipulation, and command-line arguments.
Structures, unions, enumerated types, bit fields, memory alignment, pointer arithmetic, dynamic memory allocation, polynomial and matrix operations, file I/O, and error handling.
Abstract Data Types (ADTs), linked lists, stacks, queues, binary trees, function pointers, generic programming with macros, _Generic, assertions, and modern software hygiene.
These topics were part of the previous 'Programming in C' (ES-101/102) syllabus and are not in the new 'Programming for Problem Solving' (ICT-101T) scheme. They are preserved here so that existing notes and study materials remain accessible.