ECE 5574G - Advanced Software Development for Computer-Aided Engineering
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.
Prerequisites: Graduate standing
Major Measurable 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