Virginia Tech® home

ECE 5095 - Integrated Project Design (6C)

Course Description

ECE 5095 (CS 5925) and ECE 5096 (CS 5926) form the cornerstone of a project-driven plan of study for MEng students. The course sequence is designed to more tightly integrate technical project development with the fundamental problem-solving and team management skills valued by employers.

ECE 5095 (CS 5925): Focus on study of team and project management; the professional and ethical implications of software design choices; design and implementation of large software projects. Special emphasis on software engineering first principles and tools and their application to large projects; study all phases of the software life cycle including design, test, and maintenance; assess software designs for cost, reliability, complexity, and ethical implications of software systems. Course credit will not be awarded for both ECE 5095 (CS 5925) and CS 5704 Software Engineering. Course credit will not be awarded for both ECE 5095 (CS 5925) and CS 5024 Ethics and Professionalism.

Why take this course?

The strategic plan for Virginia Tech calls for an increase in student opportunities for experiential learning to meet growing workforce demands in the Commonwealth and the Nation. The Ming programs provide a singular opportunity to fully integrate project-based learning with Computer Science and Computer Engineering degree programs (CS MEng and CPE MEng).


ECE 5095 and 5096 (CS 5925 and 5296) form the cornerstone of a project-driven plan of study for MEng students at the Innovation Campus. The course sequence is a key differentiator for the MEng degree offerings and is designed to more tightly integrate technical project development with the fundamental problem-solving and team management skills valued by employers. ECE 5095 and 5096 (CS 5925 and 5926) are designed such that the integrated project experience drives the need to learn and demonstrate fundamentals of software engineering that have stood the test of time from the existing courses CS 5704 and CS 5744. ECE 5095 and ECE 5096 are designed to be followed by the CS 5934
Capstone course where all aspects of the multi-semester final stretch goals are implemented, software is packaged for testing and formal release with customers including the abilities for others to access a public repository and the ability to upgrade and patch the software. The CS 5934 Capstone also includes pitching to various stakeholders and participation in public demonstrations of projects.

ECE 5095 and 5096 (CS 5925 and 5926) create a multi-semester, project-driven course sequence where real-world projects provide an experiential platform that affords the opportunity to bring together discussions of ethics and then apply these principles in practice to the projects under design. While this leads to better designs, the expectation is that the ethics components will meet VT graduate school requirements as well. Lastly, the team-based nature of the projects provides the opportunity to train students on individual and team dynamics, team management and assessment, and managing conflict and disruption throughout the multi-semester project.

Learning Objectives

  • Locate and use sources of background technical information on current topics related to privacy, intellectual property, algorithmic decision making.
  • Weigh and apply ethical framing employed by opposing views in current computing technology-related topics such as privacy, intellectual property, algorithmic decision making.
  • Apply ethical requirements involving conflicts of interest, proper conduct of research, appropriate use of human subjects in research, bias, and diversity.
  • Apply contemporary techniques and tools to the design and testing of large-scale software systems projects and analyze needs relative to all stakeholders.
  • Apply contemporary models to predict project development costs, measure and predict reliability, and measure software complexity.
  • Develop and apply leader/follower, conflict resolution, and management skills in the role of a productive member on a multi-person project development team.