Presentations for SE 2811
We cannot cover all patterns in SE 2811, so part of your grade will be
working in a group to present an additional pattern. You can decide which
pattern to cover, but do not cover one that will be covered
in lecture. Note what patterns will be covered before the
end of the term. Also generally avoid the following patterns because they
rarely result in good presentations: Bridge, Extension Objects, Iterator,
Prototype, and
Template. Please talk to your instructor before selecting these patterns.
Working in groups of 3 students, research a pattern, develop an application
illustrating that pattern, and prepare a fifteen to twenty-minute
presentation on the pattern. There may be one or two groups of 2
students. To form a group of 4 students, the team must discuss how they
will do substantially more work than a team of 3. The presentation can be
largely based on how the pattern worked in your implementation, but the
viewer must come away with a core understanding of how the pattern works,
when it might be applicable, and what the consequences are (both good and
bad). The presentations will often result in questions on the final exam.
At least one team member must review the presentation plans with the
instructor at least two days prior to the presentation.
How you divide up the work is up to the team, but all must participate in a
meaningful way. In particular, everyone must either present or write the
implementation. A significant part of your grade will be based on a short
report you write stating how you contributed.
Requirements for implementations:
- It must be code you wrote. If you include an example from the
INTERNET, you must discuss it with your instructor and ensure you add
sufficient code to the example that you get significant experience with
the pattern.
- It must be a JavaFX, GUI application. Be sure all fonts are large
enough that students can read text from the back of the classroom. This
generally means font sizes that are at least 50% larger than the default.
Any output you want your audience to view must be on a JavaFX window. Be
sure your output is focused on your intent; do not include unnecessary
output.
- Projects need not be very extensive; the focus should be on applying
the pattern. But it is difficult to see how you can provide a useful
implementation with less than two or three hundred lines of code.
Requirements for presentations:
- Ensure the slide deck is focused on your goals. Each slide
should present useful information. If two slides have just a few
lines of information, consider merging them into one slide.
- Slides listing cited works and other references have no value to
the audience. Unless you intend to highlight the reference during the
presentation, move such material into slide notes.
- Include UML diagrams of the pattern in the presentation. In
most cases, a class diagram and a sequence diagram will do a good job of
capturing the necessary detail. You may wish to use a state diagram
instead. Keep the clutter on these diagrams to a minimum: the goal is to
illustrate the pattern. This is typically best accomplished with
minimal solution diagrams.
Do not reverse-engineer your code to
generate the diagram unless you are willing to heavily revise the diagram
to remove extraneous details.
- Ensure you use large enough fonts in the presentation. For some
fonts, anything smaller than 22 point is too small, for others 30 point
is the cutoff. When the presentations are in a classroom, go to that
classroom and check that your full slide deck and any examples are easily
read when at the furthest desk in the room. When the presentations are
online, share your screen with your teammates and ensure they can read
the text.
- Unless there is a very good reason, place your
demonstration early in your presentation,
then refer back to the demonstration code when making points about
advantages and disadvantages in using the pattern. Doing the
demonstration last is not effective.
- Strongly consider including a slide discussing how the pattern is
used in industry or in (professional) AI tools. In some cases this
information can be difficult to find. Groups of 4 need to include UML
diagrams illustrating these uses.
- Ensure you have a summary slide at the end that reminds the
audience which pattern you covered, its primary use, and key advantages
and disadvantages. That is, summarize what you want them to take away
from your presentation. You might call this a "things to know" slide.
- Do not include anything in your slide deck that you do not want your
audience to read. For example, slides with long lists of references
have no value. You can include those if you think it is vital, but do not
show them on the screen during the presentation.
- Be sure to practice the full presentation, checking that you
fit within the time limits.
- Before the presentation: run the code on the presentation
laptop and make sure it is working, then do not make
any changes to it.
- If you show code from IntelliJ during the presentation, use the
View menu to Enter Presentation Mode and then View
| Tool Windows | Project to allow navigating between files. Get
to the menus by moving the mouse to the top of the screen.
Grading Rubric
You will be evaluated on the effectiveness of your presentation, including
defining your terminology, tie concepts to the examples you provide, and
staying focused on the presentation goals. The presentation is to be
targeted at your peers: students who have studied design patterns but may
have no knowledge of the pattern you are presenting.
- Exemplary: the pattern and associated demonstration program are
well-described in a way that is understandable by peers, and the
presentation reinforces clear goals.
- Accomplished: the pattern and associated demonstration program are
well-described in a way that is understandable by peers.
- Proficient: the pattern and associated demonstration program are
adequately described in a way that is understandable by peers.
- Developing: the pattern and associated demonstration program are
partially described, possibly lacking needed information or being overly
technical.
- Beginning: the pattern and associated demonstration program are
not sufficiently described to explain their purpose.