This document outlines the course CSEG1001 Computer Programming. It covers several topics that will be taught over the course including the evolution of computers from the abacus to modern devices, generations of computers, programming languages, and basic programming concepts like algorithms, flowcharts, and pseudocode. The course roadmap shows it will cover introduction to computers, C programming basics, arrays and strings, functions and pointers, structures and unions.