An introduction to the principles of computer science with an emphasis on algorithmic problem solving and the realization of algorithms using a modern object-oriented programming language. Topics include algorithms, problem solving, programming, classes, primitive data types and objects, control structures, arrays and vectors, principles of object-oriented design and programming, and an introduction to graphics and graphical user interfaces. The course also includes an overview of the discipline of computer science and a study of the social implications of computer use. May serve as the laboratory course in the Natural Science Division’s distribution requirement. One laboratory per week. Prerequisite: Knowledge of elementary algebra.