EECS 40 Object-Oriented Systems and Programming (2016-2017)

EECS 40 Object-Oriented Systems and Programming

(Required for CpE. Selected Elective for CE.)
Catalog Data:

EECS 40 Object-Oriented Systems and Programming (Credit Units: 4) Primitive types and expressions. The class and method definition. Information hiding and encapsulation. Objects and reference. Overloading. Constructors. Inheritance basics. Programming with inheritance. Dynamic binding and polymorphism. Exception handling. An overview of streams and file input/output. Programming laboratory. Prerequisite: EECS 22L. Computer Engineering majors have first consideration for enrollment. (Design units: 2)

Required Textbook:
. Edition, , 1969, ISBN-13 978-0596009205.

. Edition, , 1969, ISBN-13 978-1449316648.

Recommended Textbook:
Brian Demsky
Relationship to Student Outcomes
No student outcomes specified.
Course Learning Outcomes. Students will:

1. Write object-oriented programs in Java.

2. Test and debug Java programs.

3. Design and implement object-oriented software systems in Java programs.

Prerequisites by Topic
  • Understanding basics of computer programming with some high level language.
  • Programming concepts for system software including data types, pointers, recursion and modules.
  • Binary data representation.
  • Algorithm efficiency.
Lecture Topics:

Fundamentals of object-oriented programming and system programming in Java.

Class Schedule:

Meets for 3 hours of lecture, 1 hour of discussion and 2 hours of laboratory each week for 10 weeks.

Computer Usage:


Laboratory Projects:

The class will write programs to emulate the functionalities of a scientific calculator, with data memory and graphical user interface.

Professional Component

Contributes toward the Computer Engineering Major Topics and Major Design experience.

Design Content Description

This course has a heavy schedule devoted to the object oriented program design. Four to five projects are assigned in each quarter, each project requiring 20 to 30 hours of intensive programming effort. Students are required to work on the following projects: The design of object classes. The design of methods in the base classes, including constructors, destructors, and member functions. The design of derived classes using single and multiple inheritances. The design of user interfaces.

Lectures: 50%
Laboratory Portion: 50%
Grading Criteria:
  • Programming 30%
  • Midterm 35%
  • Final 35%
  • Total 100%
Estimated ABET Category Content:

Mathematics and Basic Science: 0.0 credit units

Computing: 0.0 credit units

Engineering Topics: 4.0 credit units

Engineering Science: 2.0 credit units

Engineering Design: 2.0 credit units

July 12, 2016
Senate Approved:
April 9, 2014
Approved Effective:
2014 Fall Qtr