This study guide provides the objectives, requirements, and timetable for this course. It also provides some guidelines for designing and creating programs. Introduction Computer Science is a discipline concerned with building large abstractions out of smaller abstractions.
Every system used on a computer is constructed from smaller components.
Unfortunately, the number of components and the complexity of their interactions grows exponentially with the size of the system. As a result, one theme that computer science is constantly pursuing is to find methods of increasing abstraction and constraining the number of connections between components. One of the more recent developments in creating and managing abstractions is object oriented programming. Many different programming languages have been created that implement object oriented methodologies. The result is a flexible, powerful, fast language that has a very involved syntax and plenty of pitfalls.