Course project: Alpha release
Solidify your toolchain and processes, implement the core components, and demo a first release of your project.
Work with your project group to (1) solidify your toolchain and processes, (2) provide an initial documentation, and (3) record a first demo of your project.
1. Solidify your toolchain, processes, and instructions (40%)
- All technical processes (version control, bug tracking, build system, testing and CI) must be fully functioning and documented.
We expect proper use of version control, including coherent commits with descriptive commit messages.
- Your public GitHub repository must provide a top-level README with:
Clearly labeled instructions for how to build and test the system. (Strive for a high degree of automation.)
Clearly labeled instructions for how to run the system.
Based on the provided instructions, the course staff must be able to build and test the system without issues.
- Complete this in the main branch of your repository by deadline. (Check Calendar!!!)
2. Implement and integrate first versions of all your system’s major components (40%)
Implement and demo a first prototype. At least one use case that touches all major components of your system must be operational. For example, in the case of a client-server web application, a user command invoked from the front end should be able to return data from the back end.
The top-level README in your repository must reflect which use case(s) are operational.
Complete this in the main branch of your repository by deadline. (Check Calendar!!!)
3. Record a short demo and reflection (20%)
Your presentation should have two parts:
A demo of your prototype (9-11 minutes). Focus on the operational use case(s), highlight major accomplishments, and discuss open challenges.
A reflection on the current experience (3-4 minutes). This part of your presentation should include three slides that reflect on (1) process and timeline, (2) architecture and design, and (3) testing and tooling. For each, briefly motivate your initial plan and state whether you made changes, and if so what they were.
Each group member must participate in some way in the presentation.
You must stick to the timeline of 12-15 minutes.
If appropriate to make your demo more realistic, you must pre-populate any database or other data source with an amount and type of (possibly faked) data that a typical user would see.
- Upload your recorded presentation to youtube.com as an unlisted video (detailed instructions here) and submit a link to your presentation to Canvas by the same due date. (Check Calendar!!!)
What are improper uses of version control?
Not adequately utilizing version control. For example, few, enormous commits that contain almost all of the source code reflect an improper use of version control and will lead to point deductions.