I'm in a bit of a tough situation. I'm currently teaching IT fundamentals, particularly focused on the CompTIA A+, to high school students. However, I've been encouraged by my boss and others in the district to incorporate game development, coding, and even cybersecurity into my curriculum. I work primarily in cybersecurity and have introduced the basics of IT and security concepts to the students. Now, I'm trying to decide on a programming language to teach them.
On one hand, there's Python—it's easy to learn and great for automation, but I don't think it's the best choice for game development. On the other hand, languages like Java and C++ are more suited for creating games, but they're significantly more complex to grasp. I'm looking for a language that could benefit the students as they pursue careers in IT, cybersecurity, and perhaps even AI, which is becoming increasingly relevant. My goal is to help them use AI effectively for learning rather than simply handing them answers. I need advice on what programming language to go with and any suggestions for game development tools or resources!
5 Answers
I've created games using several different languages, and I recommend starting with a 2D game using HTML and JavaScript. It's beginner-friendly, and they can easily host and share their projects using GitHub pages. Plus, it gives them a standard web development experience that can come in handy later on!
When I taught, C# with Unity was a hit, but I recommend avoiding C++ because it can really fluster students. Instead, you might look at Gamemaker, which nicely combines a code editor with other necessary tools in one package. Just keep in mind that teaching 8+ students at once makes it challenging to give individual attention!
Right! I want to focus more on coding fundamentals rather than relying on heavy game engines. What alternatives could we use?
You have a couple of paths you could take! If you're comfortable with it, I suggest looking into C# with Unity or TypeScript with BabylonJS. Personally, I lean towards BabylonJS since it’s easier to pick up than Unity and allows for some cool 3D games directly in web browsers. That said, if you want to avoid using heavyweight game engines due to your school's older computers, maybe consider focusing on something like Java or Python for more straightforward coding experiences.
That's interesting! But then what about the limitations of the school PCs? They might not even support those engines.
Yeah, I think it's a good call to stick with simpler languages if the hardware is a concern. You can always create basic projects without heavy installations.
Why not give Python a shot for game development? Sure, it’s not an ideal choice for complex games, but students can make good clones of classic games that are still super fun and reachable for beginners. Plus, getting them comfortable with Python now can set them up for future learning down the line!
Yeah, I’ve heard Python might be slow with larger applications, though. Isn’t that a concern?
Absolutely, Python has some limitations, but you can create simple games that outline essential programming concepts without overwhelming them.
Consider starting with Scratch to teach the coding basics first. It's an easy drag-and-drop platform great for crafting simple games. Once they grasp those concepts, you could transition to Python and Pygame for more depth. Scratch also comes with teacher resources that can save you time!
That sounds like a solid plan! Starting easy and building up would totally keep them engaged.

That sounds smart! Students can learn the basics and then ramp up to more complex programming.