ECE 495K - Object-Oriented Design Using C++ and Java
Course Details
Lecture Hours: 3 Credits: 3
This is an experiential learning course.
Counts as:
Experimental Course Offered:
Spring 2001, Spring 2002, Spring 2003
Catalog Description:
Review OO design with C++ and Java. Difficulties caused by multiple inheritance in C++. Taking advantage of Run-Time Type Identification in C++. Multi-threading, AWT, and Network Programming in Java. Discussion of Java applets, beans, and servlets. Unified model language. Use-case analysis. Constructing conceptual models. System sequence diagrams. "Gang of Four" design patterns. Case studies.
Required Text(s):
- Java Design Patterns , James Cooper , Addison-Wesley , 2000 , ISBN No. 0-201-48539-7
- UML Distilled, Applying the Standard Object Modeling Language , Martin Fowler with Kendall Scott , Addison-Wesley , 1997 , ISBN No. 0-201-32563-2
Recommended Text(s):
- C++ Programming Language , 3rd Edition , B. Stroustrup , Addison-Wesley , 1997 , ISBN No. 0-201-88954-4
- Core Java: Volumes I and II , Cay Horstman and Gary Cornell , Sun Microsystems Press , 1997 , ISBN No. 0-13-766965-8
- Design Patterns: Elements of Reusable Object-Oriented Software , Erich Gamma, et. al. , Addison-Wesley , 1994 , ISBN No. 0-201-63361-2
Learning Outcomes:
A student who successfully fulfills the course requirements will have demonstrated:
- a knowledge of the Unified Modeling Language for the conceptual design of object-oriented programs.. [e,k]
- an ability to design object-oriented solutions to programming problems using previously developed "best practice" design components.. [c,e,k]
- an understanding of the pros and cons associated with multiple inheritance in C++.. [e,k]
- a knowledge of graphics and user interface programming with Java.. [c,e,k]
- an ability to carry out database programming in Java.. [e,k]
- an understanding of multithreading issues in Java.. [e,k]
Lecture Outline:
Lecture | Topic |
---|---|
1 | Course Introduction |
2 | Software Development Process for Large OO Programs |
3 | Use Cases, Class Diagrams |
4 | Class Diagrams (Advanced Concepts) |
5-7 | Interaction, Package, State, and Activity Diagrams |
7-12 | Extending Classes in C++ and Java |
Test 1 | |
13-16 | OO Design using Multiple Inheritance in C++ |
17-22 | Design Patterns |
23-29 | OO for GUI Design with Java, C++, and C |
Test 2 | |
30-32 | Multi-threading for OO Design |
33-35 | Network Programming in Java |
36-38 | Java Database Programming |
39-40 | Remote Method Invocation |
41-42 | Servlets |
Test 3 |
Assessment Method:
none