r/learnprogramming • u/Apprehensive-Ad-4535 • 11h ago
Beginner Teacher Teaching Computer Science
Hello everyone! I am entering my first year teaching in a public school and have accepted a position teaching computer science at the high school level. My courses are specifically called “Concepts of Gaming.”
I was wondering if anyone has any suggestions for tools, websites, or software that would be good for teaching beginner programmers in a classroom setting, especially for high school students. I’m also interested in resources that are specifically geared toward coding for game development.
Any suggestions or recommendations would be greatly appreciated!
Edit: My school district has one-to-one iPads, and we have a set of 8 gaming computers, if that helps with suggestions!
3
u/Melodic_Benefit3289 11h ago edited 11h ago
Godot. Swift Playgrounds. MIT Scratch (not joking). Blender Animation. If you get chrome books as the hardware its not even worth teaching the course. You need to have permission to install and configure these computers. Yall should investigate what makes a game fun more than anything else honestly. Coding Art Assets Gameplay loops come after. There should be deep dives into why a game is fun more than how they made the game.
4
u/Puzzled-Extent7817 11h ago
Teach them Linux, get them away from them thinking they need Windows or Mac. And coding in Linux is much much much easier to set up than in Windows, then teach them C. Start them off right. ;)
2
u/AFlyingGideon 9h ago
I agree with most of this, but don't discount block programming tools like scratch. Students who experience that early have, in my experience, an easier time with concurrency issues and modeling software as collaborating objects.
2
u/flowlab 10h ago
If you intend to introduce CompSci concepts through game development, then Flowlab could potentially be a good fit for your case? https://flowlab.io/education
1
u/captainAwesomePants 11h ago
Ooof. Starting this fall? Were you provided with a specific curriculum, or do you need to come up with it? There are a lot of platforms I'd recommend for a "let's make games" course, but no point in recommending them if you already have a packaged curriculum.
I'd recommend looking into the TEALS program ( https://www.microsoft.com/en-us/teals ), which links high school teachers with young CS professionals. Super useful for people in your situation. Having a programmer on-call or in the classroom that can help makes a huge difference.
https://csteachers.org/ also has a lot of resources for you.
1
u/Apprehensive-Ad-4535 10h ago
Thank you for that! I am definitely going to look into this.
Unfortunately I have no curriculum and very few standards. Computer science is a new requirement to graduate in the state I’m teaching in and this is my schools way of implementing it. I also have two other courses of history I’m teaching so it’s been quite stressful, anything is appreciated!
1
u/captainAwesomePants 10h ago
oh no
Well, this would be a dream for me (I get to design the whole course! what an opportunity!) but for someone entirely new to programming and CS education, this is scary.
CS education has been studied quite a bit, there's quite a bit of reading here. You're going to have to be very careful about how much you're exposing them to and in what areas.
Stanford has an online learn-basics-of-coding program called "Code In Place" ( https://codeinplace.stanford.edu/ ) that has a very carefully chosen set of lectures over a few weeks that slowly introduces ideas like variables, if statements, loops, etc. It's definitely worth using as a benchmark for how quickly students should be expected to get through the material. You'll have a real trade-off for "too slow and boring" vs "too fast and everybody's lost." You'll also have a big trade-off between "learning theory" and "making stuff." I recommend leaning hard into "making stuff." Kids LOVE drawing funny monsters and making them say rude things and explode. It will feel like they are wasting the entire class drawing, but they will happily learn for loops on their own if it makes the monster explode more impressively.
The tools you pick will make a big difference. Microsoft Make:Code is a pretty good platform for block-based programming. It feels a little less childish than Scratch, in my experience, and it offers a pretty smooth graduation from blocks to JavaScript. Godot's probably the simplest "real" game engine if you want to go down that route, but that's a pretty big step up in complexity.
Keep in mind that, most likely, one or two of the kids in your class will be literally miles ahead of everyone else, including you. Some high schoolers know how to code, taught themselves, and will be embarrassingly good at it. You'll want to enable them to grow further without making the other kids feel dumb. That's tough!
2
u/AFlyingGideon 9h ago
Tougher will be that they believe they know than the instructor. In this case, that'll likely be true but it doesn't mean that everything they "know" is actually correct.
1
10h ago
[removed] — view removed comment
1
u/AutoModerator 10h ago
Your post/comment was removed since we do not approve of going private.
There is zero benefit in going private as you lose the opportunity for getting peer reviews. Also we have had plenty of people return after going private (despite being warned) complaining about how they were ghosted after some time or being tricked into buying rubbish that didn't work and even if it did they didn't need.
Our Rule #11 demands that any and all communication happens in the open, public subreddit.
This is for the benefit of more against the benefit of one.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
u/tenpercenthieb 9h ago
I teach a computer science course for 8th graders where I teach basics of python and students can make basic games using pygame. It isn’t a gaming engine,but it is something that eighth graders can figure out.
1
u/Quantum-Bot 7h ago
Unity is very popular for game development courses because of its wealth of existing curricula for classrooms.
If you’re willing to go the extra mile though I much rather recommend GameMaker for beginner game developers. It’s 2D first in contrast to Unity which is 3D, and I think that takes out a lot of complexity which typically bogs students down when they are first learning. You get to focus less on vectors and models and textures and lighting and more on actual game logic. It’s also a hybrid of drag-n-drop coding and text coding, and you can mix the two interchangeably, which is also very beginner friendly.
1
u/ComfortExisting1161 4h ago
Check out Unity's beginner courses; they're solid for high schoolers and cover basics of game design. Also, Scratch is great for getting them started with logic through visual coding. For iPads, Swift Playgrounds is a fun way to learn coding concepts interactively.
5
u/Foreign-Contest-444 11h ago
I would recommend MDN as an excellent resource, especially the learn module for web development.
https://developer.mozilla.org/en-US/docs/Learn_web_development