Virginia Tech®home

Software Engineering

two people reviewing code


Software engineers are the human interface between end-users and computer technologies, providing the strategies, writing the algorithms and solving the problems that enable systems to function effectively. Often leading the way in application and operating systems development, software engineers also need to be savvy problem solvers, analysts and communicators.

According to the U.S. Bureau of Labor Statistics (BLS), the employment of computer software engineers is anticipated to grow at a rate of 17% through 2024.


  • CS 5044: Object-Oriented Programming with Java (Core)
  • CS 5704: Software Engineering (Core)
  • CS 5744: Software Design & Quality

View course descriptions