EECS 40 Object-Oriented Systems and Programming (2013-2014)

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: EECS20. Computer Engineering majors have first consideration for enrollment. (Design units: 2)

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

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

Recommended Textbook:
Brian Demsky
Relationship to Student Outcomes
This course relates to Student Outcomes: EAC a, EAC b, EAC e, EAC k.
Course Learning Outcomes. Students will:

1. Write object-oriented programs in Java. (EAC a, EAC e)

2. Test and debug Java programs. (EAC a, EAC b)

3. Design and implement Java programs that utilize graphical interfaces. (EAC a, EAC b, EAC e, EAC k)

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

May 28, 2013
Senate Approved:
April 29, 2013
Approved Effective:
2013 Fall Qtr