Virginia Tech™home

Software Engineering

two people reviewing code

Value Benefit:

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)
    • Prerequisite: Knowledge of programming languages such as Java, C, C++, or C#; offered fall, spring, summer
  • CS 5704: Software Engineering (Core)
    • Prerequisite: CS 5044; offered fall and spring
  • CS 5744: Software Design & Quality
    • Prerequisite: CS 5704; offered fall