Last August 2024, I gave a talk to incoming Computer Science students about object-oriented programming (OOP).
Instead of throwing a bunch of definitions at them, I decided to approach the talk from a fundamentals-driven perspective: why does OOP exist? To accomplish this, I started from basic ideas (using variables and duplicating them) then gradually tailored in more of Python's internal constructs.
Then there's the four pillars of OOP. Again, I didn't want to drown the students in definitions, so I made the discussion for this part a bit light.
In the end, I also gave some...life advice, if you will. Four years is a long time, and as someone at the latter end of that timeline, I wanted the students to walk away with stuff that could possibly help them keep going.
I wouldn't call myself a speaker, but I hope I managed to somehow help those young ones. ^^;
The slide deck was made using Slidev, which I used for the first time. I wanted the tech to be feature-rich and Markdown-based, and Slidev seemed to tick all the boxes for me. The code animations were super cool to look at, too! ^^
In the pages
folder, you'll see that I used one Markdown file for each slide; this made the project organized and allowed me to reuse a few slides will 0 cost. One thing I was debating on was whether to name slides numerically (1.md
, 2.md
, etc.) or thematically (intro.md
, func_motivation.md
, etc.); I later on realized that the latter would be much safer if I needed to say, reorder the slides.
As a retrospective from the talk, there are probably a few things I would improve on: the code blocks for some slides are a bit small, and I think I should've added a few more slides to add more context to the 4 pillars.