ECE 30862 - Object-Oriented Programming in C++ and Java
Note:
Was previously offered as ECE 46200.
Course Details
Lecture Hours: 3 Credits: 3
This is an experiential learning course.
Counts as:
- EE Elective
- CMPE Selective
Normally Offered:
Each Fall
Campus/Online:
On-campus only
Requisites:
ECE 26400
Requisites by Topic:
Advanced C Programming
Catalog Description:
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.
Required Text(s):
- 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++. [1]
- an ability to write object-oriented programs of moderate complexity in Java. [1]
- an ability to write programs with multiple threads and use synchronization among threads. [None]
Lecture Outline:
Lectures | Major Topics |
---|---|
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 |