Final Project (Computer Science Fair presentation)

The Final Project is a hands-on activity about an advanced topic relevant to the course. Students will present their activity at a hands-on fair on April 23. We have invited the prospective Smithies who will be here that day!

Required checkpoints

Final Project Prototype Assignment

Please provide the following details:

  • What is your theoretical understanding of your data structure? How does it work, and why does it matter?
  • How will you explain this activity to a prospective student compared to your CSC210 peers or professor?
  • Provide a general description of the hands-on activity you are developing.
  • What supplies will you need? Which can be obtained from the DTI? Do we need to order anything?
  • How do the components of the activity relate to your theoretical understanding of your data structure?
  • Do you have any questions you’re still thinking about?
  • What is the hardest part to explain, and how will the activity make it concrete?
  • What could go wrong in a demo, and how will you mitigate it?
  • How will you know a participant understood the concept?

Final Project Handout Assignment

The handout should be approximately one page and should cover the following topics:

  • What is the data structure you are discussing?
  • How does it relate to topics we covered in class? (e.g., data structure X, which we talked about implementing with arrays, but here we will explore what happens if we use lists)
  • What are the core operations relevant to your data structure? (Often these will be some combination of get/set, add/remove, splice/slice)
  • What benefits does your data structure/implementation offer over ones we covered in class?
  • What limitations does it have relative to what we covered in class?
  • What is the main takeaway you’d like people to remember about this data structure?
  • Include a small annotated diagram of the structure’s layout (nodes, pointers, levels, etc.).
  • Provide a brief time/space complexity summary for the core operations.
  • Include a short “when to use it” vs “when not to use it” comparison.
  • Walk through one concrete example (e.g., a simple insert or delete on a tiny instance).
  • Add a brief comparison to the closest CSC210 data structure (1–2 bullets).

Final Project Reflection

Submit two items:

  1. The final handout you used for the demonstration on 05/01.
  2. A reflection on your experience with this project, including:
    • What was most challenging and why?
    • What worked well, and what would you improve next time?
    • How did participant feedback (or observed confusion) change your explanation or activity?
    • What is one concept you understand more deeply now because of this project?
    • If you had an extra week, what would you change or add?

What to submit

Each checkpoint will have its own submission instructions. See the course schedule and announcements for due dates and links.