Back to Courses
Spring 2024 • 12 Credits
24-783

Advanced Engineering Computation

This course develops advanced programming and computational skills necessary for solving engineering problems through hands-on training with bi-weekly assignments and a final team project.

Level Graduate
Semester Spring
Credits 12
Status Active

Course Overview

This course develops advanced programming and computational skills necessary for solving engineering problems. Students gain practical training through bi-weekly assignments and a final team project.

Prerequisites

Required Background:

  • 24-780 Engineering Computation or equivalent
  • Experience with C++ programming
  • Experience with OpenGL graphics programming

Key Topics

1. Data Structures & Algorithms

Focus on efficient data structures and algorithms for real-world engineering datasets:

  • Trees: Binary search trees, balanced trees, spatial trees
  • Hash Tables: Efficient lookup and storage
  • Searching Algorithms: Advanced search techniques
  • Priority Queues: Heap-based priority management

2. Simulation & Visualization

Advanced techniques for engineering simulation and graphics:

  • Numerical ODEs: Solving ordinary differential equations
  • Numerical PDEs: Partial differential equation methods
  • Viewing Control: Camera systems and navigation
  • Programmable Shaders: GPU programming for visualization

3. Development Tools

Modern software development practices:

  • Version Control: Git and Subversion for code management
  • Scripting: Automation of development tasks
  • Build Systems: CMake for cross-platform builds

Learning Format

The course emphasizes hands-on experience through:

  • Bi-weekly Assignments: Regular programming projects
  • Team Project: Collaborative capstone project
  • Practical Implementation: Real-world engineering applications

Course Location

Campus: Carnegie Mellon University, Pittsburgh Credits: 12 units Semester: Spring

Course Philosophy

The course prepares students to apply computational methods to engineering challenges, with emphasis on both algorithmic efficiency and practical software engineering skills. Students learn to build robust, maintainable computational tools for engineering applications.

Application Areas

The skills developed in this course are applicable to:

  • Computational fluid dynamics
  • Structural analysis
  • Multi-physics simulation
  • Scientific visualization
  • Engineering optimization