Skip to content

Research & Present an OOP Concept

Objective

This challenge is an opportunity for you to challenge yourself and deepen your understanding of OOP concepts. Push yourself to select a concept that you find challenging or unfamiliar. The process of researching and presenting will help solidify your knowledge and contribute to the learning experience of your classmates. Good luck!


Instructions

  1. Choose one of the following OOP concepts to research and present on:

    • Polymorphism
    • Interfaces
    • Constructors
    • Method Overloading vs. Method Overriding
    • Single-Responsibility Principle
    • Open-Closed Principle
    • Liskov Substitution Principle
    • Other! If there is another Java topic you are interested in researching, let me know!
  2. Research your chosen concept thoroughly. You can use textbooks, online resources, articles, and code examples to gather information.

  3. Prepare a 5-7 minute presentation on your chosen concept. Your presentation should include:

    • An explanation of the concept, its significance in OOP, and its purpose.
    • Clear code examples illustrating how the concept is implemented in Java. Use practical, real-world scenarios to demonstrate its usage.
    • Any potential benefits or drawbacks associated with applying the concept in software design.

Presentation Format

You are free to choose the format for your presentation. It doesn't have to be limited to PowerPoint or Google Slides. You may choose from various presentation formats, such as:

  • Live Coding: Perform live coding demonstrations during your presentation.
  • Written Document: Create a detailed written document with code examples and explanations.
  • Interactive Web Page: Build a simple web page that explains the concept with interactive code snippets.
  • Poster Presentation: Design a visual poster with diagrams, code snippets, and explanations.
  • Slides: If you prefer a slide-based approach, go for it!
  • Any other way you can communicate your knowledge!

Submission

Post your recorded presentation in the #challenges channel on Slack. Be sure to include the topic you researched in the message along with any additional notes or resources that may aid your classmates' understanding.


Rubric

All of the following must be satisfied to achieve a "Met" status

  • Concept Explaination: The presentation provides a thorough and clear explanation of the chosen OOP concept, its significance in OOP, and its purpose. The presenter demonstrates a deep understanding of the concept and effectively communicates its importance.

  • Code Examples: The presentation includes clear, practical, and well-documented code examples that effectively illustrate how the concept is implemented in Java. Real-world scenarios are used to demonstrate its usage comprehensively.

  • Benefits & Drawbacks: The presentation thoroughly explores the potential benefits and drawbacks associated with applying the concept in software design. The presenter offers insightful analysis and practical examples to support their points.

  • Presentation Format: The presentation format is creative and engaging, effectively capturing the audience's attention. It aligns with the chosen concept and effectively communicates the information.

  • Overall Presentation: The presentation is polished, well-organized, and demonstrates the presenter's deep understanding of the chosen OOP concept. It effectively educates and engages the audience.

  • External Sources: External sources (websites, classmates, AI tools, etc), if utilized, are referenced and documented within the presentation.