MS3 - Final Working System
Main Task
- The task is to complete a final report documenting your project, and to give a presentation on the project. Our expectations for the report are described in the Final Report Details document.
- We strongly encourage you to make an appointment and visit the Writing Center in the Center for Teaching and Learning to get help from a writing tutor. Bring your document with you!
Presentation Guidelines
- Each project team will give a presentation of about 60 to 75 minutes. Larger teams (with multiple sub-teams) will likely run longer. There may also be an extensive question and answer period. All presentations need to be limited to less than two hours (including the question and answer period).
- You should use some presentation software such as PowerPoint or Google Slides for your presentation. Your slides should contain brief bulleted points and graphics that provide overall context for your bullet points. Slides should not be a “wall of text”, and please avoid reading your slides or a prepared script.
- NOTE: You will have already submitted your draft technical report before your final milestone presentation. You can leverage the draft report contents for the figures, diagrams, pictures, screen captures, etc that will appear in your presentation.
- Please rehearse your presentation! We can’t allow any presentation to go over its allotted time. You may wish to have a few notecards for reference. However, you should not read directly from your notecards or from your slides. This makes for a very boring and painful presentation.
- Keep in mind that the audience for your presentation consists of students and faculty in CS and Engineering, as well as your clients, alumni and technical advisors. Don’t assume that the audience knows anything about your specific project. However, you may assume that the audience is reasonably knowledgeable about computers, software, etc.
- Don’t get too bogged down in details. As with any form of technical communication, you want to emphasize the most important and interesting information. Provide supporting details if they are necessary, but otherwise try to keep the presentation at a fairly high level.
- Here is a suggested structure for your presentation:
- Background: What problem were you trying to solve? Discuss the state of the project at the begining of the Fall, and the new/modified system requirements that you addressed. Show a diagram of your overall system architecture, how the pieces fit together and interact, and how data flows between them.
- Analysis and design: Discuss your design model. In this part of the presentation, you must show a UML class diagram illustrating the most important classes and methods in your system, and how they relate/interact with each other. Please use multiple UML diagrams if a single diagram would have too many classes. You must also show your Database Schema, and show how your tables interact with your classes. You may also use multiple slides for your datbase schema for clarity. This is also a good opportunity to discuss how the design of the system changed as you worked on the implementation.
- Discuss the development tools/technologies that you ended up using. Describe what they contribute to the project.
- Implementation: What were the most interesting things you encountered/learned when you implemented the system? If you used any interesting programming techniques, this is a good opportunity to discuss them. Do not show code during your presentation.
- Demonstration: Show your system working. Demonstrate the most important/interesting features. You should have a scripted demonstration that you practiced multiple times prior to the presentation. One person runs the demonstration while others describe what is happening, and why. You do NOT need to show every feature of your software, but certainly show the most important/interesting/challenging aspects of your project. If you have a multiple major components to your system (frontend UI, mobile app, HW, simulator, backend server/DB), demonstrate end-to-end scenarios where information from one end reaches all the eay to other end, and possibly back again.
- Discuss your automated test framework, and demonstrate it in action.
- Future Work: Since most teams are working on multi-semester/multi-year projects, describe the state of the project as it will be for the incoming team in the Spring. Also, show that the future work you present is captured as issues in your issue tracker. Many of you may be resuming work on the same project in the Spring, and there could be new students joining the project.
- Conclusions: Sum up what you accomplished and what you learned, particularly for underclassmen. If there are aspects of the project you would do differently if you started again from scratch, mention them. You can also talk about how you might want to extend the system in the future.
- All of the members of your team must make significant contributions to the presentation.
Milestone 3 - Presentation / Demonstration
Links
The Google Slides presentation for milestone 3 can be found here.