CS 471 Fall 2024  >  Mini-Project Presentation #0 (Proposals)


CS 471 Fall 2024
Mini-Project Presentation #0 (Proposals)

General

Now we begin the CS 471 mini-project. This will be a five-week group software-development project, done by your assigned team. It is expected that each team member will participate in both the software development and all of the in-class presentations (described below).

This mini-project emphasizes process. For example, you will be using the Kanban methodology and producing an architecture diagram and a testing plan.

On each of the five Mondays from Monday, September 23 to Monday, October 21, you will make a group presentation on your project in class. I will number the five presentations from 0 to 4.

The plan is for each team to present on every presentation day; if we run out of time, then teams that have not presented yet will present on the next class day. The order in which groups will present will not be announced in advance.

These are informal presentations; no special dress is required. The intended audience for each of your presentations is the class. Pitch each presentation at a level that a CS 471 student can understand. You do not need to explain things that every CS 471 student will know, but if you use specialized terminology, abbreviations, etc., then these must be defined.

At the beginning of each presentation, introduce your entire team—and your project, if you know what it is. All presentations must use slides (PowerPoint, Google Slides, or similar) displayed on the projector in the classroom. During each presentation, every team member must do a substantial portion of the speaking.

Presentation #0 must be completed in 6 minutes or less, not counting discussion time. For the other presentations, there is no particular amount of time that your presentations must take; just cover what you need to cover and then open the floor for questions or comments. Perhaps 2–10 minutes per presentation is reasonable. In all presentations, be clear about when the question period begins.

The issues covered in the early assignments are important in these presentations as well: speak up, speak clearly, make eye contact with your audience, be reasonably animated, be organized.

Specific requirements for each presentation will be covered in class a week ahead of time.

The remainder of this document covers Mini-Project Presentation #0.

Presentation #0 Requirements

Mini-Project Presentation #0 will be made in class on Monday, September 23, and must be completed within 6 minutes or less, not counting time for discussion and questions. In this presentation your team will propose two possible software-development projects. The idea is that I will choose one of these—perhaps altering it a bit—and your team will work on it during the following four weeks.

Your slide deck must begin with a title slide and include slides describing both proposals.

For each of your project proposals, include a description of proposed deliverables: the things your project is aimed at producing. These might include source code, webpages, documentation, or whatever is appropriate. The deliverables generally do not include things generated by your team for internal use only: Kanban board, testing plan, bug-tracking database, etc. The idea is that a deliverable is something you would deliver to a customer.

The various required items mentioned above that are involved in your development process (Kanban board, architecture diagram, testing plan) are not part of Mini-Project Presentation #0.

What to Propose?

Proposed projects need to be small enough that you would expect to be able to produce something significant in no more than two weeks, but also open-ended, so that you might reasonably continue working on them for months, adding more features. Each must be something you expect to be able to demonstrate in class by the last mini-project presentation.

There are generally no restrictions on the languages, tools, libraries, datasets, etc. that you may use in your mini-project, except that these must be used without violating any applicable laws or licenses.

Here are some possibilities to consider when putting together your proposals. However, your proposed projects are not required to be in one of these categories.

Webpage Providing Information
Build a webpage that gets information from some external source and displays it nicely.
Starting Point
Write an app or webpage that uses some particular framework or methodology or architecture, and does not do much, but does it very well. This would be intended as a starting point for others wanting to write something that uses this same framework.
Command-Line Tool
Write a tool, usable on the command line, that does some useful task.
Library Wrapper
Find a library that is useful but painful to use, and write a wrapper for it (or for part of it) that provides a nicer interface.
Game
Write a simple game.
System Information
Write a utility that displays information about some computer system—perhaps the one it is running on. If the information is time-dependent, display it in a way that lets a viewer see how it is changing.

Grading & Feedback

Each student will receive full credit on this presentation if their team gives an organized presentation covering everything required, they are present for the entire presentation and do a substantial portion of the speaking, and they appear to be making a good-faith effort to follow announced standards and take previous feedback into account.

Some feedback on speaking style, slides, etc. will be given live, at the time of the presentation.

Thoughts

While you must present using slides, you do not need to have very many slides for Presentation #0. A reasonable slide deck might include 5–9 slides: title slide (including names of team members), then 2–4 slides for each proposal. Perhaps, for each proposal, you could have one slide each on background, the idea, and deliverables. Or leave out the background and have only two slides. A deck with more than about ten slides is probably too long.

Do not put too much information on each slide. Remember that you are not there to read your slides, but to explain and elaborate on them. List key points on the slides, then discuss them in whatever detail is necessary.

Plan the logistics of your presentation in advance, and make sure all team members know how things will work. Who is going to start things out? What will each team member speak about? Who runs the computer?

Try out your slides in the classroom ahead of time. Make sure you can make them appear on the screen in a usable form.

Be prepared for questions and discussion. When you are done with your slides, you are not done.

Feel free to discuss project ideas with the instructor, others in the class, or anyone else you think might be helpful.