Virginia Tech™home

Software Development

rear view of software developer viewing code

Value Benefit:

Software developers are in high demand right now with a projected 22.8-percent employment growth for software developers through 2022. Software developers can expect to find employment in a range of industries, including computer systems design, electronic product manufacturing, finance, web-based systems, and network security.

The profession’s superb job prospects, low unemployment rate, and excellent median salary landed it the top spot in the US News & World Report's Best Jobs rankings.

Learn more in our industry insight article: Building a Career in Software Development

Content Area Overview:

  • Provides a foundation in tool, techniques, and principles that underlie modern software development;
  • Understand object-oriented programming and the core principles that make object technology the most used approach to building complex software systems;
  • Learn to write code to solve a variety of problems;
  • Create effective unit tests for all codes;
  • Learn all aspects of the software lifecycle: requirements, design, testing, and maintenance;
  • Explore traditional models like the waterfall and special attention on agile development models and techniques: refactoring and continuous integration;
  • Learn the Unified Modeling Language (UML);
  • Apply object-oriented design patterns;
  • Learn details of distributed computing and builds from developing a stand-alone library to designing and developing an operational web-based service that is accessible via web browsers and mobile devices;
  • Manage, design, and develop complex software systems.

Courses:

  • 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
  • CS 5244: Web Application Development
    • Prerequisite: CS 5044; offered fall and summer
  • CS 5254: Mobile Application Development
    • Prerequisite: CS 5044; offered spring