Skip to content

daryll-ko/bootcamp-oop

Repository files navigation

bootcamp-oop

Backstory

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. ^^;

Development

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.