Object-Oriented Software Design
- 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.
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.
Specific Goals for the Course:
Outcomes of Instruction: By the end of this course the student will be able to:
- Introduce principles of object-oriented design.
- UML to capture design descriptions.
- Exploration of alternative designs in complex software, what makes a good design?
- Software development in a high level 00 programming Language: Java.
- Working with established 00 frameworks and rapid software development/prototyping.
- Team Development of complex software.
Brief list of topics to be covered:
- Object-oriented computing concepts
- Abstract data types, classes, methods
- Message passing
- 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.