ECE 5096 - 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.
5906: Further emphasis on project management and team formation; design and implementation of large software projects. Design and implementation of minimum viable software solutions to problems with the potential for meaningful impact; advanced application team management skills (e.g., conflict resolution), continued analysis and assessment of design choices on ethics, timeline, testing, and release of large software. Course credit will not be awarded for both ECE 5096 (CS 5926) and CS 5744 Software Design and Quality.
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 5926) 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 5096 (CS 5925 and 5926) 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.
Projects will be fully integrated across ECE 5095 and ECE 5096) CS 5925 and CS 5926. In CS 5926, students and teams will continue to advance projects begun in ECE 5095 (CS 5925) and learn and apply first principles of quality software design and quality throughout project design and implementation.
Learning Objectives
- Generate project design ideas and stretch goals to address open-ended social and/or individual challenges and identify and analyze user and stakeholder needs.
- Propose and demonstrate software project design concepts in a variety of visual forms for stakeholders.
- Develop a minimum viable implementation from a software project design and analyze the ethical consequences throughout the process.
- Employ processes used to move software project development from design concept to economically viable project with the requisite business model.
- Effectively communicate relevant project development information to appropriate audiences.
- Display skills and attitudes needed in successful interdisciplinary project development teams and apply conflict avoidance and resolution team management strategies.
- Employ industry standard software development tools and processes and document approach to all aspects including team management, individual performance assessments, etc.
- Create a high-level software design based on the course project and write a design rationale that justifies design choices.
- Evaluate software designs using a rubric and critique the strengths and weaknesses.
- Develop and evaluate software metrics and test plans traceable documentation for the course project.