ECE 373

Object-Oriented Software Design

Usually offered: Fall

Required course: Yes

Course Level

Undergraduate

Units

3

Instructor(s)

Michael Marefat, Associate Professor

Prerequisite(s)

Advanced Standing: Engineering. Major: ECE. ECE 201.

Course Texts

Required Texts:

  • Tony Gaddis, Starting out with Java: Early Objects, 6th edition, Pearson, 2017.This book is available as Ebook, it costs much less as an Ebook. 
  • Michael Blaha, James Rumbaugh, Object-Oriented Modeling and Design, latest edition, Pearson Prentice Hall, 2005.

Schedule

Two 75-minute lecture sessions per week, T/TH 3:30 PM - 4:45 PM.

Course Description

Required/elective: Required CE; Elective EE

Specific Course Information: 
2021-2022 Catalog Data: 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.

Learning Outcomes

Specific Goals for the Course:
Outcomes of Instruction: By the end of this course the student will be able to:

  1. Introduce principles of object-oriented design.
  2. UML to capture design descriptions.
  3. Exploration of alternative designs in complex software, what makes a good design?
  4. Software development in a high level 00 programming Language: Java.
  5. Working with established 00 frameworks and rapid software development/prototyping.
  6. Team Development of complex software.

Course Topics

Brief list of topics to be covered:

  • Object-oriented computing concepts
    • Abstract data types, classes, methods
    • Message passing
    • Inheritance
    • Polymorphism
    • Dynamic binding
  • Object-oriented design and architectures
    • Class hierarchies
    • State modeling
    • Object models
  • Introduction to the Unified Modeling Language
    • Use case development
    • Sequence models
    • Activity models
  • Design tradeoffs for interfaces and implementation 
  • Advanced software architectures
    • Generic programming
    • Interface definition languages
    • Multiple inheritance

Relationship to Student Outcomes

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

1. An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
2. An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors.
3. An ability to communicate effectively with a range of audiences.

Syllabus Prepared By

Syllabus updated on 3/29/2022

Contact Undergraduate Advisor: undergradadvisor@ece.arizona.edu

Contact Us
Contact Us
Loading...