Studying basic concepts and techniques for creating computer programs using the object-oriented paradigm, history of programming languages and the evolution of programming languages, teaching basic programming concepts, understanding flow cart algorithms and pseudo code, and object-oriented programming. Material includes data types, introduction to Objects and Classes, Inheritance, GUI, getting to know function types, I/O Stream, and creating object-oriented programming projects through task-based learning and presentations.