This course trains students to interpret real-world problems that can be addressed by computing solutions through design, implement, test, and debug programs using intermediate programming concepts and skills. This includes POINTERS, ARRAY, STRING AND CHARACTER MANIPULATION, STRUCTURE, FILE PROCESSING, DYNAMIC MEMORY ALLOCATION and LIST ABSTRACT DATA STRUCTURE.