New CourseEngineering 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 JavaSem. 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 444. 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. |