New Course

Engineering Faculty Document No

Engineering Faculty Document No. 1-02

August 19, 2002

Page 1 of 2

TO: The Engineering Faculty

FROM: The Faculty of the School of Electrical and Computer Engineering

RE: New Undergraduate-Level Course

The faculty of the School of Electrical and Computer Engineering has approved the following new course. This action is now submitted to the Engineering Faculty with a recommendation for approval.

ECE 435 Object-Oriented Design Using C++ and Java

Sem. 2. Class 3, cr. 3.

Prerequisite: ECE 462.

Review of objected-oriented design with C++ and Java. Difficulties caused by multiple inheritance in C++. Taking advantage of Run-Time Type Identification in C++. Multi-threading, Abstract Window Toolkit, and Network Programming in Java. Discussion of Java applets, beans, and servlets. Unified modeling language. Use-case analysis. Constructing conceptual models. System sequence diagrams. "Gang of Four" design patterns. Case studies.

Reason: It is now widely recognized that just knowing objected-oriented languages and having

access to a library of classes is not sufficient for creating objected-oriented designs. This realization has led to the emergence of a “patterns movement” in the objected-oriented community. Patterns are the “best practice” designs that have evolved over the years for tackling issues such as how to make objects sharable; how and when to assign responsibilities to objects; how to make the objected-oriented design reusable in other similar contexts, etc.

Leah H. Jamieson

Professor and Interim Head


Engineering Faculty Document No. 1-02

August 19, 2002

Page 2 of 2

Supporting Documentation:

1. Level: Undergraduate Level

2. Course Instructor: Avinash C. Kak

3. Course Outline:

Topics Lectures

1. Course Introduction 1

2. Software Development Process for Large OO Programs 1

3. Use Cases, Class Digrams 1

4. Class Diagrams (Advanced Concepts) 1

5. Interaction, Package, State, and Activity Diagrams 3

6. Extending Classes in C++ and Java 5

7. OO Design using Multiple Inheritance in C++ 4

8. Design Patterns 6

9. OO for GUI Design with Java, C++, and C 7

(AWT/Swing in Java, Qt in C++, and GNOME/GTK+ in C)

10. Multithreading for OO Design 3

11. Network Programming in Java 3

12. Java Database Programming 3

13. Remote Method Invocation 2

14. Servlets 2

15. Exams 2

Total 44

4.                  Text:

1.                  UML Distilled, Applying the Standard Object Modeling Language, Martin

Fowler and Kendall Scott, Addison-Wesley, 1997, ISBN 0-201-32563-2.

2.                  Java Design Patterns, James Cooper, Addition-Wesley, 2000, ISBN 0-201-

48539-7.