The general concept would be going over the abstract details of how to make a simple game in pygame. So using OOP to organize your project (e.g. a player class, an enemy class, a bullet class, etc.), game states, the run loop for your code, delta time, etc. I’d probably go over the project I made, and talk about some of the technical debt and how you can avoid it in your project.
Given how large a game project is, I don’t think it’d be feasible to make one in a single class, and based on my experiences, turnout for a multipart class is not great, so I don’t want to go that route unless I charge for it.
Yeah, it depends on what people would be more interested in: video game programming or video game development.
If the former, we’d use a framework like Pygame or Monogame (this is what Hades, Bastion, Celeste, etc. use). A framework is essentially a large library for a programming language with a bunch of built in functions, so you’d have to make a lot of stuff from scratch. Thus, the complexity of the game would reflect that.
If the latter, the engine abstracts away a lot of the difficult math and tooling you’d need to create on your own. There’s a visual editor for managing assets and the like. I’d probably use Godot since it’s fully free.