This course covers some of the fundamental topics of computer programming, particularly that algorithms and data structures are inherently related. This course assumes you have done the Computer Programming 1(C programming) and will build on the concepts fundamental to problem solving which are data structures and algorithms.