Drag and Drop or GML for teaching 10-14 year olds

L

Little Coding Wolf

Guest
I know this is a weird question but if I'm teaching a group of 5-8 students game maker should I use drag and drop or GML. I want to teach GML for a few reasons.

  • I believe kids are not as stupid as many think and I believe they can understand what "x = x + 5". Many people (most who don't even make games or program) say I'm dumb and should use easier drag and drop system.
  • GML gets them ready for other languages such as C# and C++
  • I'm told students skill level will range from beginner - advanced in the same group so I don't want to waste intermediate - advances time
  • These kids have chosen to do this as summer class meaning they want to be there and learn. This will allow them to try harder and pick things up faster.
 

marasovec

Member
GML fits even for total beginners. I wouldn't recommend to use DnD at all. It's very limited and it takes forever to make something in DnD that takes like 2-4 lines of code.
 

HayManMarc

Member
If you teach it well, starting with very simple examples, I suggest using code rather than drag and drop. Drag and drop will only teach them very basic fundamentals. If you do start with drag and drop, I'd only use it in the first lesson with something like basic 4 direction movement, then show how much easier and faster it is with code, while explaining that a programmer needs to know the code anyway.
 

Pfap

Member
I watched a video a while ago about the Harvard cs course and I can't remember the visual scripting language they were teaching to college age kids. Let me see if I can find it... maybe it was "scratch"? Anyways, I like the idea of using Dn'D as an example of just another abstraction. It really segues nicely into the talk of how lower level generally means more difficult when it comes to cs abstractions. Machine code then assembly language, then maybe c or c++ then your javascripts and gml's and finally right on top we've got Dn'D. As you go up things may get "easier", but they offer less control which may make things difficult. Visual stuff seems good for if and else blocks, less good for any kind of math abstraction at least in my opinion; although (for what it's worth), I really have no business voicing much of an opinion here as I've never actually really used Dn'd.
 

TheouAegis

Member
Show them how to drag the Execute Code action into the window.

As @Rayek said, even I was learning to code in BASIC when I was 8 or 9. I could make a smiley face bounce around the screen, flood the screen with "Hello, world!", and play "Twinkle, Twinkle Little Star" on my C64.
 

Slyddar

Member
My boy is 9 and I've showed him how to use some GML, and he gets it, but he still prefers to use drag and drop. Even though it's limiting, there's something about the simplicity of not having to remember any words, and having all the tools layed out for him, that I believe appeals to a younger mind. Other languages that are aimed at children all go for the modular block design, e.g Minecraft Education Edition, Codecampworld, Scratch, Hopscotch. The reason they do it and target young ages is they obviously have data showing it's effective for that target audience.
Like someone mentioned, maybe start with drag and drop, and later on as the limitations kick in, show how GML can be more advantageous. Live preview can really help bridge the two in GMS2.
 

woods

Member
drag and drop from what i can see is for those who think they know absoultely nothing about how to code... or are intimated by it.

like said above.. i'd use the drag and drop blocks to show player movement and simple collisions... then swap that out for code... with this you can expand to your wildest dreams.... usuailly next to impossible with DnD and is a great primer for "past the basics" and future programming

just my three cents ;o)
 
L

Little Coding Wolf

Guest
I watched a video a while ago about the Harvard cs course and I can't remember the visual scripting language they were teaching to college age kids. Let me see if I can find it... maybe it was "scratch"? Anyways, I like the idea of using Dn'D as an example of just another abstraction. It really segues nicely into the talk of how lower level generally means more difficult when it comes to cs abstractions. Machine code then assembly language, then maybe c or c++ then your javascripts and gml's and finally right on top we've got Dn'D. As you go up things may get "easier", but they offer less control which may make things difficult. Visual stuff seems good for if and else blocks, less good for any kind of math abstraction at least in my opinion; although (for what it's worth), I really have no business voicing much of an opinion here as I've never actually really used Dn'd.
Very interesting. I just feel like GML is perfect start point and gets you into programming by typing. Its how I started in high school. Dn'd I feel like gets in your way. Here is what I feel like is hardest to easiest . Personal experience.

  • Assembly (Have not tried but I know how hard it is lol)
  • C
  • C++ (Pointers and cleaning up your own garbage can be a pain but very powerful)
  • C# (Only easier because there is no pointers or cleaning up your own garbage unless you use unsafe code which is like almost never)
  • GML
  • Blueprints (Unreal / Hate it)
  • Dn'd (More work and less results)
 

