ECE: Electrical & Computer Engineering
Accredited by ABET
Undergraduate Programs

ECE 4574 Large-Scale Software Development for Engineering Systems


Spring 2014 textbook list

The Spring 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 4574 Large-Scale Software Development for Engineering Systems (3C)

Large-scale software implementations of the hierarchy of engineering analysis, design, and decision evaluation. Computer-aided engineering programs with state-of-the-art computer tools and methods. Operator overloading, dynamic polymorphism, graphical user interfaces, generic programming, dynamic link libraries, and multiple threads.

What is the reason for this course?

Software for large-scale environments is being developed and applied in all engineering disciplines. In this course the student is introduced to large-scale 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 used throughout 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 which provide for convenient analysis and design of large engineering systems are emphasized. Upon completion of the course the student will be prepared to implement large-scale, Computer Aided Engineering environments.

Design Technical Elective for CPE; Technical Elective for EE. Typically offered: Spring. Program Area: Computers.

Prerequisites: C- or better in 3574.

Why are these prerequisites or corequisites required?

This course assumes that the students have a strong knowledge of the C++ language and a knowledge of software engineering principles as taught in ECPE 3574.

Department Syllabus Information:

Major Measurable Learning Objectives:
  • Develop large-scale, event driven programs for engineering systems
  • Demonstrate ability to work with frameworks
  • Design and implement multi-threaded, runtime modular programs
  • Design and implement graphical user interfaces

Course Topics
Topic Percentage
Frameworks, components, and design patterns 5%
Engineering analysis, design, and decisions 5%
Object-oriented analysis 5%
Event driven programming and messages 10%
Frameworks and design patterns 5%
Graphical user interfaces and resources 10%
Design patterns for engineering calculations 10%
Runtime modular programs 5%
Multi-threaded programming 10%
Architecting a component 10%
Physical hierarchies 10%
Insulation 5%
Packages 10%

Return to course list