This course‘s main aim is to teach basic concepts and techniques for creating computer programs using a simple object-oriented paradigm. Students will be introduced to the concepts of computational thinking, flow diagrams, pseudocode, and algorithms, the history and evolution of programming languages, basic programming concepts, object-oriented programming, and GUIs. Material includes data types, introduction to Objects and Classes, Inheritance, GUI, getting to know function types, I/O streams, and creating simple object-oriented programming projects