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):

  1. 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:
  1. an understanding of the concepts of inheritance and polymorphism. [None]
  2. an ability to overload operators in C++. [1,2]
  3. an understanding of the difference between function overloading and function overriding. [None]
  4. an ability to incorporate exception handling in object-oriented programs. [None]
  5. an ability to use template classes and the STL library in C++. [None]
  6. an ability to write object-oriented programs of moderate complexity in C++. [1]
  7. an ability to write object-oriented programs of moderate complexity in Java. [1]
  8. 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