Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 16 submissions in the queue.
posted by janrinok on Thursday October 31, @04:13PM   Printer-friendly

The other thing is that in order to learn, children need to have fun. But they have fun by really being pushed to explore and create and make new things that are personally meaningful. So you need open-ended environments that allow children to explore and express themselves.

(This Inventor Is Molding Tomorrow's Inventors, IEEE Spectrum)

IEEE Spectrum has a (short) sit-down with Marina Umaschi Bers, co-creator of the ScratchJr programming language and the KIBO robotics kits. Both tools are aimed at teaching kids to code and develop STEAM skills from a very young age. Other examples of such tools are the mTiny robot toy and the Micro:bit computer.

Being able to code is a new literacy, remarks Professor Bers, and like with reading and writing, we need to adapt our learning tools to children's developmental ages. One idea here is that of a "coding playground" where it's not about following step-by-step plans, but about inventing games, pretend play and creating anything children can imagine. She is currently working on a project to bring such a playground outside: integrating motors, sensors and other devices in physical playgrounds, "to bolster computational thinking through play".

Given how fast complicated toys are being thrown aside by young children, in contrast to a simple ball -- or a meccano set, for the engineering types -- I have my doubts.

At least one of the tools mentioned above is aimed at toddlers. So put aside your model steam locomotive, oh fellow 'lentil, and advice me: from what age do you think we should try to steer kids into "coding" or "developing", and which tools should or could be used for this?

Feel free to wax nostalgic about toys of days past, of course, in this, one of your favorite playgrounds: the soylentnews comment editor.


Original Submission

This discussion was created by janrinok (52) for logged-in users only, but now has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
  • (Score: 2) by DannyB on Thursday October 31, @04:39PM (4 children)

    by DannyB (5839) Subscriber Badge on Thursday October 31, @04:39PM (#1379622) Journal

    From TFA:

    Both tools are aimed at learning kids to code and develop

    It might have been more gooder to say: teaching kids to code and develop.

    However it can less easily be read to mean that "learning" is a qualifier on certain kids (learning kids), the kids who are learning, and those kids are who the tools are aimed at.

    --
    Santa maintains a database and does double verification of it.
    • (Score: 2) by janrinok on Thursday October 31, @04:54PM

      by janrinok (52) Subscriber Badge on Thursday October 31, @04:54PM (#1379625) Journal

      Fixed - but I had fixed it once... No excuses.

      Thanks

      .

      --
      I am not interested in knowing who people are or where they live. My interest starts and stops at our servers.
    • (Score: 5, Interesting) by quietus on Friday November 01, @08:54AM (2 children)

      by quietus (6328) on Friday November 01, @08:54AM (#1379766) Journal

      Interesting. In my native language, we don't really make a distinction between teaching and learning: for both activities the same verb ('leren') is used. There is a separate word for teaching ('onderwijzen'), but that's very rarely used -- in formal writing, perhaps. Further on that, there's also not such a strong distinction between pupils and teacher. The words used there are 'leerling' and 'leerkracht', both with the same stem. Maybe it's a remnant from medieval times where you went to work alongside with a skilled craftsman to learn a craft (a system that still exists).

      • (Score: 3, Insightful) by DannyB on Friday November 01, @02:08PM (1 child)

        by DannyB (5839) Subscriber Badge on Friday November 01, @02:08PM (#1379806) Journal

        Maybe it's a remnant from medieval times where you went to work alongside with a skilled craftsman to learn a craft (a system that still exists).

        That system perhaps ought to exist for software development. Maybe for other tech fields.

        --
        Santa maintains a database and does double verification of it.
        • (Score: 2) by VLM on Friday November 01, @08:01PM

          by VLM (445) on Friday November 01, @08:01PM (#1379855)

          Pair programming and code review meetings? To some extent, active group open source development in general?

          There's an attempt to proceduralize it to remove the human element but in a way, higher ed sort of works like that past the over-populated filter classes. Consider an ideal relationship between a PHD student and their advisor.

  • (Score: 5, Informative) by Rosco P. Coltrane on Thursday October 31, @04:43PM (9 children)

    by Rosco P. Coltrane (4757) on Thursday October 31, @04:43PM (#1379624)

    was Lego bricks.

    My parents bought me my first Lego set when I was a little kid. My mom told me I didn't know what to do with it and threw the pieces in the air out of frustration. So my mom showed me how to count the pegs and how they fit. one-two-three-four...

    And then it clicked.

    And then I realized one simple Lego brick and another simple Lego brick make a more complicated assembly. And several more complicated assemblies can make really complicated things. And all I had to do was figure out how to combine simplistic things to create infinitely complex mechanical constructs.

    And then later I learned - all by myself - how to combine Lego elements from incompatible sets to create things that shouldn't be possible.

    Does this sound like programming? Hell yeah! It's EXACTLY the same approach.

    When my Dad bought me a ZX81, I didn't know what to do with it. So my Dad showed me how to print a block here, a block there, to print a tiny Empire State Building. And then it clicked again: programming is Lego for the brain - and I don't even have to beg my Mom to buy me more blocks :)

    Wanna get kids hooked on programming? Give them bricks. Simple tools they can combine and do interesting things with. They'll figure out the rest without your help.

    • (Score: 4, Interesting) by DannyB on Thursday October 31, @04:54PM

      by DannyB (5839) Subscriber Badge on Thursday October 31, @04:54PM (#1379626) Journal

      Sometimes you really do just need the right "toy" to unleash your potential. In my case, I was in to electronics in the early 1970s. Everything was analog. I did wonder what computers really were and how they worked to do everything attributed to them without any rewiring? Then came the Altair 8800 on the front cover of Popular Electronics in the Jan 1975 issue. This really got me wondering how such a small machine could do so much. About a year later I met a man in my church who had an HP 25 programmable calculator. He demonstrated and explained it. I was fascinated. He loaned me the manuals to read for a week and I read them completely. Then he loaned me the calculator and I wrote a few simple programs. I was hooked! I never looked back at analog electronics and today I no longer remember which end of a soldering iron to pick up. My high school got a computer (about $8000 in 1977 dollars), just as TRS-80, Commodore PET and Apple II all appeared on the mass market.

      --
      Santa maintains a database and does double verification of it.
    • (Score: 4, Interesting) by Freeman on Thursday October 31, @05:03PM

      by Freeman (732) on Thursday October 31, @05:03PM (#1379628) Journal

      I still like Legos and is a fun pasttime for Wife, Kiddo, and I to do together. However, Legos are not cheap and I have games like Terraria, Space Engineers, and Planet Crafter where the blocks are "free" more or less. Even 7 Day to Die gives you the means with which you can create elaborate things. 7 Days to Die however has a "pseudo physics" kind of system though. I.E. with Terraria / Space Engineers / Planet Crafter you can build to your heart's content, physics be damned. With 7 Days to Die you have a block support / weight system, once too much weight is tacked onto a free hanging side, the thing collapses. Hopefully not the entire thing, but sometimes you get to learn the hard way.

      --
      Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"
    • (Score: 5, Interesting) by canopic jug on Thursday October 31, @05:04PM (3 children)

      by canopic jug (3949) Subscriber Badge on Thursday October 31, @05:04PM (#1379629) Journal

      Wanna get kids hooked on programming? Give them bricks. Simple tools they can combine and do interesting things with. They'll figure out the rest without your help.

      The confound to that approach is that recent generations of Lego have too many specialist shapes which fit together in almost exactly one way and can't really be used outside their intended purposes rather than more generalized forms which fit together in a variety of ways. It was those generic shapes which gave Lego its free form, abstract nature and which contribute to internalizing the idea of combining and recombining components. That ability to combine and recombine is a core of programming.

      On a somewhat tangentaI anecdote, I played with Lego a lot for a few years starting at age 3. As an adult I coached someone on an aptitude test regarding mentally doing 3D rotation of objects represented in 2D drawings. I had always thought those tests were merely a formality for the most part or maybe a speed test, but nope. There are people that actually cannot do such rotations in their heads. The first thing I thought of was Lego and then I realized that the age cohort I was dealing with had no experience with Lego or any other similar kinds of models. There are other factors too however my main guess is that the generic, non-specialized Lego kits really build a lot of capabilities for visualization.

      --
      Money is not free speech. Elections should not be auctions.
      • (Score: 2) by canopic jug on Thursday October 31, @05:04PM

        by canopic jug (3949) Subscriber Badge on Thursday October 31, @05:04PM (#1379630) Journal

        s/3/4/;

        It was a while back...

        --
        Money is not free speech. Elections should not be auctions.
      • (Score: 2) by Rosco P. Coltrane on Thursday October 31, @05:17PM

        by Rosco P. Coltrane (4757) on Thursday October 31, @05:17PM (#1379636)

        recent generations of Lego have too many specialist shapes which fit together in almost exactly one way and can't really be used outside their intended purposes

        Yes I heard that. That's too bad: the whole point of Lego is generic things you can do whatever you want with.

        non-specialized Lego kits really build a lot of capabilities for visualization.

        Agreed. For a few years, I worked as a technical drawer, modeling mechanical parts, and I credit playing with Lego for my perfect ability to visualize things in 3D in my head.

        And I too have met people who can't seem to be able to do that. Though I read somewhere that it's more genetic than acquired - although I read that many years ago, possibly decades ago: I recall the article claiming women have a harder time at spatial visualization, and it sounds like something a modern science article wouldn't dare printing :)

      • (Score: 5, Informative) by Snospar on Thursday October 31, @05:18PM

        by Snospar (5366) Subscriber Badge on Thursday October 31, @05:18PM (#1379637)

        The thing about those LEGO specialist pieces is that now they are used across a lot of different themes and brands within LEGO. You might think "Oh they've build a special part for this spaceship" but that exact same part turns up (maybe in a different colour) as part of a Flower, or connecting something in a castle or just in a boat somewhere. The number of distinct LEGO elements has decreased since the 1980's. Article on brickfanatics [brickfanatics.com] is one that confirms this but I've seen it stated many times by LEGO staff.

        --
        Huge thanks to all the Soylent volunteers without whom this community (and this post) would not be possible.
    • (Score: 3, Interesting) by JoeMerchant on Thursday October 31, @05:29PM

      by JoeMerchant (3937) on Thursday October 31, @05:29PM (#1379638)

      I exposed my kids extensively to Lego, and Scratch and all manner of other things (3d printer...)

      One really latched on to TuxPaint and just loved drawing stuff in it. He got into Minecraft a little bit, but never really hit the all consuming hundreds of hours invested level - if he can't whip out a finished product in a few minutes, he isn't too interested. I have steered him out of TuxPaint into Krita, but he still uses TuxPaint about 20% of the time when he can do what he wants faster in there than in Krita.

      The challenge is there with Scratch and other open ended building tools, what seems to be lacking is the motivation to make pictures on the screen. Even the 3d printer didn't help with that. We printed up the letters A-Z and numbers 0-20 hand drawn then printed from the hand drawings, but after that was done, he really didn't care to make a bunch more plastic junk. Kinda gotta admit: I feel the same way most of the time. In the 3 years since we gave the printer away, I have only asked the guy I gave it to to print one kind of thing for me: 2" hubcaps because the originals are hard to find / ridiculously expensive.

      --
      🌻🌻 [google.com]
    • (Score: 2) by DannyB on Thursday October 31, @09:20PM

      by DannyB (5839) Subscriber Badge on Thursday October 31, @09:20PM (#1379681) Journal

      I made blocky chunky starships from Lego in the early 1970s when Star Trek was on in the late afternoon after school was out.

      --
      Santa maintains a database and does double verification of it.
    • (Score: 2) by Joe Desertrat on Sunday November 03, @12:21AM

      by Joe Desertrat (2454) on Sunday November 03, @12:21AM (#1380039)

      Bah! I had to use Lincoln Logs. Legos hadn't come along yet, and Erector Sets were too expensive. Heathkit was only a dream...
      I've got to go chase some kids off my lawn now.

  • (Score: 4, Interesting) by krishnoid on Thursday October 31, @05:10PM (3 children)

    by krishnoid (1156) on Thursday October 31, @05:10PM (#1379633)

    Sure, you can sit kids in front of videos that occupy and stimulate them, but how about giving them a box of connecting parts -- tinkertoys, legos, erector sets -- and letting them find a way to stimulate themselves? It can start with just assembling fun things, and move on to automation through motors and sensors via stuff like Lego Mindstorms.

    Cost can be an issue, but I think there's a huge training element in manipulating parts with your hands in 3-space while you're thinking about what you want to put where, in what sequence.

    I've also brought this up many times, but I think programming could be approached from the bottom-up, where (e.g.):

    • You might want to try to draw some patterns and text, and try to do it using turtle graphics [pythonsandbox.com] or PostScript [archive.org] or Scratch, learning instruction sequencing and coordinate transforms in the process. And then you can print your picture and put it on the fridge.
    • You could start by showing them how to use a spreadsheet, and they can muck around in it. Then show them how to add numbers, then use functions, and move up from there. If they don't want to, you don't have to force them to; if they want to but get frustrated, encourage patience and provide guidance.
    • In non-STEM domains, maybe open-ended role-playing like Dungeons and Dragons -- maybe at a kids level -- which widens the scope of problem-solving and have them develop skills to interact in a sandbox where they have kid/teen/adult-level decisions to make within and the breadth of agency to execute against them. After all, not every orc has to be stuck with a sword.

    Much of these can require additional time and supervision though, which is tricky for most parents. But gaining core skills like these reveal a path and process of learning in general and changing perspective in the process, and carry over between STEAM fields and across into non-STEAM ones.

    • (Score: 2) by VLM on Thursday October 31, @06:40PM (1 child)

      by VLM (445) on Thursday October 31, @06:40PM (#1379648)

      learning instruction sequencing and coordinate transforms in the process. And then you can print your picture and put it on the fridge.

      Animation of childish humor was always entertaining when I was a kid.

      I vaguely remember writing a Tom and Jerry cartoon scene in BASIC using animated letters, just plotting letters on the screen. You can guess who the "T" and the "J" were I don't recall much else about it beyond stealing a dinosaur bone from a museum including an elaborate chase scene, although that sounds more like a bad Scooby Doo plot. Maybe it was a Scooby Doo animation.

      I would imagine this scales pretty well to 2024. "Look kid, just make an animation the best you can of something cool from Bluey" or WTF kids watch now.

      • (Score: 3, Interesting) by Tork on Thursday October 31, @07:46PM

        by Tork (3914) Subscriber Badge on Thursday October 31, @07:46PM (#1379659)
        In my programming class I created a function that mimicked the Knight Rider chaser lights going back and forth. This was done in Ascii and I even had each 'bulb' fade out instead of popping out. My teacher wasn't super happy of me messing around off the teaching plan but he was impressed that the function had variables for how wide it should be etc. Fast forward to me in my thirties, I picked up an Arduino board for the first time plus a few LEDs and essentially recreated that code. Pretty quickly, too, the Arduino Community is very good.

        For a little extra credit on my final I wrote a function that compressed numbers in a text file by converting them to text/ascii. The code only kinda worked (255 being the upper limit.. hehe) but my teacher did appreciate where my thought process was headed.

        My professional life benefitted from this quite a bit, but even if it didn't that sort of messing around did give me a sense of how computers actually work. Playing the same game on a SNES and a PC and comparing the ports (Wing Commander comes to mind....) also paid off for me in several ways. That's a little harder to explain but I started noticing things like on the SNES you could only fight one fighter at a time, that's because they were using a bit of the hardware to handle the bit it's underpowered processor couldn't even dream of. Hehe. They made some compromises to play towards its strengths. Kinda important to learn about since I spent way too much time suffering from the megahertz myth!

        Sorry for the meandering post. VLM's comment threw me down a wonderful section of memory lane and I do appreciate it.
        --
        🏳️‍🌈 Proud Ally 🏳️‍🌈
    • (Score: 4, Interesting) by JoeMerchant on Thursday October 31, @07:53PM

      by JoeMerchant (3937) on Thursday October 31, @07:53PM (#1379662)

      I started programming in BASIC in 1982, that was about as close as you could get to "bottom up" without having really long delayed gratification of things like assembler or punch card processing.

      Instant feedback is a big dopamine driver. Unfortunately, today's children have handheld internet portals with full video/audio capability, they get all kinds of dopamine from the passive activity of "surfing."

      --
      🌻🌻 [google.com]
  • (Score: 0) by Anonymous Coward on Thursday October 31, @05:11PM (2 children)

    by Anonymous Coward on Thursday October 31, @05:11PM (#1379634)

    from what age do you think we should try to steer kids into "coding" or "developing"

    --

    how about teaching them that being a tool for corporations might not be the greatest
    life choice

    • (Score: 2) by Tork on Thursday October 31, @07:46PM

      by Tork (3914) Subscriber Badge on Thursday October 31, @07:46PM (#1379660)
      Coding and developing are creation, not consumption. Nice try, tho. ;)
      --
      🏳️‍🌈 Proud Ally 🏳️‍🌈
    • (Score: 5, Insightful) by DannyB on Thursday October 31, @09:23PM

      by DannyB (5839) Subscriber Badge on Thursday October 31, @09:23PM (#1379682) Journal

      We should "steer" them into anything. They are not steers.

      Not everyone is cut out to be a software developer. Or a painter. Or a concert pianist. Or a brain surgeon. Or quantum physicist. Or an expert brick layer. Etc.

      If someone really does have a passion to write software, then you won't be able to stop them. They'll do it on their own as long as the tools they need are available. And that is probably true if they have a passion for any of the other types of things I mentioned.

      --
      Santa maintains a database and does double verification of it.
  • (Score: 4, Insightful) by DrkShadow on Thursday October 31, @05:32PM (1 child)

    by DrkShadow (1404) on Thursday October 31, @05:32PM (#1379639)

    It used to be you'd walk past a work site, see the digging, see people with shovels, in machinery -- and wonder what was happening, and try and look. Take-your-kid-to-work day.

    Now it's all "shielded" by opaque barriers. No one can see anything but a plastic fence. No one can see what they're doing, what it involves, or anything at all.

    Best way to get kids interested in engineering? Let them see it. With 'Murica's helicopter-parenting, absolute-risk-averse, just-let-me-protect-you mentality, no one experiences anything, and no one will grow an interest in what they've never experienced. It's all about "CHOOSE A FUTURE FOR YOURSELF!!" "but I've never seen any possible futures.." "If you don't hurry up and choose you'll work at McDonalds!!1!"

    • (Score: 4, Interesting) by DannyB on Thursday October 31, @09:32PM

      by DannyB (5839) Subscriber Badge on Thursday October 31, @09:32PM (#1379684) Journal

      Now it's all "shielded" by opaque barriers. No one can see anything but a plastic fence.

      Best way to get kids interested in engineering? Let them see it.

      When I was a kid, I had three chemistry sets, one of which cost me $9. Dabbled with rockets. Electricity and electronics. Rode my bicycle further away from home than my parents "freak out" limits. Could (and did) buy dangerous chemicals at the local hobby store, within bicycle distance, and within the budget of parent's weekly allowance. The neighbor kid and I made our own "gunpowder" (salt peter, sulfer, ground charcoal) and other fun stuff like that. Did I mention some of the chemicals we could buy? Potassium permanganate and Glycerin. Oh, the fun times.

      Now kids stay inside where it is safe and dark, glued to their phones or video games.

      --
      Santa maintains a database and does double verification of it.
  • (Score: 4, Interesting) by looorg on Thursday October 31, @05:48PM

    by looorg (578) on Thursday October 31, @05:48PM (#1379640)

    I'm not so certain that "fun" is part of the learning experience. It helps if it's fun, or at least not soul-crushing and boring. But it doesn't have to be fun. It might be more important so see results or understand what things are for. To see beyond the task currently being performed.

    I have been in projects, where they tried to temp children into going for STEM subjects later in their schooling. Abysmal results, did not work or could not be evaluated. They got to try programming, playing with LEGO Mindstorm robots, watch experiments in chemistry and physics and so on. I'm sure they had "fun" while there, getting cake and doing fun things probably helped. It was probably "fun" in that it took a day out of their normal education. But fun didn't translate into more STEM students down the line. Perhaps we lured someone in but not on a scale where the effort was worth the end result. The interested once would probably have made it there anyway, just like they always have.

    Being able to code is a new literacy, remarks Professor Bers

    They keep saying it. I don't think it's true. Or they have some very generous definitions of coding or literacy. In that case we have a lot of illiterates Cause they quite frankly don't know how to program or code or learn to do it. There are always exceptions but those kids would have learned to code the old fashioned way like we all did back ye olden days.

    The "fun"-code probably rarely translate into a career as an actual programmer. LowCode/NoCode or whatever they want to call it these days isn't really coding. That is also the code, if it is code, that is going to be replaced by AI-code. So they are learning some weird child-code in vain.

    Consider also that a lot of children now have to have some serious attention deficit disorder where they have to be constantly entertained or distracted. There is not going to be a lot of actual or proper coders there, at least non as we know/knew it.

  • (Score: 5, Insightful) by Frosty Piss on Thursday October 31, @06:11PM (7 children)

    by Frosty Piss (4971) on Thursday October 31, @06:11PM (#1379641)

    All these kids "teaching" languages... What's wrong with a real language? Hanging out with my father at work from 12 or 13 on, I first tackled BASIC on the HP 4051, but soon moved on to FORTRAN on the PDP 11TH and C on the Sparc. All of these languages have easy on-ramps to the basic programming structures and functions. Fake "teaching" languages are just that, fake.

    • (Score: 3, Insightful) by VLM on Thursday October 31, @06:27PM (6 children)

      by VLM (445) on Thursday October 31, @06:27PM (#1379646)

      I agree with you more or less but I think you're aiming at the wrong target.

      The goal of fake teaching languages is teaching the K-12 Education major kids who became teachers how not to get fired at work, well, at least help them.

      The kids who can learn by themselves already outnumber the jobs in the field, so no real need to teach the kids who can't figure it out on their own.

      I was messing around with Zephyr which is a C RTOS for microcontrollers and I just read manuals and mess around and generally it eventually works, in fact works pretty well. Kids raised on the idea that a teacher will always be available to teach them and they can take a class and getting a grade means they know what they're doing will be very disappointed when they hit the workforce and the boss is like "I donno either, use Google to figure it out like everyone else"

      In the early 80s we took inspiration from "choose your own adventure" books to write BASIC text adventures in school. Some good, some not so good. Add in a couple DnD sourcebooks (cue 1980s "satanic panic" ominous music) and it was a good time. This is just kids playing, not a curriculum. I also learned a lot about math as a kid by figuring out how to draw graphs in basic and finding pages of functions in the BASIC instruction manual and "log(), wtf is a log()? I guess I'll graph it and find out" And I did. Trig also. Oh that's how I can use BASIC and sines and cosines and tangents to find the lengths of sides of triangles and stuff. No idea why I'd want to, but I could. I was about 7 and couldn't think of any reason why I'd ever want to do that, but I knew how.

      • (Score: 4, Interesting) by JoeMerchant on Thursday October 31, @07:57PM (5 children)

        by JoeMerchant (3937) on Thursday October 31, @07:57PM (#1379663)

        >The kids who can learn by themselves already outnumber the jobs in the field

        Maybe, but connecting those kids to the jobs is a significant challenge.

        On the interviewing side, I'd run about 10 well screened resumes through the in-person interview for graphics programmer before I'd find one that really had the skills. The other 9 had resume polishing skills, on paper they were indistinguishable from the good ones, but a simple practical test - 15 minutes or less for one skilled in the art - sorted them very well. Never was disappointed with anyone who passed the test, was disappointed 4/5 when we couldn't find a test passer and just took whatever seemed best from the interviews.

        --
        🌻🌻 [google.com]
        • (Score: 2) by VLM on Thursday October 31, @08:09PM (4 children)

          by VLM (445) on Thursday October 31, @08:09PM (#1379668)

          a simple practical test - 15 minutes or less for one skilled in the art

          LOL let me guess, Bresenham's line drawing algo. So many ways to mess that up which makes some entertaining discussion. Some interesting optimizations if you've got the time.

          How bout this for fun: I would ask them to draw a circle and see how many of them are smart enough to understand symmetry. You don't really have to calculate a circle, just a 45 degree arc. Shows who starts typing before they start thinking.

          Or if the interview candidates are REALLY weak, "A function that draws a rectangle and fills it in" That'll filter some.

          Graphics programming is fun because you can visually see mistakes rather quickly LOL.

          As I've gotten older I went thru a phase of not liking fizzbuzz but as I've gotten older I feel its really a test of seeing what they do to avoid panic. Oh you're an expert with C# on Visual Studio looks like we're doing it with Clojure on Emacs or you can use awk and a makefile.

          • (Score: 3, Interesting) by JoeMerchant on Thursday October 31, @08:45PM (3 children)

            by JoeMerchant (3937) on Thursday October 31, @08:45PM (#1379675)

            Ours wasn't so sadistic. Now, the man who hired me using that test was sadistic in many ways, but the test itself was pretty simple and a little clever:

            "Use (insert programming tool of the day) to draw ten cycles of a sine wave on the screen, decaying from 90% to 10% of the screen amplitude."

            I impressed him because I used #defines for the screen width and height and computed from there...

            Over the years, I had a couple of candidates who insisted on decaying the amplitude exponentially rather than linearly - one even asked, and we readily told anyone who asked: linear decay. Starting at 0.9 * sin(x) and ending at 0.1 * sin(x) was full marks, anything else was a personality test. We didn't hire the one who insisted on making it exponential anyway even after we told him it should be linear.

            Had a couple who obsessed over the fact that the first peak of the sine wave would be slightly below 90%, tried to work out how to make it exactly 90% at the peak (and got close, but failed to nail it with the exact formula) - nice attention to detail, but un-necessary and a little sloppy.

            Had one who was trying to make it work discretely: one cycle at 0.9, next cycle at 0.8, next cycle at 0.7, ahhh crap, when you get to the 10th cycle that's 0, start over... Discrete thinker, hard worker, maybe not the brightest bulb...

            Had one from East Germany, did the test remotely so when he came in person I asked for the plot in polar coordinates, which he whipped off like it was nothing. But... his girlfriend was too scared of the big bad city to move there. Disappointing, we were paying him enough to get an apartment walking distance to South Beach, nice spot on Venetian Causeway - one of our employees moved there after I pointed out how affordable and well located it was for him and his GF.

            The failures ranged from immediate rage-quit walk-outs to hours upon hours of effort, but no real progress shown. If they weren't getting some kind of wave on the screen after 20 minutes, it never happened.

            Later years, I set them up in Qt Creator with a starter program that drew a box outlining the edges of the display window the sine wave was to be drawn in, still... most of the "Graduated with honors, classes in computer graphics, X years experience in multiple jobs doing computer graphics programming in C++" candidates never could iterate across the screen to draw a time series signal. Even after giving them clues like: try a for loop from left to right...

            One was an attractive Chiquita who told us she just had to run back to school real quick, she'd be back... She came back within about 3 hours, both in a lower cut blouse, and with the answer memorized which she typed in quickly. I basically asked her: if I give you this similar problem here and now, will you be able to do that one without asking a friend? Leaning over the table she told me, "no, not really." I told her "ask your friend if they want the job."

            --
            🌻🌻 [google.com]
            • (Score: 2) by VLM on Friday November 01, @02:30PM (2 children)

              by VLM (445) on Friday November 01, @02:30PM (#1379811)

              We didn't hire the one who insisted on making it exponential

              Ooof brutal filtering the poor EE. You could have trolled him and asked what the Q value would be of a L-C filter if the decay was your 90% after six cycles. I'm sure if you gave them a scribble of what it should roughly look like it would be OK. Unless part of the test was seeing if they'll try to define the problem clearly before starting work, always a good idea. I think verbally you mean draw a sine wave with an amplitude of 0.9 at x=0 and 0.1 at x=width and 6 full waves. You probably don't mean 6 positive and negative peaks in total which would only be 3 full waves to the poor EE dude you filtered.

              Waaay too early in the morning for this but if Q is about 2pi*energy stored/energy lost and you're losing 10% per cycle so if it were exponential across six cycles that would be a Q of like "five ish"? Not exactly a crystal filter but ...

              If I'm hearing you right you mean in Python using math library (not because Python is good but it is a good lingua franca everyone "knows" or thinks they do anyway) you want something like points for x and y to plot are a for loop for X from 0 to width and Y is something like (0.9-x/width*0.8)*math.sin(6*x*math.pi/width)+height/2, so like amplitude going from 0.9 at the left to 0.1 at the right edge times the sine from 0 to 2pi times six so you get six FULL wave cycles plus half the height because presumably you want that centered. I donno I just woke up and haven't had any tea yet so I probably forgot something obvious that would appear if I ran it. Even if that's wrong maybe its getting across my interpretation of the spec in pseudocode.

              Would be hilarious to ask them for a sine wave and draw them a picture of a cosine wave and see how they handle the interpersonal conflict.

              There are of course details like you'd probably prefer line segments from previous point to current point, not just slappin unconnected dots on the screen, etc.

              Use (insert programming tool of the day)

              vs

              Qt Creator

              Oh now that's a little unfair. Whip out some sines on the screen on an 80s home computer in about 5 minutes but having to write an entire KDE app complete with menus and stuff, that's a lot of work unrelated to graphics and sines and stuff.

              • (Score: 2) by VLM on Friday November 01, @02:32PM

                by VLM (445) on Friday November 01, @02:32PM (#1379813)

                (0.9-x/width*0.8)*math.sin(6*x*math.pi/width)+height/2

                Oh for goodness sakes I'll come back to this after I wake up but probably

                (0.9-x/width*0.8)*math.sin(6*x*2*math.pi/width)+height/2

              • (Score: 2) by JoeMerchant on Friday November 01, @03:54PM

                by JoeMerchant (3937) on Friday November 01, @03:54PM (#1379823)

                Well, the "empty box app" in Creator was less than 10 lines of code... all the windowing stuff comes along for the basic project setup as a GUI app. That was the point of drawing the box for them, so they already had the graphics object all set up and line draw examples to "draw on." We were already in Qt4 by then.

                >part of the test was seeing if they'll try to define the problem clearly before starting work, always a good idea.

                Absolutely. If I were designing the test today, I'd probably include a user input of some sort and see if they sanitize the input or not, or at least ask about input sanitization.

                I don't know if I have 15 minutes of patience, but: "10 cycles of a sine wave" - I think I asked: "just to be sure, that's 10 up and 10 down?"

                So:

                #include <math.h>

                int screenWidth = 640; // (didn't torture them with variable sized output window)
                int screenHeight = 480;

                int y = screenHeight / 2;
                int oy = y;
                int ox = 0;
                for ( int x = 0; x < screenWidth; x++ )
                    { float t = ((float)x)/((float)screenWidth); // t runs 0.0 to 1.0 over x = 0 to screenWidth
                        float a = sin(10.0 * M_2PI * t) * (0.9 - 0.8 * t);
                        y = screenHeight / 2.0 - ( a * screenHeight / 2.0 );
                        winOb.line( ox, oy, x, y );
                        ox = x;
                        oy = y;
                    }

                I think during my test the include of math.h didn't work on whatever environment they had me in, possibly a tweaked Turbo C?, so I just replaced 10 with 62.83185

                As you said, debugging goes pretty quick when things don't look like you expect.

                --
                🌻🌻 [google.com]
  • (Score: 5, Insightful) by VLM on Thursday October 31, @06:16PM (2 children)

    by VLM (445) on Thursday October 31, @06:16PM (#1379644)

    integrating motors, sensors and other devices

    Learn how to put stuff together by tearing stuff apart, optionally trying to put it back together.

    It's a pity there's no "fun" stuff at Goodwill or even yard sales anymore. Tearing apart a Roku streaming box will not educate nearly as much as tearing apart an early 80s vintage VCR and figuring out how it works or why it no longer works or just plain old playing with the parts. I learned a few things about value engineering when looking at the innards of 8-track players.

    Tear apart some old model airplane engines, some lawnmower engines, maybe some broken yard equipment. As a little kid if I was bored sometimes I'd tear apart an old 0.049 cu inch control line model airplane motor and just look it all over. Pretty cool. I remember the "fuel pump" was a piece of mylar with a leaf spring. I was rather mystified how they made the piston, in retrospect I think they crushed the piston on top of the crank, but how did they do that to such close tolerances such that it didn't rattle AND wasn't too tight? Hmm.

    The irony of course is 40 years later what I tore apart and tossed in trash cans would probably be worth $$$$$$ to a collector, at least if it worked. But, at the time the dollar value was right about $0 and I learned a lot.

    I'll toss out an opposing view. The world no longer needs VCRs, DVD players, 8-trak players, cassette players, CD changers, all that stuff is dead, so why learn the engineering skills to design them? It's not like my kids are going to move to China to do that kind of work anyway.

    I suppose tearing apart a desktop computer and putting it back together would be educational but kids don't have much experience with desktop hardware anymore and hyperintegrated motherboards since the late 80s mean this is pretty boring even if you do it anyway.

    There's a difference between genuine kid play vs adults leading them thru a pre-arranged velvet factory assembly line. If you don't keep tools parts and machines away from kids they'll play with them and learn how they work and at best you need to stay out of the way or just yell at them not to do dangerous stuff. But even the best pre-assembled curriculum never seems to teach all that much and you have to kind of force the kids to do it because its not "play". Like the difference in behavior between a bag of random lego bricks vs a boring licensed IP lego model that is barely entertaining unless you're a superfan of the IP, and even then...

    • (Score: 3, Interesting) by DannyB on Thursday October 31, @09:40PM (1 child)

      by DannyB (5839) Subscriber Badge on Thursday October 31, @09:40PM (#1379685) Journal

      Extremely insightful. I did that as a kid. On trash day I would ride my bike up and down the streets for blocks looking for anything interesting people might throw away. I got lots of those five-tube radios. I got five televisions, two of which I was fairly easily able to get to work and sold for a total of $25. Remember tube testers at your local store? I also got a couple very large wooden radios. I ended up with a good sized box of assorted tubes. Things I couldn't fix I would strip for parts (resistors, caps, transistors, and especially transformers, speakers, potentiometers, etc). I also ended up with three telephones from other kids at school, and I didn't ask how they got them.

      --
      Santa maintains a database and does double verification of it.
      • (Score: 2) by VLM on Friday November 01, @02:02PM

        by VLM (445) on Friday November 01, @02:02PM (#1379804)

        two of which I was fairly easily able to get to work

        Heh heh the "All American Five" hot chassis radios were a bit before my time but were very exciting to work on.

        For those not in on the joke, they didn't bother with isolating or grounding the chassis back then they stuck all the tubes in series and the "ground" was directly wired to neutral, (optimistically not hot).

        This made troubleshooting very exciting as it was maybe 25% chance the chassis was wired to hot so don't clip an scope ground on the chassis (unless you plug your scope into an isolation transformer, which as its own excitements as now your scope chassis would be "hot")

  • (Score: 5, Insightful) by QuickButterfly on Thursday October 31, @06:37PM (6 children)

    by QuickButterfly (40667) on Thursday October 31, @06:37PM (#1379647)

    Re: coding as the new literacy: I agree! What a preposterous claim. It's a skill set. I actually did start programming at ~ 5 or so — ditto my younger siblings. One of the best programmers I ever worked with started when he was 50 (prior to that, he was a bus driver). It wasn't like learning a second language — i.e. easy for me and hard for him. It's just a skill set we aquired at different times.

    This stuff drives me up the walls:
      - tech CEO's who ditched higher education pushing for STEM/CS in higher education
      - programmers who learned without kid languages advocating for kid languages

    Folks: kids want to do "not for kids" things. Programming is one space (as opposed to, say, operating an escavator or flying an airplane) where you can let them.

    Programming is not the exclusive domain of geniuses. Kids don't need kid-languages. Just let them noodle with something forgiving with a large online userbase. Kids (and young people) these days are smart and — damn! — they cooperate with amazing efficiency. Want teenagers to program? Take something away that they use and see how fast they replace it. Want little kids to program? Why?! The right age to learn to program is "when you want to, need to, or decide it's a good idea." What if they want to learn another language or play soccer instead? Let 'em!

    You want skilled, literate, people? Give kids fewer distractions and more time.

    Necessity is the mother of invention, but boredom is the mother of understanding.

    You're not going to teach them better than if they decide to learn it on their own. I say, let them (and let them not) and stay out of their way!

    • (Score: 3, Interesting) by VLM on Thursday October 31, @07:58PM (5 children)

      by VLM (445) on Thursday October 31, @07:58PM (#1379664)

      Just let them noodle with something forgiving with a large online userbase.

      I would go so far as to mildy challenge them. "Oh I don't think a kid can learn Z80 assembly language, maybe stick to BASIC" Oh yeah, old man? watch this. Or "I don't think you can write that unless you use Pascal wait until you're older they have pascal classes in high school" Or "That computer isn't fast enough to display a 3-d rotating cube and that takes a ton of math that you don't know". Well I figured that out, although it wasn't very fast, true. I wrote a program to discover and print prime numbers starting with a pretty dumb algorithm and ending with a pretty good one with a bit of prodding "as look that over I think you can make it faster", and I sure did, that was a fun optimization project.

      Not just parental. I remember one of the many Wayne Green magazines promoting a capacitor meter that basically used an electrolytic cap as part of a 555 audio oscillator and feed the resulting audio tone into the cassette port and measure the frequency of the audio and calibrate it to known values. Anyway, as I recall the magazine article suggested it would be an interesting project for a college student. Nope, I etched my own circuit board using the pattern in the magazine and a radio shack etching kit (probably could not be sold now a days, and sure as hell would not sell that to a little kid in 2024 LOL, but it was a different, better world back then) and soldered it all up in 8th grade as a middle school student mostly because I figured I could do it and I'm not going to be told I can't, and it worked first time. Hardware project never work first time, software projects never work first time, couldn't believe that thing worked the first time I ran it. Of course it was useless, whats an 8th grade kid going to do with a homemade uncalibrated capacitance meter, but it was fun. It was play. I did it mostly because I was told I couldn't do it and it was a great time.

      Interestingly kids are usually only babied in academics. Certainly not in athletics or performing arts. Getting babied probably does not do them much good.

      • (Score: 0) by Anonymous Coward on Friday November 01, @10:08AM (4 children)

        by Anonymous Coward on Friday November 01, @10:08AM (#1379773)

        LOL. I used to get funny looks when I went into the local chemist (drug store to you yanks) as a young teen and bought cheap nail polish. I worked out it held onto the copper better and was cheaper than the Dalo pens for drawing the circuits. Especially for the larger traces that were for power or ground planes.

        • (Score: 2) by Freeman on Friday November 01, @01:56PM

          by Freeman (732) on Friday November 01, @01:56PM (#1379803) Journal

          We tend to use the word Pharmacy due to the "War on Drugs" that is essentially the American way of dealing with illegal drugs. I certainly wouldn't say to someone that I need to go take my drugs or go get my drugs. Since that isn't making a big enough distinction between illegal drugs and the prescription medication that I would be taking as prescribed by my doctor.

          --
          Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"
        • (Score: 2) by VLM on Friday November 01, @08:39PM (2 children)

          by VLM (445) on Friday November 01, @08:39PM (#1379863)

          Clear nail polish was where its at for old radio/TV tuning coils. You can pay a lot more for "official" Q-dope products (I dont recall if that was the brand name? or model/type of liquid?) and those are guaranteed high dielectric strength and no weird impurities etc, but clear nail polish worked and you can still see whats going on when it dries. You can also drip it into bolts/nuts as an imitation thread-locker. I suppose I could have stolen nail polish from my sister but then I wouldn't be able to see thru it when it dries. My sister was not into clear nail polish so I couldn't steal hers and my wife doesn't do the nail polish thing so I have to buy my own.

          Q-Dope was expensive clear nail polish because "techs will just charge the customer anyway", clear nail polish was the next cheapest because its a cosmetic for girls so they want it perfect, cheapest was plastic model clear coat but I needed my clear cote for my models not for electrics nonsense and the bottles don't come with super handy built in brushes like nail gloss polish.

          This is how you can tell I was a transistor kid not a tube kid because you rarely/never replace transistors so once you peak up an IF stage or similar you almost never retune it but vacuum tube era kids had to retune a bit every time they replaced a tube so they can't use permanent paint to lock tuning coils and caps. Well, it would probably work to replace a tube without re-peaking everything but you know ham radio guys they'll spend five hours on the bench just to brag about their MDS being 1 dB lower than their buddies receiver or they get like 101 watts of transmit power whereas their buddy only gets 100 watts even if no one can tell in practice. Its a good excuse to have fun at the test bench, which I did. I guess vacuum tube kids melted candle wax into tuning coils and tuning caps to lock them in place semi-permanently until the next tube burned out and was replaced; I am not entirely sure.

          I had decent results etching with electrical tape and a knife for groundplanes. At least for RF stuff lets say there's a minor imperfection in the middle of some large groundplane. Doesn't matter much if a square inch of ground plane contains 1 sq in of copper or 0.99 sq inch of copper as long as its mostly copper. Obviously if the whole thing fell off you're in trouble but usually you'd only see pinholes in the tape. People didn't believe that electrical tape can have pinholes but I had the etched PCBs to prove it. Of course that wasn't "real" electrical tape but Radio Shack tape, so who knows. Another strategy I used to save etchant (which was expensive) was old colored model paint. Some color I don't like don't need and its getting old so its "free" to use and I'll have to sandpaper/steel wool the PCB to solder to it anyway so that's OK. I distinctly remember making an amplifier out of a QST article for 2M that I painted gloss violet, no idea why I had a bottle of model paint.

          If you don't remove the paint and solder to the board the smell of burning model paint is really bad, I do recall that. I had the idea it can't tarnish/corrode if I paint it, and I have model paint... that turned out to be a bad idea.

          • (Score: 3, Interesting) by VLM on Friday November 01, @08:43PM

            by VLM (445) on Friday November 01, @08:43PM (#1379864)

            Oh shit weekend starts early here and I forgot my main point. My main point was a "teaching kit for kids" would have included expensive genuine Q-dope products that would have taught the kids absolutely nothing, whereas me innovating and fooling around trying to use plastic model paint taught me quite a few inadvertent things and exercised my creativity. If a "curriculum in a box" included model airplane paint adults would whine about not including Q-dope or the fumes are toxic or some nonsense, although honestly the kids would learn more trying to "innovate" on their own if they left it out entirely. Hey kid try candle wax, it works pretty well as long as the circuit stays around room temp. Or maybe elmers glue would work in a pinch; I bet the water would make stuff corrode but kids would learn something from the corrosion. Kids are pretty creative until the education system beats it out of them, they'd figure something out on their own if they were permitted to do so.

          • (Score: 0) by Anonymous Coward on Friday November 01, @10:41PM

            by Anonymous Coward on Friday November 01, @10:41PM (#1379887)

            Another strategy to save etchant was to clip a lead to a corner of the board and stick about half of the board in a mildly salty solution. Run a DC current through it until that half of the board was etched, then turn it round and do the other half. Not as neat, and if you weren't careful you could etch right through traces. You also generally needed to clean it up with some proper etchant.

              I never bothered beyond trying it out, as I wasn't mass producing boards and ferric chloride wasn't that expensive here.

  • (Score: 2, Interesting) by Anonymous Coward on Friday November 01, @01:24AM

    by Anonymous Coward on Friday November 01, @01:24AM (#1379728)

    Yep, it's all fun and games... until you have to start adulting and learn that work is not necessarily fun. We're probably doing our young people a disservice by trying to make learning fun all the time.

  • (Score: 4, Interesting) by pdfernhout on Friday November 01, @07:18PM

    by pdfernhout (5984) on Friday November 01, @07:18PM (#1379849) Homepage

    Various research shows young kids (like 0-4) are wired to respond to human faces and other interactions. Sure they also are setup to learn from playing with sand, water, sticks, blocks, rocks, lights, simple musical instruments, and so on. Without crucial early social interactions (e.g. peekaboo for babies), children miss out on key social and mental developments. I've seen articles suggesting a push to early academics has stifled children by forcing them to work with symbols and handwriting too early when they have no notion of what symbols stand for (like the energy of sunshine or the mass of a rock). Using tablets early on (let alone social media) also is shown to be harmful to most children. It is probably best if kids avoid most screens until at least age four and then ideally even older than that.

    For me, at maybe age five or six my father supplied wire, switches, batteries, and so on which contributed to an interest in electronics. I also played with a toy called Togl's that is a bit like Lego but more three-dimensional (kind of like assembling Minecraft blocks). In third grade a kind teacher suggested my parents sign up to buy some science-related booklets for me called "The World of...", which they did and I learned a lot from (a booklet series overseen by Lady Plowden it turns out https://en.wikipedia.org/wiki/Bridget_Plowden,_Lady_Plowden [wikipedia.org] https://www.goodreads.com/author/list/7536111.Lady_Plowden [goodreads.com] ). I played with chemistry stuff in fifth grade or so with a classroom science kit. I got a first computer at around age 13-14 or so (a KIM-1). I don't feel that starting computers as a mid-teen in any way disadvantaged me (although the times were different in the 1970s). In fact, based on what I have read, it is possible earlier computer use -- especially of programs which are fancy and you would have no hope of remaking on your own -- might have been discouraging in some ways.

    That said, there are many great simulations out there like Kerbel Space Program that can teach a lot. Or tools like Lego Digital Designer that develop CAD skills. And my wife and I co-wrote a Garden Simulator for older kids and adults (in the 1990s). My own kid learned stuff about programming in part from using Redstone in Minecraft and also using a simulated Forth computer there (among other experiences) moving on to Arduinos and other electronics later..

    Anyway, in general, the later that young kids use computers (and other screens) these days probably the better, given it is an almost absolute certainty they will use them fairly early. Human interactions, experiences in nature, and hands on stuff is so much better for them. Those are the sorts of things young kids are wired to learn from. After age five or six, then there are lots of paths to learning about science and technology depending on interest and opportunities.

    More on Lady Plowden (page took a long time to load):
    https://www.tes.com/magazine/archive/child-centred-innovator-dies [tes.com]
    "LADY Plowden, who has died aged 90, was a woman of great independence, energy and intelligence, whose 1967 report on primary education brought about a revolution in English schools.
          Plucked from upper-middle-class motherhood and good works at 53, Biddy Plowden was to play a leading role in education, social services and, later, broadcasting.
          But the 1,100-page report on primary education - produced after nearly four years of deliberation under her chairmanship - is her most lasting achievement.
          Central to its proposals was the establishment of "educational priority areas", into which extra resources would be channelled to meet special needs. It also called for a large expansion in part-time nursery education, the abolition of corporal punishment ("I do not believe you are going to make a child nicer by beating it," she said), greater involvement for parents, the introduction of two school starting dates a year and the recruitment of ancillary help for teachers.
          It was the emphasis on child-centred, active learning, the belief that children learn better through discovering things themselves than from formal chalk and blackboard methods, that is most widely associated with her. ..."

    Thanks you Lady Plowden for creating such a great educational resource about science for me!

    --
    The biggest challenge of the 21st century: the irony of technologies of abundance used by scarcity-minded people.
(1)