ECE: Electrical & Computer Engineering

ECE 5576 Object-Oriented Software Development II


Fall 2014 textbook list

The Fall 2014 ECE textbook list is available online for students.

Current Prerequisites & Course Offering

For current prerequisites for a particular course, and to view course offerings for a particular semester, see the Virginia Tech Course Timetables.

Return to course list

ECE 5576 Object-Oriented Software Development II (3C)

Object-oriented design, including both logical and physical design. In logical design, rules related to class interfaces, containment, inheritance, and associations are covered along with design patterns. Physical design addresses components, levelized designs, and the application of generic programming concepts in design. Students develop design documentation for an engineering software project.

What is the reason for this course?

Object-oriented software principles are being applied in all engineering disciplines. This course provides an introduction to fundamental and advanced object-oriented analysis and design topics.

Typically offered: Spring. Program Area: Computers.

Prerequisites: 4574.

Why are these prerequisites or corequisites required?

Experience with dynamic polymorphism, operator overloading, generic progamming and working with frameworks at the level of 4574, Large-Scale Software Development for Engineers, is required.

Department Syllabus Information:

Major Measurable Learning Objectives:
  • Design levelized systems that have a natural order for construction and testing.
  • Apply patterns in object-oriented design.
  • Apply generic programming in object-oriented design.
  • Design systems in terms of components.

Course Topics
Topic Percentage
Design rules for class interfaces 5%
Design rules for moving from procedural programs 5%
Design rules for containment 10%
Design rules for single-inheritance 10%
Design rules for multiple-inheritance 5%
Design rules for association relationships 5%
Ground rules for physical design 5%
Designing with components 10%
Creating levelized designs 15%
Application of design patterns 15%
Generic programming fundamentals 5%
Generic programming in design of algorithms 10%

Return to course list