zawerf 6 years ago

I am really jealous of what the more creative/motivated kids growing up today have access to.

When I was a teenager not long ago, I was mostly motivated by cheating in games which got me learning basic scripting for keyboard/mouse macros which then led me to increasingly complicated stuff for botting.

But there are so many more motivating factors for learning how to code today, and they have never been more accessible. For example if you want porn of your high school crush? You gotta train your own deepfake for that. You will start off as a script kiddie but when you grow up you can tell people you've been training neural networks since you were 12.

  • matte_black 6 years ago

    Jesus, I would have hoped they would achieve more noble pursuits instead of jumping straight into artificial child porn.

    • thisrod 6 years ago

      When I was 13, and the major problem in my life was that all the other boys in my class were straight, I used to daydream about AI and animatronic solutions. The obvious social engineering approach wasn't obvious to me at the time.

    • clamprecht 6 years ago

      How much of civilization is built because of the desire to reproduce? I'll bet a lot.

      And when you're 16 it's normal to be attracted to other 16 year olds.

    • soared 6 years ago

      Kids are not into noble pursuits.. I learned html/css and webhosting stuff by making phishing sites of for my favorite video game.

      • matte_black 6 years ago

        When I was younger I was into noble pursuits. I loved to study programming and would talk about ways I would want to help the world with my future skills.

        That's all gone now... At some point I started to get darker and more cynical, and began to see technology not as a way to improve the world, but rather as a way to take what is mine. It started as a few disappointments here and there, then into short bouts of anger, then expanding into a constant simmering rage. Don't know if I'll ever recover.

        What happened...

    • dsfyu404ed 6 years ago

      I think that was meant to be a joke.

  • naeemtee 6 years ago

    > For example if you want porn of your high school crush? You gotta train your own deepfake for that

    Who says society is going to shit?

Jun8 6 years ago

This is a great project but I can't help say it: I don't like Scratch (and similar block-based languages). They are limited, in some cases by design (e.g. opening files in Scratch) but usually by their very nature. I very much prefer the safety wheel way of learning to ride a bike: use the real thing with addons until you don't need them.

