California State University, Chico
Department of Computer Science and Engineering

Syllabus/Course Requirements



Object-Oriented Programming and Implementations in Java

Prerequisite: CSCI 311 (Data Structures and Algorithms) or faculty permission
      and object-oriented programming experience in some language (eg. Java, C++, Smalltalk)
Instructor Strong Suggestion: CSCI 533 (Object-Oriented Analysis & Design)

Prerequisite by Topic: Familiarity with the principles of object-oriented design and programming

Satisfies Graduate Requirement: 5 : Programming Languages (Catalogs prior to 2003)

Units: 3

Class Dates and Times: TTh , 2:00-3:15pm (Pacific)

Instructor: Anne Keuneke

Office Hours: see http://www.ecst.csuchico.edu/~amk/foo/hours.html for current information

Office Phone: (530) 898-5998

email: amk@ecst.csuchico.edu

WWW Homepage: http://www.ecst.csuchico.edu/~amk

FAX: (530) 898-5995

Textbooks Required: (see http://www.ecst.csuchico.edu/~amk/foo/cscijava/books.html )

  1. Core Java 2 Volume I and II(two volumes), Gary Cornell and Cay Horstmann, Prentice Hall, 2004 (2000 or later)
  2. (very optional) UML Distilled Applying the Standard Object Modeling Language, Martin Fowler, Addison Wesley, 1997,
Preferable Software to be Used: See website: http://www.ecst.csuchico.edu/~amk/foo/advjava/software.html and the SUN site for ftp access to Java

Course Description:

This class focuses on object-oriented programming using the large class libraries and interactive programming environments provided in the Java Programming Language. Topics include both design considerations (e.g. model/view/controller architectures) and the programming constructs of user-interfaces, multi-threaded systems, I/O, database connectivity (JDBC), exception handling, and distributed computing (client/server programming with sockets).
Note: this is not just a Java "intro". The labs are designed to focus on certain strengths (not basics) of Java.


Topics: Goals: To give a thorough coverage of the design, analysis, implementation and application of object-oriented techniques, both for single system software and on distributed networks. Focus is on significant classes provided in the Java Language.

Laboratory Projects: Four or five substantial program design and implementation assignments.

Lab submission: See http://www.ecst.csuchico.edu/~amk/foo/design.html for how labs should be submitted

Grade Evaluation Procedures:

Late Policy

"Live" (not archived) versions of the course
Labs that are late will be marked down. The labs and due dates are established early. You should be prepared for sudden changes in your schedule. Interviews, etc. are not excuses for late labs.