ECE 30862 - Object-Oriented Programming in C++ and JavaLecture Hours: 3 Credits: 3 Professional Attributes
This course may be used as a Computer Engineering Elective for the BSCmpE.
Normally Offered: Each Fall
Requisites by Topic:
Advanced C Programming
The C++ and Java programming languages are presented. The language constructs discussed include classes, inheritance, encapsulation, polymorphism, class derivation, abstract classes, interfaces, static class members, object construction and destruction, namespaces, exception handling, function overloading and overriding, function name overload resolution, container classes, template classes, etc.
Was previously offered as ECE 46200.
- Programming with Objects, A Comparative Presentation of Object-Oriented Programming with C++ and Java, Avi Kak, John-Wiley, 2003, ISBN No. 047-126-8526.
Recommended Text(s): None.
Learning Outcomes:A student who successfully fulfills the course requirements will have demonstrated:
- an understanding of the concepts of inheritance and polymorphism. [None]
- an ability to overload operators in C++. [1,2]
- an understanding of the difference between function overloading and function overriding. [None]
- an ability to incorporate exception handling in object-oriented programs. [None]
- an ability to use template classes and the STL library in C++. [None]
- an ability to write object-oriented programs of moderate complexity in C++. 
- an ability to write object-oriented programs of moderate complexity in Java. 
- an ability to write programs with multiple threads and use synchronization among threads. [None]
|1||Course Introduction and Simple C++|
|2||Program Development Environment and Tools|
|3-4||First Introduction to Classes, Encapsulation, Inheritance, and Polymorphism|
|5||Strings in C++ and Java|
|6-7||Unified Modeling Language|
|8-9||Graphical User Interface|
|10-11||Container Classes in C++ and Java|
|12-13||Primitive Types, Declaration, Definitions, and Initializations in C++ and Java|
|14-16||Object Reference, Memory Allocation, and C++ Structures|
|17-20||Functions and Methods|
|21-23||Exception Handling in C++ and Java|
|24-26||Classes in C++ and Java|
|27-28||Abstract Classes and Interfaces|
|29-30||Operator Overloading in C++|
|31-32||Templates and Generics|
|33-37||Extending Classes and Multiple Inheritance|
|38-42||Multiple Threads and Synchronization|