Maybe I'm wrong, any thoughts from people who worked with kids? I can give anecdotal evidence from my son (had no problems with Python or CHIP-8) but that's a sample size of 1.

  • jpk 6 years ago

    I've worked with kids from elementary to high school age. One of the obstacles for getting nearly any kid into coding is conditioning their response to things like syntax errors and the other obtuse-looking things compilers and interpreters like to spit out.

    For example, a kid can spend an hour adding a tree of dialogue to their text-based dungeon crawler, only to get a compilation error they've never seen before. They might have forgotten a curly brace somewhere and I'll help them find it, then they give it another go only to find out they forgot a semicolon or misspelled a variable name. That series of events can be pretty demoralizing, and it takes some coaching to get them through.

    The above is obviously a teachable moment to test early and often, but the point is kids often lose motivation in the face of errors they don't yet know how to interpret. On the other hand, kids get really interested when they can see the fruits of their labor come to life, which can happen without a lot of friction in Scratch.

    So to give students a taste for that success without the slog through syntax errors and stuff, things like Scratch are fantastic. Especially for younger kids where attention span and getting bored or disinterested come more easily. We quickly move on to real languages, though, and the concepts they picked up in Scratch are easily portable to Python or whatever else.

    • thorell 6 years ago

      In my experience, kids recognize the brightly-colored sanitized tools as "not real" programming. The moment they hit the overwhelming UI or unfriendly error messages of many environments, they feel under-prepared for "real" programming and take a hit to their confidence.

      I tentatively agree with them. If I can take a stab at what "real" programming is, it's when you can't expect everything to just work out of the box. You can screw it up in unexpected ways. Sure, that's demoralizing. But you either win or you learn, and I wonder if winning too much, too early prevents cultivating the mental ruggedness it takes to really program.

    • sandov 6 years ago

      When I learned to program (I was ~13 years old) using Small Basic I had no issues whatsoever with the errors the interpreter gave me, even though they weren't even in my native language. It was pretty obvious to me that I had committed a mistake at some point of my code.

      For kids younger than that, maybe it's better to learn scratch, but I wouldn't trade Small Basic, it's a great language to learn, the only bad thing is that it's made by Microsoft and only runs on Windows.

      • jpk 6 years ago

        Yeah, in my experience teenagers (especially those that are highly self-motivated) can see stack traces and stuff as just another part of the puzzle. It's the younger and less motivated kids that tend to get frustrated.

        Edit: I'll also point out this:

        > It was pretty obvious to me that I had committed a mistake at some point of my code.

        How a student handles this is also often a sticking point. "Oh no, another error, I'm bad at this, maybe this isn't for me." Is an attitude that I've had to turn around. It goes a long way to convince a kid that it's actually the computer's fault because it isn't smart enough to understand what you're trying to tell it. So you have to be really specific in how you write to it. Then suddenly error messages are informative clues on the way to making your program work, rather than the computer scolding you for being a bad coder.

  • jjcm 6 years ago

    I taught years 3 - 6 kids scratch for about 3 months. While I wouldn't say that Scratch taught them how to code, what it did do was teach them two things: thinking like a coder, and to be excited about coding.

    Critical thinking and problem solving is something that seems like it's slowly fading away in modern education. So much of it is pure memorization for fill-in-the-bubble style tests. Letting kids at an early age tackle a problem that requires them to use separate steps and pieces of logic to complete seemed very developmental to me. Even over that short time span I noticed a huge difference in the mentality of how the kids approached problems after the course was finished.

    As far as being excited about coding, I can't say just how important this is. Especially at a young age, as long as they feel like they have the capability to use the tools, almost 95% of the students I taught were fully engaged in playing with Scratch. I've taught adults js for a while now, and I usually get about a 30% engagement in any course, so those numbers were crazy to me. The problem though is when they get stuck, it has to be intuitive enough for them to figure out how to solve without being able to pour through stackoverflow posts. Kids don't use SO, they use Youtube to figure things out. Youtube had great scratch tutorials for them to follow, and so it was easy for them to get past things in a way they were comfortable with.

    Overall while I think it isn't something that should be invested in heavily by kids, it's a great lauchpad to get them excited for coding in general. I see it as something akin to lego - it's there to fuel creativity and interest, not necessarily to replace architecture or engineering.

  • blackbrokkoli 6 years ago

    Well, my sample size is also one: myself.

    I wouldn't say that Scratch was my gateway to programming, but I played with it a lot in my early teens. In my opinion Scratch is very good, for the following reason:

    Programming is about achieving something by abusing the tools you have, right? (This is not all of programming, but I would say it's ~86% of it. You might call it technical sophistication). And for that, Scratch is wonderfull. The tools are colorful, easy to understand and while there are a lot, it's limited in size. You're learning the soft skills of programming with a lot more fun.

    What about the limitation? In scratch, you will explore the borders yourself and will have much easier time to understand why the solutions which exist in other languages are usefull ("Oh, finally I can automatically spawn a lot of the same object in")

    Limited, of course, to my own expierience...

  • AndrewKemendo 6 years ago

    It depends on the age of the kid and the sophistication of the teacher. So for a 6 year old with a basic computer or tablet with parents who don't code for a living (aka the VAST majority) Scratch is fantastic.

    No IDE to set-up, no installation, simple interface, tons of kid based examples, highly WYSIWYG, speed to first output etc...

    I think we techies forget how much patience it takes to just get an environment up and running.

ThomPete 6 years ago

One of the things I love about voice interfaces the most is how they allow for us to remove abstraction between what we want technology to do for us and how we get it to do it.

The last major step we had for making technology more accessible and easy to use for more people was the touch screen which made it possible for anyone to understand what "click the button" or "drag the folder" means.

My kids speak with Google Home all the time. They get more and more creative with what they ask it for.

Furthermore, you can interact with it at naturally at a dinner table or in a meeting room without having to look down at a screen. It really just becomes a natural no-obstructive participant of the group of people which I think is going to be it's biggest

Whatever weirdness my generation feel around speaking to tech it will be totally normalized by the coming generations.

organicmultiloc 6 years ago

Most of these articles have the same narrative, summarized as: We have seen how dangerous and important technology is with elections, now it's more important than ever we educate everyone about AI.

As if the two concepts follow or are related at all, it seems more like a extremely convenient way to pivot the conversation to this new area of hype in technology while not actually owning up to anything.

How about we talk about anti-trust law, privacy, and busting up Facebook and Google instead?

  • billybolton 6 years ago

    I want something to new to come up and shatter Facebook, Google etc. We need more internet companies, and right now Facebook & Google reek with a vile stench. They lack creativity and innovation. They are the IBM of the current generation.

    • stochastic_monk 6 years ago

      As far as fundamental research goes, they are both currently doing a lot of the very best machine learning research.

      What they are as companies is an entirely different matter, in which case I would not doubt your comparison.

      Take, for example, the decreasing quality in user experience in map apps over the last few years. Mining our data is apparently much more valuable than doing a simple job better.

      • nsuser3 6 years ago

        Openstreetmap can be very good when used with the right app. On Android I like OsmAnd, it has the best available UI imo.

      • baxtr 6 years ago

        Apple maps got way better! Granted, coming from a difficult starting point...

        • stochastic_monk 6 years ago

          It strikes me as not a coincidence that they are also the company in the big few which most highly values its users' privacy. Still not great, but it's something.

GuiA 6 years ago

One point that is not raised or discussed, which I think is important, is that these learning platforms are not “the real thing”. They’re just artificial environments with building blocks designed for making toy projects, but no engineer would ever use them to build something of significance.

This is not to take away from the work - I’m a big fan of Cynthia Breazal’s group and the work her graduate students have done over the years. But it would be nice to see effort put into removing the artificial separations between user/programmer, or learner/professional. An apprentice carpenter uses real hammers and table saws, an apprentice baker uses real flour and sugar and ovens, so why are apprentice programmers using the plastic playset/ez bake oven equivalent of Tensorflow?

(and if the answer is just “because tensorflow is too hard for a 7 year old”, then how can we get somewhere where there is something as powerful, if not more so, than Tensorflow, while also being accessible to 7 year olds?)

  • Retric 6 years ago

    An apprentice carpenter often does not use 'real' power tools. Nail guns for example are significantly more expensive and dangerous than a hammer, but also more specialized.

    • dsfyu404ed 6 years ago

      Students routinely are given machines/equipment/tools that is massive overkill for the task they are being asked to do so that it can be assured that their effort is spent learning instead of fighting their way around the limitations of their tools/equipment.

      • Retric 6 years ago

        An apprentice is not really just students in that they are paid reasonably well. That pay is based on the idea their going to get a job done reasonably efficiently while not breaking stuff or getting someone hurt.

        Put another way, you generally don't give interns root access to production servers.

  • gaius 6 years ago

    these learning platforms are not “the real thing”. They’re just artificial environments with building blocks designed for making toy projects, but no engineer would ever use them to build something of significance

    It doesn’t have to be like that tho’. The original Beeb was designed for pedagogical uses sure, but people used them for “real work” too, including controlling lab experiments, machine tools, even financial applications. People used STs and Amiga’s for real work too.

  • jerf 6 years ago

    I've seen this sentiment expressed dozens of times, but I've never seen it manifested in an even remotely concrete way. I strongly suspect the essential complexity of programming is still too much for most people to pick up, and I even more strongly suspect that while Piaget's developmental model isn't necessarily perfect, that trying to create a programming language satisfactory for both the concrete operational stage [1] and the formal operational phase is just not going to happen. (And those of an egalitarian bent may not want to look at footnote 47 too closely.)

    (You want the people complaining about how Go doesn't have generics to be stuck with a programming language that contains "only concepts a 7 year old can understand"? I'll even stipulate you the 99th percentile 7 year old. You'd never read about anything else on HN ever again; it would be nonstop complaining.)

    [1]: https://en.wikipedia.org/wiki/Piaget%27s_theory_of_cognitive...

    • yorwba 6 years ago

      If you don't want adult programmers to feel artificially limited by a language, it will of course have to be able to express concepts that are too difficult for 7-year-olds.

      But that doesn't mean that every feature has to be that complex. The concept of typing commands into a Basic prompt was apparently not too difficult for many kids who were lucky enough to have access to a computer.

      I think the crucial ingredient to make a feature easy to understand is the ability to see its effect, so that you can experiment with immediate feedback, and many common language features can actually be made to satisfy that requirement with the help of a sufficiently powerful debugger.

  • IggleSniggle 6 years ago

    The best of these building blocks tools allow you (and encourage you!) to easily modify them under the hood.

  • arbitrary_name 6 years ago

    Who's giving real hammers to 7 yo carpentry apprentices?

dalore 6 years ago

I would love a Young Lady's Illustrated Primer: a Propædeutic Enchiridion for my daughter.

billybolton 6 years ago

"Growing up with AI" - is that a joke? People actually think that the "AI" we have now is intelligent?