ECE 373

Object-Oriented Software Design
Required for CE; elective for EE
Catalog Data: 

ECE 373 - Object-Oriented Software Design (3 units)

Description: Object-oriented computing concepts, abstract data types, classes, methods, message passing, inheritance, object-oriented design and architectures, class hierarchies, use case development, sequence diagrams, introduction to unified modeling language, object-oriented programming languages and environments, polymorphism, dynamic binding, OO software implementation projects.

Grading: Regular grades are awarded for this course: A B C D E

Course Fee: $25

ECE 275

Blaha, Michael R., and James R. Rumbaugh. Object-Oriented Modeling and Design with UML. 2nd ed. Pearson, 2004.

Additionally, one of the following is used:

  • Gaddis, Tony. Starting out with Java: Early Objects. 5th ed. Pearson, 2014.
  • Dattatri, Kayshav. C++: Effective Object-Oriented Software Construction: Concepts, Practices, Industrial Strategies and Practices. 2nd ed. Prentice Hall, 1999.

Additional, optional language references will be provided.

Course Learning Outcomes: 

By the end of this course, the student will be able to:

  1. Understand the fundamentals of OO programming vs. procedural programming
  2. Understand the connections between various UML diagrams for a consistent design
  3. Perform a design criticism
  4. Engineer and develop software systems through object-oriented methods
Course Topics: 

Object-oriented computing concepts (6 lectures)

  • abstract data types, classes, methods
  • message passing
  • inheritance
  • polymorphism
  • dynamic binding

Object-oriented design and architectures (8 lectures)

  • class hierarchies
  • state modeling
  • object models

Introduction to the Unified Modeling Language (8 lectures)

  • use case development
  • sequence models
  • activity models

Design tradeoffs for interfaces and implementation (4 lectures)

Advanced software architectures (4 lectures)

  • generic programming
  • interface definition languages
  • multiple inheritance

Advanced OO projects and languages (3 lectures)

Class/Laboratory Schedule: 

Two 75-minute lectures per week

Relationship to Student Outcomes: 

ECE 373 contributes directly to the following specific electrical and computer engineering student outcomes of the ECE department:

  • Ability to apply knowledge of mathematics, science and engineering (medium)
  • Ability to design a system, component or process to meet desired needs within realistic constraints, such as economic, environmental, social, political, ethical, health and safety, manufacturability and sustainability (high)
  • Ability to function on multidisciplinary teams (low)
  • Ability to identify, formulate and solve engineering problems (medium)
  • Ability to communicate effectively (medium)
  • Ability to use the techniques, skills and modern engineering tools necessary for engineering practice (high)
Prepared Date: 
Michael Marefat
Modifications By: 

University of Arizona College of Engineering