Slyddar

Member
It's hard to put yourself in the position of someone new to coding when you have experience, but if you could, you might find code/gml overwhelming. It's undeniably better to show some simple logic/games with drag and drop that is easy for all to grasp, and when you have hooked them into the fun of making something, they will start running into limitations, which is a great time to introduce GML.

I used to say to people learn GML from the start, and if you are an adult I believe that is a better choice, but for young minds experience has shown me DND can have a greater impact initially.
 
L

Little Coding Wolf

Guest
Thanks for all your replies. GML seems the way to go. I will be totally honest. I tried drag and drop for like 10 minutes and moved to GML when I was in high school since it made more sense. To be fair I did do basic scripting in LUA for some games I modded and HTML / CSS for websites so I was used to typing code out.
 
L

Little Coding Wolf

Guest
It's hard to put yourself in the position of someone new to coding when you have experience, but if you could, you might find code/gml overwhelming. It's undeniably better to show some simple logic/games with drag and drop that is easy for all to grasp, and when you have hooked them into the fun of making something, they will start running into limitations, which is a great time to introduce GML.
You are toltaly right about that. I may do a few hours of drag and drop and than move over to GML. Ill ask them if GML makes sense. I only have 1 week to teach each class. About 5 hours a day.
 

Pfap

Member
Very interesting. I just feel like GML is perfect start point and gets you into programming by typing. Its how I started in high school. Dn'd I feel like gets in your way. Here is what I feel like is hardest to easiest . Personal experience.

  • Assembly (Have not tried but I know how hard it is lol)
  • C
  • C++ (Pointers and cleaning up your own garbage can be a pain but very powerful)
  • C# (Only easier because there is no pointers or cleaning up your own garbage unless you use unsafe code which is like almost never)
  • GML
  • Blueprints (Unreal / Hate it)
  • Dn'd (More work and less results)
I have never worked with Blueprints, I feel the only major benefit to C++ and I don't have major experience is the fact that there are 8 bits in a byte and that a variable takes a byte, so a Boolean variable takes up 8 bits to represent true or false; when actually only one is needed. When your code gets more complex it seems to eventually be simpler to make the transition to using bitshifting with Booleans for certain game objects.

You can do a lot with true and false and if and else...

However, if your time is strictly limited it may just be better to jump into something more exciting right off the bat. Especially, if some of the students may already know some things or have preconceptions about Dn'D lol.

Although, now that I've actually given it some thought I think the vast majority quickly abandon D'nd, for the same reason most early students quickly abandon writing 2+2 = x or any other simple addition or equation. If something is foreign verbosity can ease in simplifying things; but, once mastered quickly becomes a burden.
 

Binsk

Member
I started at about 13, teaching myself with a really old version of GameMaker. I used D&D at first, which helped me learn how games were structured. Didn't take long until I started learning GML and it wasn't hard to comprehend.

I think your students will be plenty smart to learn GML. The only time I'd use on D&D would be when teaching them how the flow of programming w/ GM works. Once they get it I'd just move up to GML. My two cents.
 

Joe Ellis

Member
Yeah I remember with those arrow things which are = curly brackets, it did make sense, I already knew from real programming though, visual basic 6 (holla),
but I did use just those set variable blocks and arrow things for quite a while when I was 13-14, and made quite alot of cool games with collecting gems and stuff, this was in the gm 5 era
I started doing real gml when it got version 8, I can't remember why I started using it, and I can't remember how I learnt it, I think I just went bare back and tried to add something to x to make him move sideways, I have never watched a tutorial to this day, and now I'm one of the most powerful gm users in the community (joke) but sort of true, I don't care though, I'm just doing what I do
 

Slyddar

Member
Am I allowed to say autistic? the R word was not meant in a derogatory way, it was to be politically correct
Why do you even need to label? Just say "some people" if you need to. No need to put any individuals down mate, we're all just trying to do the best with what we've been dealt.
 
Top