Learning OOP or CS didnt have to be made this difficult!
They simply taught PROGRAMMING CONCEPTS, for example Object-Oriented Programming, they taught us about objects, methods etc and how they relate to real-world objects. It was up to the student to find out how to implement the concepts in a program and solve a real-life problem.