Virginia Tech®home

ECE 5574G - Advanced Software Development for Computer-Aided Engineering (3C)

Course Description

Computer-aided engineering software that address the hierarchy of engineering analysis, design, and decision evaluation is developed with state-of-the-art computer tools. Linear graph theory is applied to the modeling of physical networks. Operator overloading, dynamic polymorphism, graphical user interfaces, dynamic link libraries, and multiple threaded programs are considered.

Why take this course?

Computer-aided engineering software is developed and applied in all engineering disciplines. In this course the student is introduced to software implementations of the hierarchy of engineering analysis, design, and decision evaluation. An introduction to developing computer aided engineering programs with state-of-the-art computer tools and methods is provided. Software frameworks and design patterns are utilized in the course. The course introduces event driven programming for convenient designer interactions, multi-threaded programming for running lengthy and/or concurrent calculations, and the concept of runtime modular code. Graphical user interfaces are used for convenient analysis and design interaction. Upon completion of the course the student is prepared to implement computer aided engineering environments.

Learning Objectives

  • Develop event driven programs for computer-aided analysis of engineering systems
  • Develop graphical user interfaces for use in engineering analysis, design, and alternative decision evaluation
  • Apply design patterns in engineering analysis
  • Design and implement runtime modular programs
  • Develop flexible programs with components
  • Develop programs that model physical networks and network hierarchies