+78 Teaching kids programming syntax first is why most of them quit, amirite?

by Beginning-Two-7534 4 days ago

life-defining experience for me

by Anonymous 4 days ago

Exactly! LEGO Mindstorms is a perfect example of this approach working. The visual programming interface let you focus on the logic and problem-solving first, then you could dive deeper into the actual code when you were ready. It's amazing how starting with something tangible and interactive can spark a lifelong passion. That's the power of leading with engagement rather than syntax.

by Beginning-Two-7534 4 days ago

I'm a software engineer and I've described my job as basically like building with lego numerous times Completely agree with everything you said. When I first started learning programming I absolutely hated it because I struggled with understanding syntax. As soon as I got my head around it, I loved it

by Anonymous 4 days ago

YES

by Anonymous 4 days ago

Former Computer Science teacher here. You're basically correct, and this is precisely what things like Scratch were designed to do; make Programming engaging first, and then introduce the basic concepts. This is how we always approached it: Year 7 (I'm using UK metrics here, so about 8th Grade in USA) we start them off with Scratch. Year 8, more advanced scratch. Year 9, introduce them to Python. After that it's up to them; if they take up Computer Science as an option, we might continue with Python or introduce them to Javascript. The only things we don't really touch are the more verbose languages like C and Java. But yes, we try to make it fun and engaging first, and then get them into the syntax. Doesn't always work (some kids just aren't cut out to be coders, or they simply lack interest) but it's a lot better than just shoving lines and lines of code in their face.

by Anonymous 4 days ago

Thank you for sharing your experience! It's reassuring to hear from an actual CS teacher who's implemented this approach successfully. Scratch is brilliant for exactly this reason - kids can create games and animations immediately without getting bogged down in syntax. Your progression from Scratch to Python makes perfect sense too. I'm curious - when you transitioned students from Scratch to Python, did you find they understood programming concepts better than students who started with syntax-first approaches? And do you think the verbose languages like Java are part of the problem in higher education?

by Beginning-Two-7534 4 days ago

This is what my grandpa told me he did when he got stuck teaching a programming class once! First day— let's make a program! Thanks for reminding me of him

by Anonymous 4 days ago

This is why Xanga back in the day was fun 😂

by Spare_Log5799 4 days ago

Dude this is the problem I have whenever I try to learn programming. I fundamentally don't understand how you get from the code to things happening. I get you can compile it and get words and numbers output but beyond that there's just a gap that no one explains

by Anonymous 4 days ago

I am thinking back on my first programming courses. We did not start with syntax. We started with some kind of instruction flow, written in plain language. Like, here's a "program" for washing your hair. That sorta thing

by Anonymous 4 days ago

Then I showed him how to make a character move on screen. I think that's why Logo was invented. It was boring.

by PuzzleheadedGain6360 4 days ago

I disagree. You have to know the basics first. Showing them some cool projects they can do with minimal skill is ideal, but dangling projects above their level over their heads can cause them to get discouraged and lose interest.

by Anonymous 4 days ago

Well if it's a low level project, you can just teach them what they need to know. That might be harder to do with 30 kids tho

by Orin64 4 days ago

It's easier today. I teach classes for all ages (one of my most popular classes is "Family Game Dev Studio" where I teach families how to make games together). The first class normally consists of opening a Flappy Birds clone I made in Unity. All the variables are public so they can easily make changes, and then once they understand that concept they can open individual script files (which is so much easier than having to pore through a full game code listing like I used to have to do) and see what it looks like under the hood.

by SomeAmount 4 days ago

I remember the drug dealer game on the TI-83 and changing the coding around to make it more challenging and have more options.

by queenkiehn 4 days ago

Yes! That was Logo with the turtle graphics - you nailed the concept even if you couldn't remember the name. It's fascinating that you found it as fun as actual games at that age. That's exactly what I'm talking about - when programming feels like play rather than work, kids naturally want to keep exploring. Your grammar analogy is spot-on too. We don't teach kids to diagram sentences before they can tell us they're hungry. They learn language through meaningful communication first, then gradually pick up the formal rules. Programming should work the same way - let them make cool stuff happen first, then explain why it works. It's a shame that Logo turtle graphics kind of faded away. Maybe it seemed too 'simple' compared to flashier alternatives, but clearly it was doing something right if it hooked a 6-year-old! Do you remember what made you want to keep experimenting with it?

by Beginning-Two-7534 4 days ago

I teach my kid how to create. Doesnt matter what it is figure out how to create it yourself.

by wschneider 4 days ago

Teaching someone about letters and sentences is why they quit reading and writing. Make them write a fun book first, then worry about the letters and punctuation later.

by Anonymous 4 days ago

If you had to start your journey all over again but could build a plan for yourself with the knowledge you have now, what would it look like?

by Anonymous 4 days ago

This is in no way unpopular among CS educators.

by caseyreinger 4 days ago

That's a fascinating parallel! AI tools are essentially doing what I'm advocating for - they let you start with the 'what' (your goal) and work backwards to understand the 'how' (the implementation). It's like having a coding tutor that shows you working examples first, then explains the underlying concepts

by Beginning-Two-7534 4 days ago

Ai is a better teacher for this than any course. Just give a kid a pc and let him decide what he wants to code. As he generates code hell inevitably have to learn what functions do in order to ask the right questions to get specific functionality from his prompted code.

by Anonymous 4 days ago

I am not sure about that - just giving a kid a PC and AI without guidance is how you get frustrated kids who give up. Sure, AI can generate code, but kids don't naturally know what questions to ask or what projects are even possible. Without someone to spark their imagination ('hey, want to make a character jump?') and keep them motivated through the inevitable bugs and confusion, most will just walk away. AI is an amazing tool, but it still needs human creativity to make programming feel exciting rather than like homework

by Beginning-Two-7534 4 days ago