This course introduces the student to fundamental concepts of object-oriented programming with Java. Topics include data types, control structures, functions, arrays, files, and the mechanics of running, testing, and debugging. It then moves on to introduce the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design. The course also offers an introduction to the historical and social context of computing and an overview of computer science as a discipline. Prerequisites: MATH V03 or 1 year of high school intermediate algebra (Algebra II) or any higher-level math course with grade of C or better. Transfer credit: CSU; UC. Formerly: MATH V56.