Virginia Tech®home

ECE 2514 - Computational Engineering (3C)

Course Description

Software development processes for electrical and computer engineering applications. Modeling, simulation, data analysis, and visualization. Computing abstractions and the use of application programming interfaces. Software design and implementation using a procedural, class-based language. Integrated code development and testing. Team-based development of autonomous system applications reinforcing course topics

Why take this course?

Software is an essential component in modern electrical and computer engineering systems. Examples of such systems include the Internet of Things, industrial control, and autonomous robots / cars / drones. The complexity of these systems resides in the software, and a systematic approach is required to be successful. Problems should first be explored using modeling and simulation tools in order to develop, evaluate, refine, and validate effective and efficient algorithms and data structures. This development process will be illustrated with small unmanned autonomous systems which comes with a rich set of realistic, open source simulation tools incorporating high resolution data.

Learning Objectives

  • 1. Analyze electrical and computer engineering problems arising in autonomous systems applications using modeling, data visualization, and simulation software.
  • 2. Apply abstraction to problem exploration and solution development.
  • 3. Translate abstract algorithms and data types into a procedural, class-based language.
  • 4. Develop software applications with hierarchical design and systematic test schemes.
  • 5. Participate in the team-based design, implementation, test, demonstration, and evaluation of an autonomous, data-driven application.
  • 6. Demonstrate professional and ethical behavior in a team-based engineering environment.