This course provides an introduction to object-oriented software development using the Java programming language. Emphasis is placed on translating written problem descriptions into robust software solutions. Topics covered include Java program structure, algorithmic problem solving and modularization, I/O statements, control constructs, looping techniques, class libraries, user defined classes and methods, and arrays. (prereq: none) (2-2-3)


On successful completion of this course, the student will:

The above course description and goals were taken from the official course description.

General Course Policies

Please review the general course policies webpage.


An Introduction to Object-Oriented Programming with Java e/4, by C. Thomas Wu (Otani), McGraw-Hill, 2006, ISBN: 0-07-294652-0 (errata list)


Quizzes will be given nearly every week at the beginning of lab. The lowest quiz score will be dropped. No make-up quizzes will be given.


Unless stated otherwise, all laboratory assignments will be completed individually. All Lab assignments are worth 50 points per week (i.e., a two week lab assignment is worth 100 points).

My Schedule


Lab projects: 35%
Quizzes: 15%
Hour exams (2): 30%
Final exam: 20%
Total: 100%