Course description
The capstone is an opportunity in the CMU curriculum for students to refine and reinforce the skills they have acquired during the first year of their master’s degree program. Students exercise these skills through a one-semester, real-world project provided by an outside sponsor. The sponsor is an organization that agrees to support a CMU capstone project. They provide the project definition and necessary resources to complete the project. The sponsor designates an individual to be the project client who works directly with a student team. The Team is expected to perform as if they are a contract team that negotiates with the client the scope and details of the project. The project is then worked on by the team with the client to achieve the negotiated deliverables over the course of the semester. Each team is overseen by a faculty advisor whose role is to check on student progress and evaluate the academic performance of the students. Faculty advisors are not directly involved with the client or the project.
The capstone course consists of two parallel activities. The first is the capstone project which involves the
sponsor, client, and team as described above. The second is the capstone as a graded 12-unit academic
course. This involves the team and the faculty mentor with classes and assignments. The faculty member
assesses the team based on project reports, professionalism, project execution, and client feedback.
Learning objectives
To provide an opportunity for students to demonstrate that they can apply what they have learned in their courses including:
- Technical skills
- Professional skills
- Critical thinking and problem-solving skills
To provide an opportunity for students to acquire practical skills by working on artificial intelligence and machine learning projects including:
- Engaging with a client
- Developing a work plan based on client requests and assessments of project constraints
- Applying project management and Agile methodology
Outcomes
After completing this course, students should be able to:
- Acquire and assess requirements with a client
- Make effective trade-offs in a project to realize a product that satisfies the client’s objectives
- Define roles and tasks within a team and carry out a team project effectively
- Make a project schedule and adapt throughout the project to deal with unforeseen contingencies
Course structure
The project side of the course consists of four phases:
- Project assignments, team-forming, agreements
- Project scoping and statement of work
- Work execution
- Final project delivery
The assignment of students to projects considers student preferences and skill sets compared to the requirements of the proposed project. Agreement is where all parties sign educational project agreements.
Project scoping and statement of work is where each team works with the client to develop a general
approach as well as an initial project statement of work. Teams make a presentation to other capstone teams
and faculty advisors to get initial feedback.
Work execution is where teams spend the bulk of their time on the project working with the client. Here they follow the statement of work and make modifications to the statement of work as they make progress. Deliverables are submitted to the client per the statement of work. Teams make a presentation to other
capstone teams and faculty advisors to be sure that they are on track.
In the final week, students make project presentations to the client, fellow students, and academic advisers. They submit their final project deliverables for client evaluation.
The academic side of the course consists of three activities, course instruction, assignments, and final assessment. Course instruction happens for approximately one hour every week to provide information that complements the project methods and other classes as well as having working sessions on project-related issues.
Over the semester students will have periodic assignments that will be turned in for credit.
The final assessment will gather information from the client, the faculty advisors, and the teams to assign a final grade for each student.
Agile methodology
Each team is expected to use agile methods including hills, epics, user stories, standups, sprints, backlogs,
time tracking, burndown charts, etc. Tools from GitLab will be used to support this part of the project.
Engineering notebook
Each team will maintain a team engineering notebook, which is due at the end of the project with the Final Deliverables. Here teams document each major project decision (e.g., organization choice, tool selections, etc.). For each decision entry in the notebook, teams are to list the final decision, the justification for that decision, and one or two alternatives not chosen. The engineering notebook should be updated on a daily basis throughout the project. Students are expected to use a Wiki page in GitLab to maintain their engineering notebook
Prerequisites
Corequisite of 04-653 Engineering Artificial Intelligence Project Methods
Faculty
Charles Wiecha and Tim Brown