Software Engineering Track

Our highly dedicated and experienced computer engineering faculty includes leading researchers who literally wrote the book on programming

Our curriculum is designed for students whose undergraduate degrees may not be in engineering or computer science. We’ll make you a serious programmer.

The Software Engineering Track is available as part of:


Key Courses

  • ECE 551D: Programming, Data Structures, and Algorithms in C++
  • ECE 550D: Fundamentals of Computer Systems and Engineering
  • ECE 651: Software Engineering
  • ECE 650: Systems Programming and Engineering

Other Notable Courses

  • ECE 553: Compiler Construction
  • ECE 555: Probability for Electrical and Computer Engineers.
  • ECE 558: Computer Networks and Distributed Systems
  • ECE 564: Mobile Application Development
  • ECE 565: Performance, Optimization, and Parallelism
  • ECE 566: Enterprise Storage Architecture
  • ECE 590: Various application courses (multiple listings)
  • ECE 653: Human-Centered Computing
  • Courses from other departments in Engineering or Sciences (CEE, ME, BME, STA, CS, etc)

Wankun Zhu"The many cross-departmental courses between Duke ECE and Computer Science provided me with fundamental computer skills. These skills gave me broader options with my career choices."

Wankun Zhu
Software Engineer, Google
Graduate Profiles and Graduate Outcomes »