Project Presentations in a Software Engineering Course
Teams present their projects in class on the due date.
- team members must equally share the responsibility of creating and delivering the presentation
- there is absolutely no need to present a slide show (i.e. a presentation using Microsoft PowerPoint, Apple Keynote, Google Slides, or equivalent) - however, many people find creating slide shows helpful for organizing their thoughts and focusing the audience on their key messages
- there is also absolutely no need to mimic the “TED Talk” style of presentation - although this style too has its charms.
Slide show rules
If you do make a slide show, please abide by David JP Phillips’ rules for avoiding “Death by PowerPoint”:
- deliver only one message per slide
- keep text in each slide short and focused on supporting the message you are discussing
- no more than six objects on each slide (an object is anything - text or image)
- speak like a human… don’t just read the text on the slide
- make important stuff bigger and more high-contrast than less important stuff on the screen
- use dark background colors and light text color… do not make the slides brighter than you are
The following is a baseline of topics to be covered by presentations. Please adapt this list to your project by removing topics from this list that are irrelevant to you and your project, and adding topics that speak more to your interests and your project’s proclivities.
What is it?
- Elevator pitch
Who are you making this for?
- What tendencies and/or limitations does this audience have that you took into consideration when designing your project?
- What need does this fill?
- Any user observation of your target audience.
- Any testing of the project with your intended audience.
All teams must demonstrate their products live.
- show and describe each of the core use cases
- make the demonstration quick but suitable for someone who knows nothing about your project.
How did you do it?
- Do not show code during your presentation.
- If the system is boilerplate and obvious to anyone in the course, do not spend time talking about it.
- Discuss any hardware/software that is not boilerplate…. do not spend time talking about things that are common to all apps.
- Any particular tech challenges you faced, not including having to learn how to do basic things.
What difficulties did you expect to have when you first started, and did they occur?
- Are there particular use cases in your product backlog that were not completed? - Why not?
- What did you struggle the most in this project?
- How did you overcome these problems?
- Or why didn’t you, if you didn’t?
What do you know now that you didn’t now before?
- Was this project more or less work than you imagined at the beginning?
- Did you have to learn any new software or hardware techniques to make this?
- Did you learn anything interesting from working on this project?
- This is not a forced confession. Honest thoughts are welcome, and you’re welcome to not answer this question at all if it’s not relevant to you.