I am a grade 11 student at school. I created and am running a programming club each lunch. We meet once a week (typically, sometimes I have to cancel since my club isn't important). We have 50 minutes each lunch, though I lose 10-15 for logging-in (my school uses Windows), and other time loses.


Last year I tried using Godot to teach them, and using Youtube tutorials, but we progressed an average of 15-20 minutes per day. Since they are simply copying the code most the time, and one of the students is nearly always absent. And the school computers don't work with the new version of Godot, so I decided it would be best to change.


It will be my last year, so I want to at least get some of them interested enough to continue the club once I graduate. I had 3-4 students this year, I might have 3-6 grade 7-9 students next year. Since Godot isn't working and the kids just play games, I thought of modding Minetest with lua. This would allow me to have a buffer at the end of class where they can just play and debug while learning.


  • I want to know if there are some resources that could help me teach that club.
  • Any way to structure class time.
  • How should I teach them, all work on similar projects, or should they work together on a project.
  • In what order should I teach concepts
  • What should I do about absent students

Plan for teaching

  • Unit 0: Intro
    • Installing Minetest
    • Installing text editors (not Notepad) suggestions
    • Installing a simple mod
    • Mod folder structure
  • Unit 1 Creating blocks
    • Using print
    • Creating basic cubes
    • Creating textures using GIMP
    • ...
  • Unit 2: Formspecs
    • ...

I will edit this more after people answer

Thanks for your help

  • $\begingroup$ Welcome to the site, nice to see you. Nice to see you starting to teach early, it is a good way to learn (about the subject, and about people). $\endgroup$ Commented May 16, 2018 at 8:29
  • $\begingroup$ I proof read your question, and did a few minor edits (punctuation — mostly sentences too long, and 2 spelling errors — you probably hit the wrong key). $\endgroup$ Commented May 16, 2018 at 8:31

3 Answers 3


You seem to be focused on game development, which is probably the right thing to do since at least some of your student colleagues will also be interested. But there are other possibilities to keep in mind, such as some simple information system that your school might use. Teachers might be able to give you ideas about that.

Since you want the club to continue after you leave, I'll suggest two things. You should probably try to develop one student to take your place and spend more time with him/her to foster a leadership role.

More important, I think, is to pick the right project for your group. If you aim for a large result that can be built in parts and where each added part adds visible value (punch) then you might have something sustainable. You don't want a small project (or set of projects) since continuation means finding more projects. You don't want a project that isn't useful/cool/exciting along the way (but only at the end), since you don't get any psychological reward as you go. Pick a project that is large enough so that it can't be "finished" in the time available. It will then be an inducement to continue in the future.

I'd also suggest that you don't try to lecture, but rather form an Agile Software Development programming team, using some of the practices of Extreme Programming. See Activities and Practices at the last link. There are other possibilities but XP is fairly easy to follow. Use short iterations and small stories. But make sure that each story adds gaming-value: something that will actually affect the play of the game.

The above will also favor collaboration, which is a useful skill. Don't worry about absent students. Work with what you have. If the thing is interesting enough people will want to participate. But it has to be interesting both in its own right and also in the day-to-day activities.

I would also suggest, pretty strongly, that, rather than laying out a curriculum for this, that you explore topics on a need-to-know, just-in-time basis. Making it like a regular course might not be as appealing to others as just keeping it like a club.

Don't exclude newbies, but incorporate them, and their enthusiasm, into the project and enable it with Pair Programming, starting them out as Navigator with one of you "old timers."

Good luck with this, and in your future.


I've had a go doing this. The activities I tried were:

  • Making skins
  • Taking screenshots of yourself wearing the skin and showing in a web page.
  • Making custom blocks.
  • Taking screenshots of a building that uses the new block and showing as a web page.
  • Using a bit of javascript to swap web page images between different skins or houses. ok, it's not lua :)

A few of the worksheets I made are here:


If you want to make skins, there are two png files at that location. The larger of the two, player_Skinzones_640_320.png, has all the parts of the body labeled, which bit of the image is the head, arms etc.

I assume you are aware of the minetest forums?


  • 1
    $\begingroup$ Nice answer, and welcome to Computer Science Educators! $\endgroup$
    – Ben I.
    Commented May 19, 2018 at 12:55
  • $\begingroup$ Thanks for the idea of making skins. That could make an exercise for using GIMP too. $\endgroup$ Commented May 22, 2018 at 1:42
  • $\begingroup$ Brian: If you are considering skins, I've expanded my reply slightly and added another png file to the location I gave. I gave students the smaller file to modify to make their skin and the larger labeled version as a printout for reference. $\endgroup$
    – twisted
    Commented May 22, 2018 at 8:01

Here is a link to a magazine helloworld written for teachers of computing (k→13). It is free to download as pdf, and free on paper to teachers in the UK. It has some good articles on the use of play; copying and modifying; working in groups; and many other ideas.

Also observe how your teachers teach. What do they do well. What could they do better. Do not judge (it is not good for you), but take ideas from them, and avoid doing what you know does not work.

Above all don't talk to much, make it clear what their (the students) goals are, and make them work harder than you.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.