Slashdot Mirror


Ask Slashdot: Best Strategies For Teaching Kids CS Skills With Basic?

beaverdownunder writes We're currently working on developing a teaching platform based around our BASIC interpreter DiscoRunner, and we would love to hear from Slashdot readers as to what methods they've used in the past to teach kids computer science concepts — which worked, what didn't, and why? This will obviously be invaluable to us when it comes to working out the lessons that will be taught in our fight-to-save-the-world-from-evil learning environment, and we would be eternally grateful for any scraps of wisdom you could toss our way.

215 comments

  1. Lock them in room with books about BASIC by Anonymous Coward · · Score: 1

    Slide problems under door. If solved correctly, they get fed. Few years of this and you have a BASIC pro.

    1. Re: Lock them in room with books about BASIC by Anonymous Coward · · Score: 5, Insightful

      That, and give them a problem to solve. Better yet, let them find a problem to solve.

      If there is no drive (i.e. "I just want to learn how to 'program'") they will learn nothing.

      My kid is 7 and is getting pretty darn good with Java... Not because he wanted to learn to program, but because he wanted to mod minecraft. Programming was a side-effect to solving a problem. Now he loves it for what it is... He made the initiative on his own and he's much more appreciative on what he accomplishes.

    2. Re: Lock them in room with books about BASIC by narcc · · Score: 2, Interesting

      That, and give them a problem to solve. Better yet, let them find a problem to solve.

      So much this. Programming is a practical skill, not unlike juggling. There's ultimately very little beginners need to learn, the bulk is merely practice and experience.

      Good beginner problems, unfortunately, are really difficult to find. My go-to problems are "math quiz", "triangle", "pyramid and diamond", "NIM two-players" and "NIM one-player". "Math quiz" and "NIM" are self explanatory. "triangle" and "pyramid and diamond" need a bit of explanation. Essentially the student is challenged to accept a height as input and output a right-triangle (made of asterisks) to the console. The pyramid is a more advanced variation of that, where they output a pyramid instead of a triangle. As a second part of the pyramid puzzle, they're tasked with outputting a diamond (essentially two pyramids with one inverted, forming a diamond.)

    3. Re: Lock them in room with books about BASIC by Alrescha · · Score: 4, Insightful

      "If there is no drive (i.e. "I just want to learn how to 'program'") they will learn nothing."

      One should not discount the motivations of others. "I want to learn how" can be just as effective as "I want to mod minecraft" (if not *more* so).

      A.

      --
      ...bringing you cynical quips since 1998
    4. Re: Lock them in room with books about BASIC by Anonymous Coward · · Score: 1, Insightful

      And if your first computer is a z80 machine with nothing but basic in rom and 4-5 games on tapes then the incentive to code is really, really high. Which explains the coding choices of many in my generation, including myself: basic first, assembler next, then the world.

    5. Re: Lock them in room with books about BASIC by Anonymous Coward · · Score: 0

      Going to have to call bullshit on your 7 year old being good with Java, care to share some of his work?

    6. Re: Lock them in room with books about BASIC by St.Creed · · Score: 2

      In The Netherlands the standard installation in classrooms nowadays is "Gamemaker". You can teach kids a lot about the first steps of programming while they get a game up and running. Takes them at most an hour for a basic tutorial, and then they can add stuff.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    7. Re: Lock them in room with books about BASIC by Snotnose · · Score: 1

      I've got 2 grandkids, twins, 8 years old. I've never played Minecraft. 2 questions: Is Minecraft appropriate for 8 y/o kids who, so far, have never been allowed to play video games? And 2) can kids really learn to program Java via Minecraft?

    8. Re: Lock them in room with books about BASIC by ClickOnThis · · Score: 0

      "triangle" and "pyramid and diamond" need a bit of explanation. Essentially the student is challenged to accept a height as input and output a right-triangle (made of asterisks) to the console. The pyramid is a more advanced variation of that, where they output a pyramid instead of a triangle. As a second part of the pyramid puzzle, they're tasked with outputting a diamond (essentially two pyramids with one inverted, forming a diamond.

      Sounds to me like you mean an isoceles triangle, not a pyramid. The latter is a polyhedron, i.e., it's in 3D.

      --
      If it weren't for deadlines, nothing would be late.
    9. Re: Lock them in room with books about BASIC by narcc · · Score: 0

      If you want to be needless pedantic, that would be an equilateral triangle.

      Why call it a pyramid? Because pyramids are fun and mysterious. Equilateral triangles are decidedly not. Projects like this should be fun. Unnecessary pedantry wouldn't be conducive to learning.

    10. Re: Lock them in room with books about BASIC by narcc · · Score: 1

      I wouldn't. While 7 is unusually young, a lot of Slashdotters weren't much older when they (on their own) learned to program. Under 10 is pretty common. I was around 9. I've seen several people here say they were about 8 when they started programming.

      Kids are pretty damn amazing. Don't be so quick to underestimate them.

    11. Re: Lock them in room with books about BASIC by Mantrid42 · · Score: 1

      I learned some BASIC in high school because it meant I could program my TI-83 in class. For fun, I wrote a program that would solve triangles, and a few more that would output dirty limericks. But I also wrote a program that would solve some physics problems that I didn't really want to learn. My physics teacher figured that if I were smart enough to write the program, I should be allowed to use the program in class. That'll motivate kids.

    12. Re: Lock them in room with books about BASIC by Mantrid42 · · Score: 1

      There are skeletons and zombies, and some sounds that could be scary, but nothing an 8 year old couldn't handle. They won't learn java directly unless they get into mods, which I think a lot of kids do when they see how powerful mods can be. They may, however, learn about basic logic gates, as one of the materials in the game functions like basic circuitry. Plus, it's just a great game for encouraging creativity, and teaching kids how to set long term goals and meet them.

    13. Re: Lock them in room with books about BASIC by ClickOnThis · · Score: 0

      If you want to be needless pedantic, that would be an equilateral triangle.

      No, I meant isoceles (2 equal sides.) That's much easier to do on a text-console with asterisks than an equilateral triangle (3 equal sides.)

      Why call it a pyramid? Because pyramids are fun and mysterious.

      Okay, but if you insist on calling it a pyramid, a simple 2D rendering of one is not necessarily equilateral.

      --
      If it weren't for deadlines, nothing would be late.
    14. Re: Lock them in room with books about BASIC by stifler9999 · · Score: 1

      I was 8 when I got my first BASIC certificate stating I completed all training successfully. I remember the training room being filled with 20+ers :-) Whilst it was only a C64, I loved the

    15. Re: Lock them in room with books about BASIC by Hognoxious · · Score: 2

      While we're on the subject, that should be "needlessly pedantic".

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    16. Re: Lock them in room with books about BASIC by Anonymous Coward · · Score: 0

      Absolutely true - I started playing with BASIC on my dad's C64 at the age of 3 - primarily copying programs our of books etc, but got the basics of for, if, goto etc down early, which paved the way eventually to the coding I did as part of my master's degree in maths :)

    17. Re: Lock them in room with books about BASIC by Half-pint+HAL · · Score: 2

      >shudder<

      I really don't like Gamemaker. The presence of a GUI doesn't immediately make something "visual". They failed to abstract away the most unnatural parts of code, and then hidden away crucial parts of the logic. Why do you have to use a "score" object for your lives? Renaming numerical variables as "score" has no benefits whatsoever, because the default action (set) runs counter to our understanding of scores. Scores may be increased, they may be decreased, and they may be set to zero. The idea of arbitrarily resetting a score to any old number doesn't fit with our intuitive understanding of what a score is.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    18. Re: Lock them in room with books about BASIC by Anonymous Coward · · Score: 0

      That depends on the child.

    19. Re: Lock them in room with books about BASIC by Anonymous Coward · · Score: 0

      By the time he's typed in all the boilerplate & simpleton.factory.mainbuilder shit he'll be a 9 year old.

    20. Re: Lock them in room with books about BASIC by sir-gold · · Score: 1

      Minecraft also has a no-monster mode (don't remember what it's called).

    21. Re: Lock them in room with books about BASIC by tehcyder · · Score: 1

      "If there is no drive (i.e. "I just want to learn how to 'program'") they will learn nothing."

      One should not discount the motivations of others. "I want to learn how" can be just as effective as "I want to mod minecraft" (if not *more* so).

      A.

      Some people can only see education in terms of immediate utility. This is the reason you need a professional teaching profession - to stop the short termism. Too many people would like to reduce education to "can you read enough to understand these instructions".

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    22. Re: Lock them in room with books about BASIC by tehcyder · · Score: 1

      I started playing with BASIC on my dad's C64 at the age of 3 - primarily copying programs our of books etc

      Well, I learned to code 6 months before I was even conceived.

      But you try and tell the young people today that... and they won't believe you.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    23. Re:Lock them in room with books about BASIC by RockDoctor · · Score: 1

      Did you teach them to read first?

      --
      Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
  2. Offer more streams by AmiMoJo · · Score: 1

    While your saving the world idea sounds exciting, it won't appeal to a large segment of your audience. Give them a choice of some other options, maybe something more social.

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    1. Re:Offer more streams by Dutch+Gun · · Score: 1

      I've found that kids will be much more interested in programming if they can create games, because almost every kid on earth enjoys playing them. That's pretty much what I did when teaching myself how to program (my first language was actually AppleBASIC) back in grade school, and this continued even through college - when I had a choice in my projects. I found I was much more willing to challenge myself with difficult problems when I was interested in the task at hand, rather than just completing some random problem handed out. When I taught a college lab myself, the students also seemed pretty enthusiastic about their programming projects when they could choose among various games to program, or working on their own original designs with approval.

      Many of your lessons can revolve around creating very simple games or interesting visual displays (such as drawing fractal patterns), and then lead up to larger projects that they finish themselves, preferably in small groups. For later projects, I'd recommend that you let the students choose among several different games that you've specified in some detail and have working examples of. This will prevent the students from trying to create a game too far above or below their capabilities. You didn't mention what ages the kids are, so you'll have to determine if that's appropriate for your kids age group. For older students, you may wish to allow them to choose their own project, but the instructor would have to approve after a detailed proposal has been submitted.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    2. Re:Offer more streams by Demonoid-Penguin · · Score: 3, Insightful

      While your saving the world idea sounds exciting, it won't appeal to a large segment of your audience. Give them a choice of some other options, maybe something more social.

      Perhaps - before you even attempt that:-

      • Provide licensing information on your website
      • Fix some "basic" problems
      • mention that it is Apple BASIC
      • differentiate it from BASIC4GL
      • It is /. - tell us about the code and who wrote it.

      Fix those point and you'll have a product that stands head and shoulders against the competition. Which isn't hard - most of the edutainment market is utter crap (I work with a large number of schools that buy utter shit on the basis of "social-networking" merit points)
      Until then it 'seems' like you (Melody and Anne?) are just spamming Slashdot to promote a 2 month old project.

      Not that the idea isn't without merit - it's just that the "edutainment" market is overcrowded with "outsourced" get-rich-quick, all-froth-(and social marketing) and-no-beer closed-source schemes knocked-up-in-an-afternoon that leave a trail of broken promises in schools already hard pressed to do the bare minimum with their tiny budgets

      Good luck

      "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration" ~ Edsger W. Dijkstra

    3. Re:Offer more streams by BarbaraHudson · · Score: 4, Informative

      It's Melody Ayres-Griffiths. She's promoting her new (started setting ip up in December) pixelwitches, which will teach you "training in graphic design, music / audio and videography on Macintosh and Windows-based PCs for $97 per hour." And let's not forget drupal and wordpress work.

      But from the look of their discorunner site (hint - she used to do music stuff) she needs someone to tell her that the '90s wants their butt-ugly wordpress theme back.

      Archive org shows that the original owner of discorunner.com let it expire in the spring of 2014. It was taken over by the new owner on January 15th of this year. The previous site had to do with ... wait for it ... jogging.

      Slashvertisement, pure and simple.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    4. Re:Offer more streams by St.Creed · · Score: 1

      True - which is why Gamemaker is installed often in classrooms. Gives you a running game in basically an hour. After that, you get to add stuff and then you start programming.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    5. Re:Offer more streams by Demonoid-Penguin · · Score: 3, Interesting

      It's Melody Ayres-Griffiths.

      I wasn't sure if it was Melody, or her partner April. I know 'of' them (I have a voluntary position on a community funding body, so I've seen previous "software" by them) - so I chose my words carefully when describing the "market", the nature of some (many?) of those trying to, um, mine it - and what I'd want to see before I'd vote in favour of funding it. Melody(?) has previously promoted this latest 'project' on /. celebrating 1000 downloads (by who?).

      Whois showed the current registration was recent , hence my comment about, um, young code.

      DiscoRunner is different because:-

      • 99.5% compatible with the original languages
      • multi dialect (well, two, sort of - so far....)
      • BASIC programs are saved as text files (revolutionary! paradigm shift!! No more .BAS binaries!! [sigh])
      • various other breakthroughs

      Yes, I'm a jaded cynic (and Australian).

    6. Re:Offer more streams by William+Baric · · Score: 1

      Where does this obsession about social activities come from? I'll agree girls generally prefer social activities, but there are still those things we call "boys".

    7. Re:Offer more streams by BarbaraHudson · · Score: 1

      I believe they're both involved, but the two sites (discowhatevah and pixelwitches) both give Mel as the contact.

      BASIC programs are saved as text files (revolutionary! paradigm shift!! No more .BAS binaries!! [sigh])

      Yeah - that's about as "new" as my pre-PC Radio Scrap computer.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    8. Re:Offer more streams by Demonoid-Penguin · · Score: 1

      I believe they're both involved, but the two sites (discowhatevah and pixelwitches) both give Mel as the contact.

      I remember Mel, kind of full-on (shades of Christopher Skase) - she's the does the thinking and talking. Pixelwitches how, um, original.

      "those that can do, and those that can't, teach". i.e. advertise your WordPress version, don't keep it up-to-date, use images where ever possible instead of pesky text, alt tags are for wimps, CSS means make shit up - maybe it'll parse [sigh]. I'm guessing "select" contract work means "if you're gullible".

      Dear Slashdot, please do my homework - I've got a killer idea for PixelCamps (low-resolution only), should make a million. Point me at a training program I can scrape for my next arts grant application.

      Strange that PixelWichrrs don't list a portfolio Cough

      I've seen worse. I'll stop now.

    9. Re:Offer more streams by serviscope_minor · · Score: 1

      "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration" ~ Edsger W. Dijkstra

      1975 called and they want their very out of date quotes back.

      Seriously, that comment was made in 1975, when the state of the art in BASIC was more or less "goto". By 1982, BASIC variants with proper named functions and procedures existed. It also reduced the impact of line numbers drastically with the "RENUMBER" command which renumbered and tracked gotos and gosubs (excluding computed gotos). That was BBC Basic.

      By 1988 QuickBasic 4.5 was released (later adapted to be qbasic), which contained proper nested blocks, and made line numbers completely optional. I'm sure there were earlier versions doing such things (certainly earlier versions of QuickBasic), but many people here will be familiar with this one and its derivatives.

      That was a year before ANSI C and a decade before standard C++! Modern, and by modern, I mean 1988 eara basic is so far beyond the language referred to in the original quote as to make it meaningless.

      --
      SJW n. One who posts facts.
    10. Re:Offer more streams by Demonoid-Penguin · · Score: 2

      "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration" ~ Edsger W. Dijkstra

      1975 called and they want their very out of date quotes back.

      And you're still banging the BASIC is good - oh, look it's now in 256 colours drum? I guess in your fanboi haste you missed where I linked to the Wikipedia page on BASIC - but don't let it stop you from spewing realms of your BASIC trivia creds (you forgot the beauty and joys of VisualBASIC). BASIC has new features and Barbie does IT. Grow up and eat your own dog food - 'cause 1988 wants BASIC back (and it can keep it). Maybe try getting children interested in any version of BASIC when they can choose from modern scripted languages (call it - testing your beliefs, I have and I know the answer). Unless you're committed to the 90's (the high point of your life?) when music was good, and Linux and life was simple (for simple people in a land of lollipops and unicorns).

    11. Re:Offer more streams by Half-pint+HAL · · Score: 2

      "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration" ~ Edsger W. Dijkstra

      1975 called and they want their very out of date quotes back.

      Actually, this is only one from a series of "definitions" Dijkstra made for a humorous glossary of computer languages on an old mailing list.

      Seriously, that comment was made in 1975, when the state of the art in BASIC was more or less "goto". By 1982, BASIC variants with proper named functions and procedures existed. It also reduced the impact of line numbers drastically with the "RENUMBER" command which renumbered and tracked gotos and gosubs (excluding computed gotos). That was BBC Basic.

      By 1988 QuickBasic 4.5 was released (later adapted to be qbasic), which contained proper nested blocks, and made line numbers completely optional. I'm sure there were earlier versions doing such things (certainly earlier versions of QuickBasic), but many people here will be familiar with this one and its derivatives.

      The system alluded to in the summary/question is an Apple ][ BASIC emulator. It is not BBC BASIC. It is not QuickBasic. Apple ][ BASIC. With emulated Apple ][ display hardware. This is not something that will grab kids' attention.

      Besides, there comes a point when either you've changed BASIC to such a point that it's not BASIC any more, or it's a clumsy morass of different tagged-on paradigms.

      Is BASIC still BASIC if you add an INCLUDE keyword? The fundamental paradigm of BASIC was that of the monolithic code block. Even GOSUB subroutines didn't have a fixed entry point -- only a fixed RETURN point.

      Doing stuff early on with maps and filters is a better way of getting kids' attention, as all of a sudden, you're doing a lot of work in next to no time at all.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    12. Re:Offer more streams by Half-pint+HAL · · Score: 1

      Boys are social too. They flock around like birds, climbing on things together and throwing things at each other.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    13. Re:Offer more streams by Anonymous Coward · · Score: 0

      This is not something that will grab kids' attention.

      I pulled a TRS-80 Model III out of the closet a couple weeks ago and showed it to my 6 yr old daughter. She loves it and wants to play with it all the time. I have one of those "kids learn TRS-80" books that came with it (I kind of inherited the computer). Most of the programs are less than a page long, easy to understand, and a very good beginner understanding to what programming is and how computers execute computer programs. She loves the build-your-own-monster (mad-lib-like) program and the number guessing program. It is simple, text only, and it definitely has her attention. After all, she's never seen anything like it before. She said to me yesterday, "it's simple, you just type commands and it does what you tell it." That was certainly my first reaction to programming too.

    14. Re:Offer more streams by serviscope_minor · · Score: 1

      And you're still banging the BASIC is good

      u wot m8? Where did you even get that from?

      Dijkstra was the proponent of structured programming. BASIC circa 1975 was about the antethisis of what he pushed since it had goto and little else. By 1985, BASIC was a complete structured language with almost non existent line numbers (optional and strongly discouraged), named functions and procedures, block structuring and so on and so forth, which was in fact the very thing that Dijkstra was pushing.

      Seriously though whether or not BASIC is objectively (lol) a good or bad language, that quote is about as relevant about complaints about FORTRAN 77 are today and to modern Fortran.

      oh, look it's now in 256 colours drum? I guess in your fanboi haste

      And what are you then, a hater? Seriously, how does pointing out that a glib quite from 1975 is completely and utterly irrelevant to incarnations of the language which have advanced by 40 years make me a fanboi?

      blah blah blah

      Yep modern scripting language may well be better but you know what, that still doesn't make that glib and fantastically out of date quote any more relevent to the modern day or even 30 year old versions of the language.

      From what I gather, VB.net is pretty much isomorphic to C#. I hear C# is a decent enough language. That pretty much implies VB.net is a decent enough language with a non curly-brace syntax. But it's certainly every bit as powerful as C#.

      and Barbie does IT

      Does she? Sure that's the title of the book, but it looks very much like management, MBA style.

      Grow up and eat your own dog food

      Surely that would involve me using the language I'm trying to foist on other people? Well, I'm a fan of C++, awk and BASH and always encourage others to use them where appropriate. So I do, though I can't claim C++ is really my own dogfood since my name ain't Bjarne.

      --
      SJW n. One who posts facts.
    15. Re:Offer more streams by William+Baric · · Score: 1

      In that way, programming is a social activity. Boys compare their works, they talk about the problems they encountered, the bugs they had and the solutions they used. But that's not what the original poster had in mind. What he had in mind was something more like what girls like to do. It was about not doing any task alone, constantly sharing their thoughts and feelings with everyone, learning how to reach a consensus without confrontations and most importantly, doing all this without any form of competition.

  3. Please, DIAF by BarbaraHudson · · Score: 0, Flamebait

    By the time these kids grow up, "programming skills" will be obsolete, same as slide rules became obsolete a generation ago. Let the kids be kids, and concentrate on the basics. There are too many supposedly intelligent adults here on slashdot who still can't tell the difference between "brake" and "break", "rain", "reign", and "rein", etc.

    For once, don't "think of the children." There are already too many people trying to make money for themselves by pushing the next generation into being low-paid code monkeys.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    1. Re: Please, DIAF by Virus+Hunter · · Score: 2

      People have been saying this for 60 years, and the reverse has happened. As programmable devices continue to propogate the need for programmers only grows. It's becoming standard for all medium to large sized businesses to have a software department, so they can get the software they need to run their business developed. I don't see that trend reversing anytime soon.

    2. Re:Please, DIAF by Anonymous Coward · · Score: 0

      Your comment was very rude. You should apologize. If you don't like something, why not just keep your ugly old mouth shut?

    3. Re:Please, DIAF by narcc · · Score: 2

      By the time these kids grow up, "programming skills" will be obsolete

      The essential skills are the same now as they were 60 years ago. What makes you think that will change in the next 10-15 years?

    4. Re:Please, DIAF by Anonymous Coward · · Score: 1

      > By the time these kids grow up, "programming skills" will be obsolete, same as slide rules became obsolete a generation ago. Let the kids be kids, and
      > concentrate on the basics. There are too many supposedly intelligent adults here on slashdot who still can't tell the difference between "brake" and "break",
      > "rain", "reign", and "rein", etc.

      I don't think you can predict what is going to happen in the future. Please prove I am wrong by giving me the winning lottery numbers.

    5. Re:Please, DIAF by Chandon+Seldon · · Score: 1

      And who, exactly, would have been hurt by learning to use a slide rule to solve problems 40 years ago?

      Sure, the slide rule skills themselves aren't terribly valuable - although it's not a bad tool to reach for occasionally if you have one on your desk - but the problems and solution methods haven't really changed. Math is still a pretty damn useful thing to know.

      Programming has been pretty similar over the same timescale. Specific tools come and go, but the general problems and solutions have only evolved. Hell, if you had learned to program back when slide rules were still common you probably would have learned FORTRAN. FORTRAN is still valuable to this day, because the problems haven't changed and the solutions still work. At most, you'd move to something like C++ or OpenCL for those problems, which is a smaller change than moving from a slide rule to a graphing calculator or computer math package would be.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    6. Re:Please, DIAF by BlackPignouf · · Score: 1

      Right now, a lot of us sit in front of a desk, while oil does most of the job for us(see http://en.wikipedia.org/wiki/E...).
      It might change in one or 2 decades.

    7. Re:Please, DIAF by Simon+Brooke · · Score: 1

      By the time these kids grow up, "programming skills" will be obsolete.

      That's what they told me when I was at school. I'll be sixty this year. I don't see programming becoming obsolete any time soon.

      --
      I'm old enough to remember when discussions on Slashdot were well informed.
    8. Re: Please, DIAF by BarbaraHudson · · Score: 1

      Still in denial over outsourcing and off-shoring, I see.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    9. Re:Please, DIAF by Anonymous Coward · · Score: 0

      From 1995 to 2000 we had the combined dot com/telecom (VOIP)/Y2K boom. Then in 2001 it crashed. After a modest recovery, by the middle of the decade US software companies large and small were busy shifting as many jobs offshore to India and China as they could. After all, those countries had people with advanced CS degrees earning less than 10-15 cents on the dollar compared to average US tech workers... and that's still true of a lot of countries around the world, although I think the gap for India now a bit less, probably more like 25 cents on the dollar.

      During the mid-naughts, several of my coworkers left to go to law school. Law school! Another dropped out for a graduate program in biology.

      So as far as software being a dead end field, I've heard it before, and I'm sure I'll hear it again years down the road. I'm staying.

    10. Re:Please, DIAF by BarbaraHudson · · Score: 1
      Maybe you should have investigated the person behind this (Melody Ayres-Griffiths) before opening your "ugly old mouth"? It's a one-person startup from December, who is hoping to charge $97/hr to

      PixelWitches provides one-on-one training in graphic design, music / audio and videography on Macintosh and Windows-based PCs for $97 per hour.

      Oh, and also drupal, wordpress

      Judging by how ugly her Discorunner website is, they need to learn, not teach, graphic design. Then again, it must take some "skill" to make wordpress look more than usually like shite.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    11. Re:Please, DIAF by Anonymous Coward · · Score: 0

      Your comment was very rude. You should apologize. If you don't like something, why not just keep your ugly old mouth shut?

      Bully for you! If you don't like other people's opinions - take you brown shirt and jack boots, and fuck off.

    12. Re:Please, DIAF by BarbaraHudson · · Score: 1

      Many programming skills are already marginalized. I love writing in assembler because of the clarity (what I ask for is what I get - or else!) but the number of jobs, even in the embedded space, is declining. And how's the demand going for dBase, clipper, and Foxbase programmers? Adobe AIR? Object Pascal? ColdFusion? ActiveX?

      But I don't have to predict the future to know that off-shoring is going to continue, and that programming is fast becoming a mooks game.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    13. Re:Please, DIAF by BarbaraHudson · · Score: 2

      Slide rules are an excellent example because they went from a must have to a nice to have to a wtf is a slide rule.

      The demand for fortran programmers is a lot lower than it was 40 years ago. And yes, the problems have changed, and the old solutions no longer work in new problem domains. Nobody is developing web sites or apps in fortran or with a slide rule.

      The simple fact is that software development will continue to be off-shored to wherever is cheaper, until such time as it is automated and all those coding jobs implode.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    14. Re: Please, DIAF by MaxwellStreet · · Score: 1

      Because there's no reason to learn programming unless you're going to make a living at it?

      Maybe it's a useful set of tools for viewing the world and solving problems.

      Or maybe it's just plain fun.

      Yeesh.

    15. Re:Please, DIAF by BarbaraHudson · · Score: 1

      No, you're not staying. Once you hit the magic number (age + perceived obsolescence + cost of benefits + likelihood of having quality of life concerns + salary + perceived inflexibility) .GT. availability of new cannon fodder who don't know any better , you're gone whether you like it or not.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    16. Re: Please, DIAF by BarbaraHudson · · Score: 2
      Those who want to learn it on their own, will learn it on their own, when they want to. This whole "OMG if my kids can't code they'll be disadvantaged for life" stupidity has to be called out for what it is. Just like the person pushing this particular thing as a way to advertise for her $97/hour one on one training sessions on graphic design and music / audio and videography on Macintosh and Windows-based PCs

      Hint - she only started to get set up over the last few months. This article is a slashvertisement for her business.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    17. Re:Please, DIAF by fisted · · Score: 1

      I love writing in assembler

      Now that's very interesting, but I for one prefer to write in compiler.

    18. Re: Please, DIAF by MaxwellStreet · · Score: 2

      Isn't it easier to just take a question at face value?

      While you might be right about the motivation, if you're correct then perhaps it's something to be taken up with the editing staff? You could add your voice to the other commenters headed in that direction.

      (Aside, the market will ruthlessly sort out whether they provide a service worth the prices they're asking. Me? I find watching the futile struggle from a distance can sweeten that bilious taste in your mouth. But be warned - it can backfire if they succeed.)

      I wish you peace.

    19. Re: Please, DIAF by Anonymous Coward · · Score: 0

      Still in denial over outsourcing and off-shoring, I see.

      Actually I'm going off of the evidence here. I can use google, and a quick google search will show that Software Engineers have an unemployment rate of 2.7%, and a median income of $92,000. That's pretty good. On a personal level I've seen my own income more than double over the course of my short career. I'm guessing you just weren't able to keep up and you got replaced. Sorry about that.

      Oh, here's my source: http://money.usnews.com/careers/best-jobs/software-developer

    20. Re: Please, DIAF by BarbaraHudson · · Score: 2

      As I pointed out, "This whole 'OMG if my kids can't code they'll be disadvantaged for life' stupidity has to be called out for what it is." And that includes those trying to profit from it in various ways - and not just the big boys either.

      This is a blatant slashvertisement - that doesn't mean that it's in any way approved by the editors. It means that it's an article that was submitted by the submitter with the express purpose of pimping her new project.

      So, submitting it, it's fair bait for getting whacked. Same as all those stupid "Look KICKSTARTER OMG" articles.

      They're both binspam. While I usually down-mod them in the firehose, (same as those I want to learn how to code so I can make a zillion bux because my career sux), every once in a while I bump a really bad one up in the hope that it will make it to the front page for the shellacking it deserves.

      Haven't been disappointed yet :-)

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    21. Re: Please, DIAF by Anonymous Coward · · Score: 1

      Still in denial over outsourcing and off-shoring, I see.

      Having made hiring decisions before, people who worry about competition with off-shore workers are the people who skills are no better than the off-shore workers. They pretty much deserve to be worried. There's plenty of high paying jobs for people who know their stuff.

    22. Re: Please, DIAF by BarbaraHudson · · Score: 1
      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    23. Re:Please, DIAF by unimacs · · Score: 2

      I used to joke with my wife that when I turned 40 I'd have to grow a ponytail to still be considered relevant as a programmer. My 40th birthday was a decade ago and I haven't had to grow the ponytail yet.

      The book "Decline and Fall of the American Programmer" was written in 1992. The author got it wrong because he didn't understand how the Internet, smart phones, and now "smart everything" were going to push software into so much of our lives. He was wrong in 1992 and you can find slashdot articles saying pretty much the same thing in the early 2000s. They were wrong too.

      How long will software people be in demand? Who can say? Based on the last 50 years or so the demand has been pretty good (with some downturns here and there). Yes, ageism is a danger and yes you may find yourself with skills no longer needed, but looking forward there aren't many vocation choices that don't involve some sort of risk.

      If you're good at it, keep your skills fresh, and pick good companies to work for, you can make a career out of it. Having other skills doesn't hurt either.

      While I don't think that a huge emphasis on coding for kids (who aren't otherwise interested) is a good idea, they should definitely get some exposure to it. Just like they should get exposure to art, music, literature, or even robotics. I also believe that there are huge opportunities for those who can combine programming with expertise in another field.

      I have a son who is in his early teens. He really has no idea what wants to do for a living yet and that's fine. He has a vague notion that he might want to do something with computers. He's a reasonably smart kid but I don't think that's his calling. He's kinda sorta interested in electronics and will mess around with Lego Mindstorms with some prompting. He's had a little experience with programming but doesn't have nearly the excitement over it that I did at his age. Still, I've encouraged him to take a one semester course at his high school. I think that will tell him if coding is something he wants to pursue further or not, even as a hobby.

    24. Re: Please, DIAF by narcc · · Score: 1

      As I pointed out, "This whole 'OMG if my kids can't code they'll be disadvantaged for life' stupidity has to be called out for what it is."

      Uh, oh. Sounds like *someone* only has a single skill and is worried about their future job security!

      Yes, those kids will be disadvantaged. Programming and related skills offer numerous advantages regardless of their future career or station in life.

      It does not make much difference what a person studies. All knowledge is related, and the man who studies anything, if he keeps at it, will become learned. --Hypatia of Alexandria

      I'm a firm believer in the value of interdisciplinary study. Even if those kids never touch a computer again, that experience will undoubtedly enrich future learning experiences, creative exercises, and other aspects of their lives.

    25. Re:Please, DIAF by Anonymous Coward · · Score: 0

      I'm already old enough to get nuisance solicitations from AARP.

      - OP

    26. Re:Please, DIAF by narcc · · Score: 1

      I hate to break it to you, but those skills transfer really, really, easily.

      Do you struggle with, say, bounded iteration every time you learn a new language? I seriously doubt that!

      I've always maintained that anyone can learn how to program. Equally, I've never wavered from my conviction that it doesn't matter what language you learn first, the essential skills easily transfer to other languages. (Though some languages, and paradigms, are admittedly more beginner-friendly than others, with imperative languages leading the 'ease-of-use' charge. Ultimately, it doesn't matter what language they learn first.)

    27. Re:Please, DIAF by Hognoxious · · Score: 1

      Slide rules are an excellent example because they went from a must have to a nice to have to a wtf is a slide rule.

      Oh, you've only used a slide rule 2.7? We're looking for someone with experience on 3.2.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    28. Re:Please, DIAF by Half-pint+HAL · · Score: 1

      By the time these kids grow up, "programming skills" will be obsolete, same as slide rules became obsolete a generation ago. Let the kids be kids, and concentrate on the basics. There are too many supposedly intelligent adults here on slashdot who still can't tell the difference between "brake" and "break", "rain", "reign", and "rein", etc.

      "Let the kids be kids"?!?!? Are you serious? What is it that makes arithmetic suitable for kids? Baby chimpanzees don't do it -- it's something we've created, and we teach because we believe it has value.

      Spelling may be an issue (in no small part because English is a stupid language*) but using that as a catchall excuse for dropping [[insert name of subject here]] from the curriculum has no logical grounding. The problem with English language lessons is not that they're too short, it's that the techniques used are ineffective. There is no benefit to be had in having longer badly taught lessons.

      The problem in this thread isn't "teach teh k1dz teh c0d3z" but the insistence of the original poster of using a buggy implementation of an obsolete language (that wasn't even a good language in its heyday) simply because it's "her baby". OK, maybe not just that. It's "I learnt this way, so this way must be best" syndrome -- the same idea that caused resistance to the phasing out of other obsolete technologies like slide-rules, log tables and abacuses. Just because something was part of one person's education doesn't mean it is fundamental to the education process. All too often we learn in spite of teaching rather than because of it.

      [ * I teach foreigners** English for a living, and I have to keep shrugging my shoulders about the sheer mindlessness of the spelling system. ** "foreign" has nothing to do with "reign", but some idiot a couple of hundred years ago thought it did, so changed its spelling to match. Mindlessness. ]

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    29. Re: Please, DIAF by serviscope_minor · · Score: 1

      Those who want to learn it on their own, will learn it on their own, when they want to.

      Well, you could say that about absoloutely anything, and if it's the case then school as a whole is pointless[*]. I think it's every bit as important to teach it as it is to teach maths, sciences, history, native languages, how to make stuff, foreign languages and whatever else is taught. It provides a way of thinking which is not generally taught in other subjects. And dince were surrounded with such things it's also teaching about the way a good amount of the world works.

      So, in other words, I disagree. I don't see what's so special about programming that it shouldn't be taught in school.

      [*]There is an almost infinite amount wrong with the way school is done, but that doesn't mean I think the idea is pointless.

      --
      SJW n. One who posts facts.
    30. Re: Please, DIAF by BarbaraHudson · · Score: 1

      Uh, oh. Sounds like *someone* only has a single skill and is worried about their future job security!

      So, instead of making a counter-argument, you attack my motives? Wow, just wow.

      It does not make much difference what a person studies. All knowledge is related, and the man who studies anything, if he keeps at it, will become learned. --Hypatia of Alexandria

      He's dead, Jim. But seriously, not all knowledge has equal value to the individual. Every pursuit of knowledge in one domain has a "lost opportunity cost" in that the time and energy could have been devoted to other knowledge or endeavors. And then there are the idiots who study astrology, theology, etc.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    31. Re: Please, DIAF by BarbaraHudson · · Score: 1

      That's what electronic engineers said. Now even Apple outsources the internal design of their electronics to ODMs.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    32. Re:Please, DIAF by BarbaraHudson · · Score: 1

      Come on - there are people who can't even figure out how to use a simple flip phone. Your estimation of the ability of the average person is demonstrably wrong - look at how many guys can't even figure out how to change to roll of toilet paper.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    33. Re: Please, DIAF by Half-pint+HAL · · Score: 1

      But learning programming teaches process thinking, which is an invaluable skill.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    34. Re: Please, DIAF by BarbaraHudson · · Score: 1

      But learning programming teaches process thinking, which is an invaluable skill.

      No it doesn't. Kids learn that long before they go to school. "If I do x, I will get y." "If I pull the dog's tail too many times, he'll lose his patience with me." "I can get more cookies if I say please." "I can get even MORE cookies if I invite friends over and we get the whole bag." "Holding my breath until I turn blue no longer works - I'll try throwing myself on the floor." "Taking a tantrum no longer works - maybe I'll say please." "If I say 'are we there yet' often enough, they'll stop and buy me an ice cream cone to shut me up." "Baths are better with a rubber duckie." "I guess I shouldn't have helped by emptying my diaper myself." "I guess I shouldn't have helped by painting the cat." "I'm not going to tell them I also painted the dog." "He followed me home" (said while dragging dog behind me on a rope).

      Kids learn at a young age to try different strategies to get an optimal (for them) outcome. They learn what processes for getting their way work, and what don't. Sure, you can map it out with a bunch of conditionals, loops, tests, and switch statements, but kids have already internalized the whole thing far better than you can map it out.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    35. Re: Please, DIAF by Half-pint+HAL · · Score: 1
      Process_thinking != cause_and_effect

      The problem with many laws and corporate policies is that the letter and spirit are not properly aligned. People write rules that can be gamed. "You know what I mean" doesn't work for computers, and it doesn't work for big organisations.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    36. Re: Please, DIAF by narcc · · Score: 1

      He's dead, Jim.

      That should be "She's dead". Do you think only "idiots" study history as well?

      And then there are the idiots who study astrology, theology, etc.

      Speaking of history, you'll find that many of histories greatest minds were theologians. You can even still see that influence in modern science.

    37. Re: Please, DIAF by BarbaraHudson · · Score: 1

      All processes are based on cause and effect.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    38. Re: Please, DIAF by BarbaraHudson · · Score: 1

      And then there are the idiots who study astrology, theology, etc.

      Speaking of history, you'll find that many of histories greatest minds were theologians. You can even still see that influence in modern science.

      So what does that "prove?" That the "great minds" of the past were equally subjected to the stupidity and / or pressures of their time - nothing more, nothing less. "It still moves."

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    39. Re: Please, DIAF by narcc · · Score: 1

      Since you missed it:

      You can even still see that influence in modern science.

      I would recommend you take some time to look in to the history and philosophy of science. It's quite enlightening. If you can't afford a proper education, I can make some reading recommendations for you.

    40. Re: Please, DIAF by BarbaraHudson · · Score: 1

      Already have, and I'm not impressed. It has taken a long time to get to the point where a significant portion of the world has abandoned superstition - hopefully, the rest will eventually see that there is no such thing as a "God" or "Force" or whatever.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    41. Re: Please, DIAF by narcc · · Score: 1

      Ah, I figured you were an autodidact. It explains SO much.

      Anyhow, I'm sorry that you're so disadvantaged.

    42. Re: Please, DIAF by BarbaraHudson · · Score: 1

      Two words - grow up :-)

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    43. Re: Please, DIAF by tehcyder · · Score: 1

      People have been saying this for 60 years, and the reverse has happened. As programmable devices continue to propogate the need for programmers only grows. It's becoming standard for all medium to large sized businesses to have a software department, so they can get the software they need to run their business developed. I don't see that trend reversing anytime soon.

      A business needs software the same way it needs trucks, desks and toilet rolls. That doesn't mean that every kid has to be a truck driver, furniture delivery guy and sanitary product salesman.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    44. Re: Please, DIAF by tehcyder · · Score: 1

      Since you missed it:

      You can even still see that influence in modern science.

      I would recommend you take some time to look in to the history and philosophy of science. It's quite enlightening. If you can't afford a proper education, I can make some reading recommendations for you.

      Miaow!

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    45. Re:Please, DIAF by tehcyder · · Score: 1

      By the time these kids grow up, "programming skills" will be obsolete.

      That's what they told me when I was at school. I'll be sixty this year. I don't see programming becoming obsolete any time soon.

      Yes, but despite the ubiquity of computing devices compared with fifty years ago, most (non geeks) still struggle to set up their TV properly.

      It has been said countless times before, but the relationship between being a computer user and programmer is analogous to that between being a car driver and a proper mechanic.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    46. Re:Please, DIAF by tehcyder · · Score: 1

      [ * I teach foreigners** English for a living, and I have to keep shrugging my shoulders about the sheer mindlessness of the spelling system. ** "foreign" has nothing to do with "reign", but some idiot a couple of hundred years ago thought it did, so changed its spelling to match. Mindlessness. ]

      Maybe, but it means more work for those teaching English.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    47. Re: Please, DIAF by Half-pint+HAL · · Score: 1

      All processes are based on cause and effect.

      And all calculus is based on arithmetic. This doesn't mean calculus is arithmetic.

      Natural cause-and-effect is kind of fuzzy and can lead to incorrect generalisations, which we call "superstitions"; but process thinking has to be rigid, complete and unambiguous.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    48. Re: Please, DIAF by BarbaraHudson · · Score: 1

      Natural cause-and-effect is kind of fuzzy and can lead to incorrect generalisations, which we call "superstitions"; but process thinking has to be rigid, complete and unambiguous.

      I guess you never heard of the expression "In theory, theory and practice should be the same, whereas in fact they're not."

      Cause and effect does not lead to "incorrect generalizations" - those are observer errors or biases.

      And "process thinking" has all the same problems of observer errors and biases. People make mistakes all the time. Until you can come up with the perfect person, you cannot guarantee that any process is "complete and unambiguous". Also, it's a fundamental error to create a process that is rigid - things that are rigid tend to break.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  4. Again? by Anonymous Coward · · Score: 0

    Why do these questions keep coming up, repeatedly on /.? Can't people use the search box and find the answers they need?

    10 PRINT "Child needs to want to code"
    20 PRINT "Child needs to be old enough to have critical thinking skills"
    30 PRINT "Child needs to WANT to code!"
    40 PRINT "Teacher needs to set proper expectations (no, you're not going to create a WoW type game in six weeks)"
    50 PRINT "Child needs to WANT TO CODE!!!"
    60 PRINT "Coding as part of a larger problem is a good approach as to a pure, all coding approach"
    70 PRINT "CHILD NEEDS TO WANT TO CODE!!!"
    80 GOTO 70

  5. Teach them GOTO! by ShaunC · · Score: 3, Insightful

    GOTO is well-known as a beneficial logical statement. I suppose in this day and age, we're going to need something like this:

    10 PRINT "GIRLS KAN CODE 2"
    20 GOTO 10

    --
    Thanks to the War on Drugs, it's easier to buy meth than it is to buy cold medicine!
    1. Re:Teach them GOTO! by Pro923 · · Score: 0

      Remember if you put the semi-colon after the print you could get the print to go diagonal all across the screen? 10 PRINT "GIRLS KAN CODE 2, but poorly "; 20 GOTO 10

  6. Give students license to solve problems by Anonymous Coward · · Score: 0

    My daughter took a programming class using Basic during her freshman year. I encouraged her to take it, so she could see that there are multiple ways of solving problems. Unfortunately the teacher was having none of this. He dictated to his students exactly how he wanted them to write the programs. This was very disappointing and incredibly discouraging for my daughter. Let the students struggle a little bit, and let them find ways to complete their assignments. When they're done present some of the students' solutions to the class, and talk about how they solved the assignment and discuss alternatives. You'll need to be respectful. People that are new to programming can be pretty sensitive about their code, so make sure you take that into account. You don't want to make somebody feel stupid, especially when they probably worked very hard on completing the assignment.

    Lastly, maybe you should consider a different language. Maybe you should consider Python or even C++.

    1. Re:Give students license to solve problems by narcc · · Score: 1

      Both of those are absolutely awful beginner languages. BASIC, in contrast, is a really good fit as it has no "cruft". (If you've ever taught Java as a first language, you know exactly what I'm talking about.)

    2. Re:Give students license to solve problems by narcc · · Score: 1

      Deja Vu...

    3. Re:Give students license to solve problems by HiThere · · Score: 1

      Traditional BASIC was a lousy language for learning to program. Modern C++ is, if anything, worse.

      I can think of several reasonable starting points ranging from MIX, through Scheme, C, and Smalltalk (Squeak). Each have their benefits, but were I designing the class I'd probably start with MIX, move onto Scheme (probably Racket) and then do most of the work in C, with an end segment on how to adapt your C code to run under C++. C++ would be an advanced course...or two. Or you might make Erlang your first advanced course, and C++ your second.

      Python has lots of good points if you can already program, but it hides too many details about what's going on under the hood, and this inhibits understanding. (That's why I'd start with MIX. The Apple ][ assembler would be even better, but the machine it runs on isn't reasonably available anymore. The M68000 assembler would also be a good starting point, but the i8080 much less so. Too much hardware specificity. Again, however, those machines are no longer generally available, and assemblers for current machines are as baroque as Objective-C++.)

      I can think of *no* benefit to using any dialect of BASIC with which I am familiar.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    4. Re:Give students license to solve problems by Anonymous Coward · · Score: 0

      Isn't the problem obvious? That teacher was clearly a cis shitlord misogynist, trying to further the white male patriarchy by discouraging his female students from having any interest in CS. You should file criminal charges and shame that man on social media for all the world to see, so he gets his entire career ruined! Any male who doesn't cater to a female's every whim is a rapist who should be in prison for life. </academia>

      That said...

      He dictated to his students exactly how he wanted them to write the programs. This was very disappointing and incredibly discouraging for my daughter.

      I remember in the early 80s when I was first exposed to BASIC. The teacher didn't really teach us anything, she gave us handouts with curt programs printed out on ditto machines using that purple smelly ink. And we'd type them in verbatim to get the expected result. And I still thought that was really fucking cool! I can type a series of commands and the machine will produce something because I told it to. Amazing. It sparked my interest in computing, which eventually led to a career.

      (As an aside, there are enormous and well-funded forces at work today who don't seem to understand or care that this sort of thing doesn't spark interest in every kid, and many kids regardless of their gender couldn't care less about making a machine respond on command, but I digress.)

      Let the students struggle a little bit, and let them find ways to complete their assignments.

      This takes at least some time exposing the students to a) the language and its syntax, b) principles of logic, c) some mathematics that they might not have paid attention to in their other classes... I'm not sure it's appropriate to stick every student in front of a terminal, err, a computer, err, I suppose now they're all given iPads by the school, and just expect them to "go make something!" Especially not with BASIC. There isn't much wiggle room there. If you're given a task, you generally don't have a dozen creative ways to get it accomplished.

      By the time I was a freshman in high school, we were still using BASIC, and we were still mostly expected to come to the same single conclusion of how to solve a given problem, if the solution wasn't given outright, but we could do it as a group. We got Think Pascal in 10th grade. That's when we were given free reign, take this problem and solve it however you feel is best. Use the logic and flow control paradigms you've spent the first few six-weeks of the year learning about, and apply that to create the answer.

      I think BASIC is fine for first exposure to programming. It's not much of a language to teach with, but it shows you in a very elementary (or basic, gee) way that if you input commands in a strict syntax into the computer, the computer will respond. BASIC has plenty to teach about typos, syntax errors, and rudimentary flow control. Just don't knock the teacher for presenting it in a very structured manner.

      You sound like an intelligent guy, and considering you're posting here, you're probably somewhat of a geek. If your daughter was quickly bored by BASIC and shows an interest in programming, help her out. As a freshman in high school she probably knows her way around a PC well enough that if you install some compilers or interpreters and point her at online manuals, she'll be fine.

      If, on the other hand, you are the one who was "very disappointed and incredibly discouraged" that your daughter didn't start eating, breathing, and sleeping BASIC, maybe she just isn't interested. It happens. A whole lot of boys grow up not caring about fashion, and a whole lot of girls grow up not caring much about programming computers. Neither of those things are problems that need to be solved.

    5. Re:Give students license to solve problems by fermion · · Score: 2
      in my freshman year of high school we did programming. The first part of the class we did not touch a computer, but only thought about how to solve problems. Then we got on the computers a wrote programs.

      Before that I had a significant experience writing programs, at least for a 13 years old in the nascent PC world. The problem was that it was very mechanical. The problem is that most kids in the 9-12 year old range do not have a great deal of abstract thinking skills, so can't really program computers, any more than they can do algebra. Yes, they can do some coding, but not the analytical work. Yes, some kids can do algebra at 10, but not many.

      So this is why things like Alice are used to teach the concepts to pre-teens and children. Using heavy scaffolding, which means I wrote most of the programs myself and just let the kids type it in, I have taught 11-13 year old kids to make games in python as a web based application.

      For pre-teens with minimal abstract thinking skills, the most interesting thing that can be taught with programming is cause and effect, a critical skill for children. This leads directly to more abstract skills as the child ages.

      --
      "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
    6. Re:Give students license to solve problems by William+Baric · · Score: 1

      I disagree with C. Pointers are something a lot of children have difficulties understanding. Also, languages which use symbols like "&&" and "||" instead of words like "AND" and "OR" should be avoided.

      (I (also) (completely (disagree (with) (Scheme()))). Seriously.

      Finally, I disagree with any object-oriented language. Object programming requires too much structure. A beginner's language should as straightforward as possible and look as much as possible as English writing.

      Pascal (not object Pascal) or simple BASIC languages (not .NET Visual Basic) are much better as first languages.

      As for assembly, I first learned ARM assembly when playing with my Nintendo DS. It's a bit more complex than 68000 assembly, but certainly not "baroque" (and obviously much, much better than 8086 assembly).

    7. Re:Give students license to solve problems by Anonymous Coward · · Score: 0

      Traditional BASIC was a lousy language for learning to program. Modern C++ is, if anything, worse.

      Traditional BASIC was cool because of it's simplicity. You could be up and running banging out code in a day. BASIC was designed for beginners back when "real programmers" wrote code in assembler. C++ never really had the same target audience as BASIC.

      BASIC also allowed NON-programmers to do useful things. Much like HyperCard did later on with the Mac.

    8. Re:Give students license to solve problems by HiThere · · Score: 1

      OK. I've never used ARM assembler. Your "scheme" example shows mainly that you don't understand Lispish syntax, it's actually rather simple. Pascal is a good choice, but the documentation would need to be specially written, because the available sources on-line are pathetic. (And if you're using Pascal be very certain you stay well away from not only Objects, but also Units.)

      But BASIC, including explicitly Dartmoth BASIC, is terrible. I'd rather recommend FORTRAN II. (FORTRAN IV would be a decent choice, but I don't know about fortran77, but that doesn't seem to be supported anymore either, and fortran95 introduces objects.) Forth would be better than BASIC.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    9. Re:Give students license to solve problems by HiThere · · Score: 1

      BASIC is reasonable for non-programmers who intend to stay non-programmers. Hypercard was actually a better initial language. I do agree that you can do simple things in BASIC, but it teaches horrible habits.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    10. Re:Give students license to solve problems by Anonymous Coward · · Score: 0

      Came here to say basically this. Anecdotally, it wasn't hard to pick up loops and conditionals at an early age (in my case it was so I could automate the boring parts of BBS games) but variable substitution in pre-algebra didn't really click until I was almost in my teens, and then it was the most obvious thing ever. Our introductory HS programming class spent almost the entire first semester dealing solely in pseudocode so everyone could get a feel for how to break problems down, and still there were people who didn't quite 'get' it when we moved to writing simple programs with that (f'ing) 2D turtle. However, I still think it was good that we were introduced to object-oriented thinking as soon as our brains were capable of handling it. It kind of seems like there's a window somewhere in the teen years where you can be taught to think like a programmer, but too far outside that (before or after) it becomes virtually impossible to learn.

  7. Give students license to solve problems by Virus+Hunter · · Score: 3, Insightful

    My daughter took a programming class using Basic during her freshman year. I encouraged her to take it, so she could see that there are multiple ways of solving problems. Unfortunately the teacher was having none of this. He dictated to his students exactly how he wanted them to write the programs. This was very disappointing and incredibly discouraging for my daughter. Let the students struggle a little bit, and let them find ways to complete their assignments. When they're done present some of the students' solutions to the class, and talk about how they solved the assignment and discuss alternatives. You'll need to be respectful. People that are new to programming can be pretty sensitive about their code, so make sure you take that into account. You don't want to make somebody feel stupid, especially when they probably worked very hard on completing the assignment. Lastly, maybe you should consider a different language. Maybe you should consider Python or even C++.

  8. Please stop with these questions by Anonymous Coward · · Score: 0

    Not trying to troll here but honestly these "someone is not coding and it's a problem" questions are so repetitive. How to teach so in so how to code, why isn't the whole world coding, get your pet dog into coding.... again and again. Stick them in a room with an old computer with BASIC. If they like it, the rest was meant to be. Otherwise it's their fucking life, I don't care what they want to do. The repetition is honestly getting insane.

  9. Some advice from Dijkstra by Anonymous Coward · · Score: 0

    "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."

    1. Re:Some advice from Dijkstra by BarbaraHudson · · Score: 1
      "It is practically impossible to teach good programming to students that have had a prior exposure to Dijkstra: as potential programmers they are mentally mutilated beyond hope of regeneration."

      FTFY

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    2. Re:Some advice from Dijkstra by Sarten-X · · Score: 1

      What's always amused me is that Dijkstra's hatred toward BASIC was originally hyperbole, and much of "Go To Statement Considered Harmful" Dijkstra himself later regretted, explaining that his disgust is really toward misuse of any construct, of which GOTO was the prominent example.

      Of course, later retellings of the story have continually inflated the horrors of BASIC, forgetting all about the context of Dijkstra's statements.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    3. Re:Some advice from Dijkstra by Anonymous Coward · · Score: 0

      Dijkstra's 'Goto-comment' (actually by N. Wirth) does not refer to BASIC. Certainly not as it was back in his days. Remember GOSUB? I've PEEKed and POKEd many a BASIC interpreter and PASCAL was an eyeopener when I learned it in the 80's. In my view, Dijkstra's comments are as valid as the day he made them, especially since the question invariable is: which BASIC? Which of the zillion dialects are we discussing here?

    4. Re:Some advice from Dijkstra by Half-pint+HAL · · Score: 1

      the question invariable is: which BASIC? Which of the zillion dialects are we discussing here?

      Discorunner is a multi-dialect BASIC interpreter... that supports... erm... 1 dialect. Apple ][ BASIC. Yuk.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  10. Don't confuse them by chrism238 · · Score: 4, Insightful

    Firstly, don't confuse the students by telling them it's Computer Science, if it's only simple programming.

    1. Re:Don't confuse them by phantomfive · · Score: 2

      Dijkstra said, "'It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."

      Why did he say that? Because BASIC teaches people to only 'get it to work.' They don't start thinking about what could go wrong, they become copy-paste programmers. To overcome this, you need to start thinking about every possible case.

      As far as teaching kids.....you are missing a lot if you don't look up Alan Kay's work starting with LOGO, and then continuing for decades. He's discovered a few things in that time, you'd be best to build on that work (or at least be aware of it) rather than learning the hard way by repeating all his mistakes (and let's face it, you're probably not as smart as Alan Kay, and even given decades won't catch up to his knowledge. So find out what he did and build on it).

      --
      "First they came for the slanderers and i said nothing."
    2. Re:Don't confuse them by Anonymous Coward · · Score: 0

      I misread that as LEGO.

    3. Re:Don't confuse them by i.r.id10t · · Score: 1

      On the flip side, near instant gratification of "getting it to work" is good for education - keeps students interested and involved if they have quick successs.

      Of course, once it is "just working" *then* you can start getting your students to think about edge cases, logical errrors, validating user input, etc.

      --
      Don't blame me, I voted for Kodos
    4. Re:Don't confuse them by Anonymous Coward · · Score: 0

      I think the Djikstra's point was salient but the worst thing about teaching kids basic: it gives them no frame of reference for OOP. In fact I would actively say no to this "programming language" because of that reason. I programmed C64 basic when I was a teenager and had a very hard time learning OOP when I did.

    5. Re:Don't confuse them by Half-pint+HAL · · Score: 1

      But on the other hand of your flipside... so what? There are other ways to get it to "just work", and Alan Kay spent a lot of time looking at that. "teach turtle a new word". Good abstraction.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    6. Re:Don't confuse them by Anonymous Coward · · Score: 0

      Why did he say that? Because BASIC teaches people to only 'get it to work.' They don't start thinking about what could go wrong, they become copy-paste programmers. To overcome this, you need to start thinking about every possible case.

      That's not the fault of the language, it's the fault of the teaching approach.

      In fact, I think the opposite is true. I'm glad I started with BASIC, because GOTOs are very close to jumps and branches in assembly, and you have to learn to walk before you can run.

      By doing it the "hard way," I was better able to understand what structured code does for you, and how it works "under the hood." One of my fondest memories of learning C was pulling out my old Creative Computing "BASIC Games" book and translating the programs into C. I really had to think about program flow in depth to do that.

    7. Re:Don't confuse them by phantomfive · · Score: 1

      That's cool, but it's not about 'structured code,' it's about thinking in terms of state changes, in terms of proofs, and in terms of how each line of code changes the state of the computer as a whole.

      --
      "First they came for the slanderers and i said nothing."
    8. Re:Don't confuse them by Man+Eating+Duck · · Score: 1

      At the time Dijkstra said that I suppose most people who could do *any* programming at all were a bit older than the kids we're talking about here :) Kids aren't likely to get stuck in a bad pattern just because that was the first thing they learnt, they are pretty flexible when it comes to acquiring new concepts. BASIC is as good as any language to teach the most fundamental concepts of linear programs and control structures. I would try to avoid the GOTOs, though, as modern languages do the same things in a better way.

      Anyway, I intend to introduce my kids (twins just turned two) to programming, but I'll probably wait a few years before I try to pique their interest. If they're not interested I won't push them. When I do, I'll probably start with something that yield physical results, such as Mindstorms or something that creates lights or motion that are easy to grasp. The choice of language is really not important at this point. Logo is actually a pretty decent language for this purpose, the turtle graphics (which I suppose is integral to this usage of the language, and I hope it still has it) is good for introducing input and results. It's also one of the languages of choice for our local "teach the kids coding" non-profit, and I also know that they use Kay's work in their teaching.

      Anyway, to start with I believe it's important that the kids learn the most basic of concepts (linear execution of simple statements, then maybe some control structures), and then hopefully they'll ask the question: "what if I want to change this so it does B instead of A?". At the point when they ask "how do trip planners find the fastest route between two arbitrary points" I'll start introducing them to Dijkstra and his magic :)

      --
      Are you a grammar Nazi? I'm trying to improve my English; please correct my errors! :)
    9. Re:Don't confuse them by phantomfive · · Score: 1

      Kids aren't likely to get stuck in a bad pattern just because that was the first thing they learnt, they are pretty flexible when it comes to acquiring new concepts.

      Maybe. Certainly your kids won't enter the ranks of cut-and-paste programmers, totally dependent on stack-overflow.

      Anyway, to start with I believe it's important that the kids learn the most basic of concepts (linear execution of simple statements, then maybe some control structures), and then hopefully they'll ask the question: "what if I want to change this so it does B instead of A?". At the point when they ask "how do trip planners find the fastest route between two arbitrary points" I'll start introducing them to Dijkstra and his magic :)

      You're missing the crucial point Dijkstra was trying to teach, it has nothing to do with shortest path, it has to do with a way of looking at programming. Here's the textbook he used. It was about having a completely different mindset when you approach the computer, as compared to BASIC programmers.

      --
      "First they came for the slanderers and i said nothing."
    10. Re:Don't confuse them by Man+Eating+Duck · · Score: 1

      It was about having a completely different mindset when you approach the computer, as compared to BASIC programmers.

      Yes, I'm aware of that, I was just trying to be funny. My point is that in any case you'll have to learn new concepts as you go. A case in point: when most programmers approach SQL they try to fit all logic in loops and control structures. Then they discover cursors, and are happy. Afterwards they are amazed that I can rewrite their code to a simpler version which runs 450x faster (one real-world example, the original cursor was written by a senior developer to boot).

      Most languages have their own tricks and ways of doing them, and an experienced developer will pick up/understand a lot of them, but you have to start somewhere.

      --
      Are you a grammar Nazi? I'm trying to improve my English; please correct my errors! :)
  11. NO to BASIC. Teach them PYTHON by Anonymous Coward · · Score: 0

    Enough said.

  12. Why BASIC? by Anonymous Coward · · Score: 0

    I don't see what is so special about BASIC. Why not use C/C++ or python? Hell even Turbo Pascal would be more "fun" and as a side effect much more effective for teaching kids.

  13. Brain games for kids & adults using Timex/Sinc by millette · · Score: 2

    I think I owe everything to this book:
    http://www.amazon.com/Brain-ga...

    26 short (1-2K) games/puzzles - you have the source, can you solve the puzzles?

  14. Chess by johnrpenner · · Score: 1

    the changing semantics of languages and APIs will change — best way to teach the sort of mental discipline is to abstract it to the level of chess —

    then using something like SDLTRS to run an old version of TRS80 or Apple II Basic, and have them solve simple problems (like Towers of Hannoi, generating Prime Numbers, Loop and Display their name 1000x on the screen).

    keep it simple.

    2cents
    jp

  15. Use Logo by wiredlogic · · Score: 3, Insightful

    Implement a turtle-based drawing API and build a curriculum that introduces programming concepts with turtle graphics.

    --
    I am becoming gerund, destroyer of verbs.
  16. first the interface and now ..... by Skylinux · · Score: 1

    yes I get it. You have a child and have the urge to tell the world about it.
    This is Slashdot. It used to be news for nerds, shit that MATTERS .... How about you come back in 2 years and ask the following.

    "How do I get my child to be a kernel hacker since he/she already outgrew fucking basic !?!?!?"

    Look he/she made potty on the toilet .... twitter that shit!

    --
    Everyone who buys Wild Hunt will receive 16 specially prepared DLCs absolutely for free, regardless of platform.
  17. it isn't a real question by frovingslosh · · Score: 1

    beaverdownunder isn't really trying to ask a question at all. He just wants to hype his own Basic called Discocrapper (no point in giving him the satisfaction of repeating the actual name). This entire thread isn't about any valid ask Slashdot question, it is just a spammy link.

    --
    I'm an American. I love this country and the freedoms that we used to have.
    1. Re:it isn't a real question by bzipitidoo · · Score: 1

      Is it even a real issue? Cynicism suggests that the idea of teaching programming in grade school is a great way to employ some CS grads as teachers, lesson planners, and system administrators and the like, for a while, until it fails miserably and everyone becomes disillusioned with the idea. Businesses, especially tech companies, think that if this works, they can drive down the cost of labor even more,

      I think that it could work, but it's too early. Ancient civilizations didn't teach literacy to everyone for a variety of reasons. For one, languages were harder to learn. Hieroglyphics is harder than a phonetic language. Our programming languages are still in the hieroglyphics stage. They're full of boilerplate, excess verbiage, redundancy, and tedious details that obscure what a program really does. Some of our best algorithms textbooks use pseudocode because that's the only way they can omit irrelevant detail. Those that use a real programming language struggle to keep the code brief.

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    2. Re:it isn't a real question by BarbaraHudson · · Score: 1
      Psst. She, not he. If the name beaverdownunder wasn't enough, you could have looked at the web site :-)

      But yes, absolutely, this was spam to promote Melody Ayers-Griffiths new pixelwitches.com "training" at $97/hour for things like wordpress, drupal, graphic art, music, whatever, and kids "group learning events." Though none of her experience is geared towards that. Being an Apple service tech for a decade doesn't qualify you much for either teaching or programming.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  18. Does it have to be BASIC? by MAXOMENOS · · Score: 1

    I cut my teeth on BASIC on an Apple ][+, and wrote my first professional-grade program (a math tutor) on it when I was 12. I have a lot of fondness for BASIC. These days, if I were to teach a kid any language, it would be Python. It has the easy syntax of BASIC with the added advantages of (a) a rich enough API set for everything from web development through machine learning (b) being an actual marketable skill in places like Silicon Valley.

    I'm not saying BASIC is a bad choice, just that I think there are much better ones.

    1. Re:Does it have to be BASIC? by Alrescha · · Score: 1

      " These days, if I were to teach a kid any language, it would be Python. It has the easy syntax of BASIC with the added advantages of (a) a rich enough API set for everything from web development through machine learning (b) being an actual marketable skill in places like Silicon Valley."

      Not to mention that whole "white space is significant" aspect, so as to give them early knowledge of the arbitrary nature of working with business types in the future...

      A. (only 1/2 a :-)

      --
      ...bringing you cynical quips since 1998
  19. Small Basic by Anonymous Coward · · Score: 0

    I taught 10-18 year olds with little to no computer skills small basic. Just follow the curriculum: www.smallbasic.com
    Help them do the content in the lessons. Then make up "tests" for them to do on their own for rewards (candy is a good motivator) after each lesson.

    From what I find you'll likely get half of the kids not understanding a damn thing or are too lazy/anti-nerd to do the work. 40% will be able to do it, and they'll like it. But they're never going to use it outside of class and candy. And then you'll get 1 or 2 kids per class that will love it. They'll even do it at home. Focus extra attention on these kids. Give them extra work and praise. And never lose contact with these kids. Because they'll look to you for help in college! ;)

    Good luck. It can be tough, but it's really rewarding when a few of them actually use the stuff you taught them in the real world! :)

    1. Re:Small Basic by Anonymous Coward · · Score: 1

      Whoopse didn't read the first sentence.

      Ack Damn,

      Ok so what works. Graphics! Logo/Turtle in small basic made it really really really simple to teach loops, conditionals, how objects and variables work, etc.
      Without visual aids most students can't grasps the concepts. Remember there are three types of learners, Sight, sound, written word. Sight learners are the most common.

      What I would normally do is terminal write out, write in, change colors, strings, math, and then right into logo/turtle. Once they learn most of the concepts make a game using the graphics they have learned.

  20. now u got 2 problems by Anonymous Coward · · Score: 0

    Problem One: Got to teach kids to program.

    Teach them basic...
    now you have two problems.

    Problem One: Got to teach kids to program.
    Problem Two: They know basic.

  21. Take if out of the machine by duck_rifted · · Score: 1

    The first things anybody needs to learn about programming are generic in terms of language. They're concepts. Branches, loops, function calls, and maybe even classes and delegates are all within range of exercises off of the machine. This approach can go well beyond basic. I'll describe it generally but apply as needed.

    Here's a template: Split students into groups of three. One person must come up with non-ambiguous instructions to complete a task, such as taking balled up sheets of paper out of a box one by one and putting them in another box. One person executes the instructions exactly as they are written. One person catches mistakes in the execution where something is ambiguous that shouldn't be. They can rotate roles twice, so between each time there's a chance to stop the activity and have a quick class discussion about things that went wrong in different groups. Next iteration, they should each improve upon their instructions according to mistakes made by the whole class last iteration. By the third iteration, if there's not a perfect algorithm out there then the best will still be a short instructor's change away from the goal.

    Design exercises like this carefully. For example, the above exercise focuses on loops and branches, but those concepts can be further divided. Function calls can be taught by having different groups perform different tasks, but they have to "call out" to each other to complete a more complicated task together. Classes can be demonstrated literally, whereas one class has one role it develops for in its exercises and another class of students develops another. Then, they have to find a way to work together with simple messages like notes.

    Before they ever touch a development environment, they can already have the conceptual foundation to understand what they will be taught. Instead of introducing functions to the sound of, "I don't get it!" you can have students asking about the concept ahead of time. For example, "This assignment would be so much easier with loops! But we have to finish it with branches."

    1. Re:Take if out of the machine by meta-monkey · · Score: 1

      I really like that idea.

      --
      We don't have a state-run media we have a media-run state.
    2. Re:Take if out of the machine by duck_rifted · · Score: 1

      If the idea were further developed to the point of at least basic object-oriented programming, then I suspect that every student would benefit from that class because it would teach them about organizational collaboration at the same time as programming. Even if they never write a line of code outside of school, having a rigorous framework describing how groups (teams) and groups of groups (class) interact to achieve specific results may lead some of them to better understand how different departments and companies work together.

      This formalizes the cognitive benefits of team sports, and brings practice of those skills into the classroom. I would expect that to be much more effective in conferring all but the physical benefits because it removes all the extraneous social influences. It also reinforces the idea that diversity is beneficial by demonstrating practically that people have different valuable qualities. It could inspire students to look up to good problem-solvers as well as they already look up to athletes, which is useful because professional success most often derives from problem-solving and leadership skills.

  22. Not just BASIC by Anonymous Coward · · Score: 0

    Let's not get fixated on BASIC. I actually teach my kids to code in other languages but the question remains - what cool problems have you solved, or what challenges have you suggested, that let kids take on small, manageable and interesting programming projects? I, for one, would really prefer if the discussion went in this direction...

  23. It's basic. by Anonymous Coward · · Score: 0

    Define 'kids'.

    There's a hell of a lot of difference between a kid asking, "What's a vary able?" and a kid asking, "The fuck is up with pointers?"

    You don't want C for the former. You don't want BASIC for the latter.

    And in either case, you're going to have to deal with the fact that a large number of kids simply won't get it, no matter what fancy technology pig you dress up.

    1. Re:It's basic. by CaptainDork · · Score: 1

      This.

      Kids should be exposed to programming, just as they should be exposed to the violin: See if they embrace either and if not, try next Legos® and Crayolas®.

      --
      It little behooves the best of us to comment on the rest of us.
  24. TRS80 Color Computer by Pro923 · · Score: 2

    This is what I leaned on when I was 10 - and I can't think of anything better to teach kids basic programming skills. This was a operating system that had basic built in, and you just programmed right into the OS, and ran right from the OS. I can't think of anything simpler. The simplicity of it also allowed for the learner to just focus on logic and programming. I truly think it's the best possible learning tool. Even graphics were simple - nothing fancy - just lines and set/reset statements, paint statements... All this stuff was on a single page - the same one that the text was written on. I loved it - and I still do, perhaps for nostalgic purposes. But I swear by it. You can run it in an emulator, you just need the ROM, which is pretty easy to find. Get the "Extended Basic one". The real key here would be to find those original books - those things were gold and they taught in a step by step manner. Those - I have no idea how to find. I'm gonna look though, and if I find it, I'll put a link to it up here. I might even have the original books in my old bedroom at my parents' house. If I can find them, I'll scan them page by page and post a link to those as well... Anyone else think this is the ultimate tool for leaning programming or is it just me?

    1. Re:TRS80 Color Computer by Pro923 · · Score: 1

      I found the extended color basic book, but not the first one (TRS80 color computer basic) or the 3'rd one (TRS80 color computer disk basic) I remember saving up for years and buying the $600 floppy drive that came with the controller. I cried because the first few didn't work. I didn't know at the time, but putting the drive on a rug rendered it useless. Anyway, here's a link to a nicely done pdf of the extended basic: http://www.classiccmp.org/cpma...

  25. A BASIC fan's step-by-step curriculum by Sarten-X · · Score: 2

    Step 1: Show them the BASIC interpreter

    Step 2: PRINT, INPUT, IF, GOTO, END

    Step 3: Show them Python, C++, or even JavaScript, if you hate them

    I know it's not really what a platform-builder wants to hear, but please use BASIC only for purposes for which it's the best tool. It's ideal for highlighting the often-missed initial concepts, such as the facts that statements are executed in order, variables can store information and change, and that certain statements can change the program flow. Those core ideas are so internalized by experienced programmers that they often won't understand how students could be missing them. From the student's perspective, it's perfectly reasonable that once statements are made anywhere in a program, the computer should pick which one to run based on what would make sense. It's also reasonable that a variable should be set once and never change, or should be usable before being set because "it's set right there!"

    BASIC has one major advantage over every other language out there: absolutely no boilerplate, and absolutely no hidden intelligence in the interpreter. Everything that makes the program run is visible in the code, and everything in the code does something lesson-related in the most minimal programs. Contrast with C, which requires defining a main() function before the student knows what a function is. This simplicity and obviousness makes BASIC the perfect tool for demonstrating simple and obvious programs, but it's inelegant for learning any actual computer science concepts like memory management, design patterns, or data structures.

    Those concepts are best covered in another language, which also highlights another important CS concept: The functional equivalence of all Turing-complete languages, but the effects of language choice on the difficulty of the project.

    --
    You do not have a moral or legal right to do absolutely anything you want.
    1. Re:A BASIC fan's step-by-step curriculum by Simon+Brooke · · Score: 1

      I know it's not really what a platform-builder wants to hear, but please use BASIC only for purposes for which it's the best tool. It's ideal for highlighting the often-missed initial concepts, such as the facts that statements are executed in order, variables can store information and change...

      In declarative languages instructions are not executed in order (indeed, modern compilers frequently reorder instructions and, as we progressively move away from Von Neumann architectures, very few computing environments will guarantee instructions are executed in order). In functional languages variables cannot change. If those are the ideas you've internalised about software, you aren't going to go very far.

      BASIC is just the ultimate bad language. Like King John, it has no redeeming features.

      --
      I'm old enough to remember when discussions on Slashdot were well informed.
    2. Re:A BASIC fan's step-by-step curriculum by Sarten-X · · Score: 2

      Those are subjects for a later lecture.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    3. Re:A BASIC fan's step-by-step curriculum by rasmusbr · · Score: 1

      BASIC has one major advantage over every other language out there: absolutely no boilerplate, and absolutely no hidden intelligence in the interpreter. Everything that makes the program run is visible in the code, and everything in the code does something lesson-related in the most minimal programs. Contrast with C, which requires defining a main() function before the student knows what a function is. This simplicity and obviousness makes BASIC the perfect tool for demonstrating simple and obvious programs, but it's inelegant for learning any actual computer science concepts like memory management, design patterns, or data structures.

      Python works almost as well for this learning stage.

      This is an example of a valid 2-line Python program:
      x = 1+1
      print x

      Here is another valid program:
      def oneplusone():
              return 1+1
      print oneplusone()

      This next program will crash at line 1 with "NameError: name 'oneplusone' is not defined":
      print oneplusone()
      def oneplusone():
              return 1+1

      The one stumbling block with Python is that indentation matters. Copy-pasting your classmate's code into your program can easily break it.

    4. Re:A BASIC fan's step-by-step curriculum by BarbaraHudson · · Score: 1

      BASIC is just the ultimate bad language. Like King John, it has no redeeming features.

      Next you're going to claim that Hitler never did anything good. He did - he killed Hitler.

      BASIC might be bad, but for kids, why not?

      Still, this slashvertisement needs to die.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    5. Re:A BASIC fan's step-by-step curriculum by Sarten-X · · Score: 1

      The indentation is the main reason I'd avoid Python for the day-one lesson. I'd also note the empty parentheses and the colon in the function definition as being boilerplate and an easily-missed detail, respectively.

      Minor points, certainly, but points nonetheless.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    6. Re:A BASIC fan's step-by-step curriculum by Demonoid-Penguin · · Score: 1

      BASIC is just the ultimate bad language.

      It's TURTLES all the way down? (SMALLTALK). I started with COBOL because PCs weren't around then, then BASIC when IBM released the PS/2 - because TURTLE wasn't around. All my kids started with TURTLE (none are programmers, but they can program in a multitude of languages), and my grandkids with Python.

      tl:dr? BASIC sucks badly for teaching children anything but an aversion to thinking like a programmer - it was good when it was the only quick entry to programming. Which is probably why it's Bill Gates only claim to being a programmer (and even then it was done in a locked room with another programmer. DONKEY.BAS. Konzen wrote the code, Gates made it look crappy)

    7. Re:A BASIC fan's step-by-step curriculum by Mantrid42 · · Score: 1

      Not if you need to write simple batch scripts sometimes. I can do it on any Windows system, in Notepad, with no additional software.

    8. Re:A BASIC fan's step-by-step curriculum by Half-pint+HAL · · Score: 1

      It's ideal for highlighting the often-missed initial concepts, such as the facts that statements are executed in order, variables can store information and change, and that certain statements can change the program flow.

      Or you could use a traditional shell-scripting language (eg BASH), and then start introducing control-flow based on the output of other programs. "But wouldn't it be cool if we could have multiple programs in a single file...?" -- et voilà, everyone wants to know about procedural programming, and the notion of a master procedure (main) is a natural consequence.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  26. For the love of God don't use BASIC by Simon+Brooke · · Score: 1

    BASIC is a really, really bad language to teach anything about computing. If you want to equip them for the world of work, go for Java or C# (which are more or less the same, from a learner's point of view, and neither is hard). If you want to teach a deep understanding of algorithms and how computers work, Clojure or Scheme would be good choices.

    --
    I'm old enough to remember when discussions on Slashdot were well informed.
    1. Re:For the love of God don't use BASIC by William+Baric · · Score: 1

      I don't think the goal is to equip them for the world of work, but only to make them understand basic concepts like what is a variable or what is a loop. Java or C# are far too complex for that task (not to mention their horrible syntax).

      Also, if you want a deep understanding of how computers work, the only choice is assembly.

    2. Re:For the love of God don't use BASIC by angel'o'sphere · · Score: 1

      Well, with pointing to Closure and Scheme and then claiming it teaches you how a computer works, you are far away from those guys who claim you need to program the bare metal to learn just that.

      BASIC is an excellent language, as long as it is not a VisualBasic variation. No idea from what the hate comes.

      BASIC has basic datatypes, like float, int, string. It has functions, built in and user defined, arrays and "basic" file/input/output capabilities.

      More you don't need to start, and it has a REPL command line build in.

      Java and C# make horrible teaching languages. To much overhead to get the simplest thing running. Just look at how much you have to write to have a "Hello World" program, and then try to explain every line to a student who never coded a single line in any other language.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  27. Basic? are you killing future competition? by citizenr · · Score: 2

    Are you actively trying to make them future TERRIBLE programmers?

    --
    Who logs in to gdm? Not I, said the duck.
    1. Re:Basic? are you killing future competition? by Alban · · Score: 1

      Basic is a good language for learning programming. It allows you to focus on core mechanics (flow control, predication, logic, arithmetic, loops, recursiveness, etc) without focusing on higher level language concepts. As long as a program remains small (which is the point here), GOTOs are fine.

      Higher level languages can be more confusing to kids. Objects, factories, inheritance and all that stuff is easier for adult minds to comprehend since their idea is modeled after real world concepts, but kids don't have those concepts fully absorbed yet (or at all) anyway.

      In fact, what I've observed is that kids don't have too much trouble with assembly either. It's low level, simple and repetitive. You have "boxes" you put stuff in, operations you do on them, etc. As long as you don't get into the more exotic instruction sets, you're fine. And sure, and all address based operations might be a little complex.

      That's why I actually find basic quite good as a learning language. A kid who starts learning about programming concepts at 8-10 years old has a chance at becoming a very strong programmer later on. I have seen it many times. So basic is a really good idea. In fact, I've used basic256 for one of my kids.

      Don't snob the language. You want something barebones. It's the computer science concepts they get exposed to at an early age that are important. Writing a "guess my number" or "guess my animal" game is a great growing exercise.

      Cheers,
      Alban

  28. Learning BASIC using the Sinclair XZ80. by jwbales · · Score: 0

    I first learned to program in BASIC in 1980 on a Sinclair ZX80 computer. I learned very fast because on any given line it would not let you enter an unexpected character nor would it let you do a newline-carriage return on a malformed statement. Granted, in 1980 I had been programming in Fortran for almost 20 years, but the immediate feedback offered by the ZX80 made learning BASIC a breeze. I still have my ZX 80 although it no longer boots up. I think its approach to teaching BASIC was clever and sound.

  29. Give Up by Anonymous Coward · · Score: 0

    The main reason I learned BASIC is that I could program/ enter/ debug/ and PLAY games that were cutting edge at the time. If your kids have even seen the latest consoles they will not be motivated by that aspect of it.

    I don't think your kids or any kids in this day and age will be interested in anything that isn't just given to them. They will be on social media and playing canned games and they won't care about creating anything themselves.

    They will just be consumers. Let it go, the golden age of BASIC is long gone.

    Let your kids be the lemmings they are destined to be.

  30. Don't. by Anonymous Coward · · Score: 0

    This Ask SlashDot is clearly a troll.

    1. Re:Don't. by skywire · · Score: 1

      My apologies for posting as AC by mistake.

      --
      Those who would give up essential liberty to purchase a little temporary safety, deserve neither liberty nor safety.
  31. Guido van Robot! by ernest.cunningham · · Score: 2

    http://gvr.sourceforge.net/

    Why reinvent the wheel. Check out Guido van Robot, a programming language that teaches all the basics of programming (problem solving, sequence, iteration and decision making).

    Best yet, it already has fun progressive lessons that are perfect for teaching in the classroom.
    http://gvr.sourceforge.net/les...

    Whatever you do, remember, start with sequence, then iteration, decision making and ultimately wrap it up with problem solving.

  32. Teach them mathematical logic first by pieisgood · · Score: 1

    Start with the basics. Teach them the foundational mathematical principles so that they have a command over the base ideas before throwing them into a text editor with a strange new language/syntax. If you want those kids to really learn CS, you need them to understand the math first. I mean, if the goal is to show kids what computers can do with code... then just throw them into the code , but if the goal is for them to understand how they're doing those things... you should start with mathematical logic.

    --
    Eat sleep die
  33. The BASIC Book (1985) by theodp · · Score: 1

    Check out The BASIC Book, an oldie-but-goodie by Seymour Simon. Nice-and-simple 32-page illustrated intro to BASIC!

  34. Strategies for teaching kids to code by Anonymous Coward · · Score: 0

    1) Get them imagining something cool. Kids can dream better than we can, get them excited about something personal.
    2) Walk them through the process of whiteboarding their idea, so they can get practice translating concepts into plans.
    3) As you help them transform their plans into implementation, teach them only the barest fundamentals, and then introduce advanced concepts when they encounter the pain point that justified the creation of those concepts. For example, introduce functions when they have become frustrated with copy pasting code. This keeps them from becoming overwhelmed and paralyzed with options.
    4) Give them opportunities to receive positive feedback from their peers. If they think they can become "cool" through the creative process, they'll invest more in it.

    This is how I taught my kid to code. We used MIT's Scratch.

  35. Don't do it by Anonymous Coward · · Score: 0

    Let kids be kids. Let kids know what is available out there, in all sorts of subjects. Those who are so inclined will have the chance to take up coding. Others will do other things. Coding is a nice skill, but by no means an essential one - one can be immensely productive and happy in all sorts of technical subjects and walks of life, while ignoring coding altogether. Finally, whatever you do, do NOT do with BASIC.

  36. Easy by mwvdlee · · Score: 3, Interesting

    1. Drop the Applesoft BASIC clone.
    2. Create a programming language that natively interfaces with Facebook API, Minecraft API or whatever other software project they actually care about.
    3. Show them a "Hello world" example.
    4. Wait five minutes.
    5. Classroom full of programmers.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    1. Re:Easy by Anonymous Coward · · Score: 0

      They already have...

      http://shop.oreilly.com/product/0636920036562.do (Java)
      http://pi.minecraft.net/ (Python)

  37. Don't teach kids programming. by JasonNolan · · Score: 1

    Don't ask computer geeks how to teach children. That's moronic. Anyone who CAN program has already internalized all the bullshit of bad pedagogy. They have a predisposition to existing styles and modes of learning and coding that are barriers to others. AND, as some boffins pontificated, they're malignant enough to just want to foster the same abuse on kids that they put up with. As someone who has worked with programmers for 25+ years, trained educators, and worked with children, you should not waste your time trying to TEACH children anything. Develop tools to help them LEARN, and if the kids don't learn it, then blame yourself for your lack of creativity and imagination for not coming up with a sufficiently flexible model that addresses the variety of interest, goals, needs, skills of the children. We don't need another lame attempt to reproduce the errors of programming culture, and inflict them on another generation. Just a thought.

    --
    https://www.tandfonline.com/doi/full/10.1080/1369118X.2013.808365
  38. GoTo... uh... err... I mean... by jdwoods · · Score: 1

    BASIC considered harmful.

    --
    -- Jeff Woods
  39. seriously? by Georules · · Score: 1

    What year is it? I loved basic in 1990, but this is not the right technology to use today.

  40. Games by Anonymous Coward · · Score: 0

    Get them to program simple games (say hangman) or even just graphics.

  41. Make it fun by TomGreenhaw · · Score: 1

    Do small programs that a kid can do in one session.

    Don't bother trying graphics and video games - when they realize how much time and effort it takes, they will become very discouraged.

    Do something like an adventure game, magic eightball or eliza variation.

    Why (just) BASIC? Mix in HTML/CSS/JavaScript. Better yet, do Arduino projects and get both programming and electronics.

    --
    Greed is the root of all evil.
  42. Throw them in the deep end! by Anonymous Coward · · Score: 0

    Give them the C source to systemd and see if they can fix some of the problems like ignoring exit statuses, swallowing stderr, and dropping logging messages. Maybe that group of kids can fix what the group of kids that wrote systemd can't.

    1. Re:Throw them in the deep end! by Anonymous Coward · · Score: 0

      That's a terrible idea. All that will teach them how to do is to ignore user complaints and errors.

  43. BASIC? ewwwww. by darthsilun · · Score: 0

    If the kid really wants to learn how to program, depending on how old they are, maybe Pascal or possibly Java. Younger kids maybe Logo, if you can find it. If you're going to force kids who aren't motivated or don't really want to learn it, then I suppose BASIC is okay.

  44. There is no reason to teach BASIC anymore, in particular the obsolete forms implemented by DiscoRunner.

    There are numerous programming languages you can teach kids. Python is probably a reasonable choice, but there are even simpler ones out there if you like.

  45. What worked best for me.. by Anonymous Coward · · Score: 0

    When I first learned programming as a child, what I found most helpful was good documentation that explained all the different statements/functions/features of the language with examples. Make the information easy to navigate, don't make it so they have to look through a whole chapter to try to find a quick reference, have a index that is categorized with all the statements/functions/features listed, so they find the information quickly while trying to make a program.

    On a semi-related note, you may want to check out Project Spark, it is free for Windows 8.1 and Xbox. It is a project commissioned by Microsoft that allows kids to make their own games. It has its own basic language but there is no typing involved so it makes it easier for kids to start out with.

  46. Basic:tedious, user unfriendly, not problem orient by viking80 · · Score: 1

    Basic as a language is tedious, user unfriendly, and not problem oriented. Java is a lot better. My kids 6. and 8. grade took Stanfords CS101, and I was truly impressed with how fun it was for them, as well as what they could accomplice.

    Everything is done right in the browser. Try it out for yourself. Khan academy has tried a "fun game" in java approach, but this is much less focussed and kids seem to tire of it as soon as they have made the limo break the sound barrier.

    1. A lot of graphical processing, like finding traffic signs in urban environment (for automatic driving) to bluescreen manipulation.
    2. Also building databases and doing datamining.
    3. Networking
    4. More programming; Digital media, analog, security etc

    Nick Parlante is the teacher, and a great guy.
    https://www.coursera.org/cours...

    --
    don't cut it off www.mgmbill.org
  47. negative comments? by Pro923 · · Score: 4, Informative

    I see a lot of negative comments pertaining to teaching basic as a first step in understanding how to code. I respectfully disagree. I believe that basic removes all of the complexity that gets in the way of learning pure logic skills. I don't see any sense in teaching kids to program and having pointers or even compiling and linking when the best thing for them to learn is the purity of understanding how to create simple algorithms to solve problems. If they show an interest, they can figure out more complex things like compilers, and the complexities of lower level languages like C. I stated in another comment, I learned how to code on a TRS80 color computer, and I think it was invaluable to master that before moving on to more complex and real-world things...

    1. Re:negative comments? by shutdown+-p+now · · Score: 2

      BASIC was what you described... 30 years ago. Today, we have better languages that go about "removing all the complexity" in a better way. Python, for example.

    2. Re:negative comments? by danknight48 · · Score: 1

      I see a lot of negative comments pertaining to teaching basic as a first step in understanding how to code. I respectfully disagree. I believe that basic removes all of the complexity that gets in the way of learning pure logic skills.

      I kind of agree, it worked for me.
      When i was 12, i self taught Qbasic and wrote a simple program. 10 years later, i went back into programming and self taught C, a year after that i learned C++.

      "Self taught" is the key. Most people cant achieve knowledge/skill in an area, unless they have the interest and a drive to do so. Programming isnt for everyone. However, looking back, i honestly believe a "programming" lesson at school could of changed my careerer, regardless of the language.

      Now my programming skills are used for hobbies and projects that i enjoy doing. On the other hand, if programming was my full-time careerer, i very much believe the enjoyment of programming would disappear, quickly.

    3. Re:negative comments? by Anonymous Coward · · Score: 0

      Maybe if it wasn't an OO language.

      The simple fact is that OO doesn't do anyone any favors, unless they're too stupid to maintain a clean namespace without it being forced upon them by the language. That's all it does. It allows you to type "object->function(one, two, three)" instead of "object-type_function(&object, one, two, three)" which is helpful only if you're the kind of programmer who would leave out "object-type_" and end up with a hideously polluted namespace.

      Then the kids get to learn about concepts like inheritance and polymorphism which not only introduce even more confusing concepts for them to master (as if learning what exactly "object," "class," and "method" mean wasn't confusing enough), but is again just a more complex way to do something that is otherwise rather easy. My favorite example was one where someone created a class for some car objects, then decided they needed a police car which would inherent the normal car object and add a flag to keep track of whether the siren was activated. This necessitated using polymorphism to write functions that were able to accept either car object so that they didn't have to duplicate so much code between the two objects' classes. In non-OO programming you'd just have a structure for car data and when you decided some cars have sirens and others don't, you just add a "has_a_siren" flag to your structure and, holy shit, was it that easy? Hmm, well, I can have cars with and without sirens now, and all of the car functions can work on the data from cars with or without sirens, so yes, I think I'm done now. ...but in OO programming you start doing all of this insane shit as you try to figure out what exactly the purpose of all of this bullshit is and all you end up doing is solving easy problems in hideously complex ways as you assume there must be some reason for all of these complex OO features to exist and so you keep trying to use them even though there are easier ways to do things. In reality, OO concepts are nothing but the result of the mental masturbation of a bunch of computer scientists. There's nothing you can do with OO features that you cannot do more easily without OO features, but unfortunately too many new programmers assume that "C++" is an improved version of "C" and so they elect to learn it instead and assume that everything they learn must genuinely be useful for something because otherwise why would it have been added to the new version of C?

      Save the kids a lot of unnecessary torture and just teach them a procedural language.

    4. Re:negative comments? by shutdown+-p+now · · Score: 1

      You don't need to learn any OO concepts to learn how to use Python. You never have to write "class", or know what a "method" is. The only thing that sticks out is dot-access for members, but that is much easier to explain. And even then for most basic stuff you don't need it, either, because things like len() are global functions.

  48. Please do not abuse your children... by gweihir · · Score: 2

    ... by trying to teach them the worst abomination of a programming language under the sun. Even a good macro-assembler is better. I also strongly advise you to stay away from Java and JavaScript. These languages are only for experts that already have serious skills, all other develop very bad habits using them. Possible candidates if you really want to teach them are Python, Ruby and maybe Lua. But seriously, CS concepts are not something you teach with a language, that would be like teaching them to use a pen of a specific color instead of teaching how to write.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    1. Re:Please do not abuse your children... by angel'o'sphere · · Score: 1

      With a macro assembler you can produce an infinite number of run time errors. No beginner will graps what is going wrong.

      As bad as BASIC might be, it is certainly 100 times better than assembler.

      I would use a REPL language, likely Groovy. Another alternative would be SmallTalk, but I guess the "jump into it" might be to hard for one who never coded.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:Please do not abuse your children... by meta-monkey · · Score: 1

      At some point I do think an assembly language is critical to close the loop. Why (in many languages) do strings or arrays have fixed dimensions? What's the point of pointers, and "passing by reference instead of value?" Why do data types matter, and why are they the size they are? Until you've seen how data structures are realized in memory, it still seems like a bunch of rules you're memorizing, that it works this way in this language and that way in that language.

      Like everybody else on /., I started with BASIC, then taught myself C and some Java. But I was really just a programmer, and didn't grok "computer science" until I took Microprocessor Applications in college and had to hand code assembly for a Motorola HC11. After that it all made sense. My senior design project was a complete implementation of the MCS6502 microprocessor in VHDL, which was the processor in the Apple IIe on which I had learned BASIC a dozen years prior. Brought everything full circle. And the part I found most satisfying was that despite not having access to any logical or circuit diagrams of how the Motorola engineers put the 6502 together, my finished device required the same number of clock cycles for each and every instruction as a real 6502. Working just from the instruction set architecture, I came up with what must have been the same implementation they did.

      --
      We don't have a state-run media we have a media-run state.
  49. Instructions by Anonymous Coward · · Score: 0

    1. Hit yourself to regain your common sense.
    2. Teach them Python.

  50. Why the hell has no one suggested Lua? by WarlockD · · Score: 1

    I mean seriously. One of the strongest arguments for basic is that you don't need to teach someone functions to start a program. With the goto statement in Lua, you got that. At the very least, once the student knows lua and goes on to other things, it will be useful if he ever needs to use it as a scripting language.

    1. Re:Why the hell has no one suggested Lua? by Anonymous Coward · · Score: 0

      Because so few people use it.

    2. Re:Why the hell has no one suggested Lua? by Anonymous Coward · · Score: 0

      Because it is for use by those with limited skills. :-P
      Thus you will find it in games as a scripting solution. Beyond that I have never actually found a problem that Lua was a reasonable solution.

  51. take a look at codebymath.com by Anonymous Coward · · Score: 0

    You might try looking at codebymath.com...I've used it to teach intro. programming skills to pre-high school students...links programming to math the students might be seeing in school.

  52. can't compete with angry birds... by Anonymous Coward · · Score: 0

    code.org
    then
    scratch.mit.edu

  53. Liberty Basic is the best modern traditional basic by Anonymous Coward · · Score: 0

    Http://libertybasic.com
    http://libertybasic.conforums.com

    I have been using it for years on the hobbyist level and to write custom software for clients.

  54. So many choices and you end up with BASIC? by Anonymous Coward · · Score: 0

    Quite possibly BASIC is the worst possible choice if your stated intention is actually correct. A CS student has no need of BASIC. It is a polluter of clean minds. Once infected it is difficult to cleanse.

    Now, if you are wanting accountants or web designers, you are spot on. Cause nobody gives a rat's ass about either of them. Web designers that know what they are doing are not included in this, but the web itself is proof that they are in the minority.

  55. Please, not BASIC by Anonymous Coward · · Score: 0

    Given the damage done to past generations who learned using BASIC, you must reconsider. Yes, BASIC is a great teaching language but it also teaches many bad habits as well. Some never recover enough to be any good at programming, or the quite entirely when faced with the task of programming in a real world language. FWIW, I did recover but I'll carry the scars to my grave.

  56. Pick another language by Virtucon · · Score: 1

    BASIC teaches concepts but really isn't a usable skill in the marketplace anymore. Try Ruby, Java or even C.

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
  57. BASIC?! by mysidia · · Score: 1

    Best Strategies For Teaching Kids CS Skills With Basic?

    Coming soon to a theatre near you.....

    • Best Strategies for Teaching Kids acting skills using as a model Jar Jar Binks from Star Wars I The Phantom Menace
    • Best Strategies for Teaching Kids Website Design using Microsoft Frontpage Express
    • Best Strategies for Teaching Kids Mathematical Modeling, Economics, and Finance using Microsoft Excel
    • Best Strategies for Teaching Kids Graphics Design and Video editing using Microsoft Paint
    • Best Strategies for Teaching Kids Civil Engineering and Architecture using Visio and Paint Shop Pro
    • Best Strategies for Teaching Kids Business and Marketing using a copy of Karl Marx's works
    • Best Strategies for Teaching Kids astronomy using a pair of cheap bonoculars and a $5 laser pointer.
    • Best Strategies for Teaching Kids Veterinary medicine using a paperclip, a rusty knife, and some Wikipedia articles
    • Best Strategies for Teaching Kids Culinary Skills using a Microwave
    • Best Strategies for Teaching Kids how to play music using a police whistle
    • Best Strategies for Teaching Kids to paint using Etch-a-Sketch
    1. Re:BASIC?! by Half-pint+HAL · · Score: 1

      Almost entirely agree, but there's a lot of astronomy that can be done even with the naked eye.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    2. Re:BASIC?! by Anonymous Coward · · Score: 0

      yeah your off on most of these, but still kind of funny...

      I don't think you have actually read Marx have you? Excel is very useful tool combine that with 'R' you have a very powerful platform.

  58. Modules !! by sciop101 · · Score: 1

    Teach modules I moved to C/C++ from BASIC (HP-BASIC) by learning BASIC modules to C ((C++) functions/routines/subroutines) by breaking down problems to fundamentals. JUST THINK!

    --
    The only thing new in this world is the history that you don't know.[Harry Truman]
  59. CS or Programming? by kuzb · · Score: 1

    These really aren't the same things. If you want to teach the computer science, the best thing you can do for them is teach them math instead of BASIC.

    If you're talking about programming, the best strategy is to find something they really enjoy doing and show them how they can use programming to solve a problem that involves that something. It's a lot easier to teach someone how to use a tool if they have a practical use for the tool.

    --
    BeauHD. Worst editor since kdawson.
  60. Basic error by Half-pint+HAL · · Score: 1

    In the old days, the best way to teach programming with basic started and finished with LOAD "C"....

    --
    Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  61. This emulates GW-BASIC and is GPL by jochietoch · · Score: 1

    While we're slashvertising BASIC emulators, PC-BASIC is a GPL, Python-based emulator for GW-BASIC. </plug class="shameless">

  62. You've already failed miserably by LostMyBeaver · · Score: 3, Interesting

    You haven't identified the problem you're trying to solve. At least you made a huge mistake of asking here since you're asking for opinions from an extremely opinionated community without taking the time to actually identify what it is that you're actually having problems with. It seems you just haven't even bothered thinking about it.

    1) Are you trying to teach CS to children? Is this the goal? Have you considered asking whether people with legitimate pedagogical sciences experience and studies have identified methods of teaching children topics of this type?

    2) Are you asking if there are other tested methods of teaching children computer science which have proven effective that can be adapted to the tool you want to use?

    3) Are you in love with a certain tool and while it has almost no practical value to anyone else, you considered it might be a great way to teach kids and now you want to see how you can justify the existence of such a tool (which should simple be, it was fun to make) by trying to use it in CS education of children because "Hey back in the 80's I used AppleSoft Basic and learned from that!"

    4) Have you stopped for a minute to decide whether you're narrowing your scope so much by choosing a specific tool and language that your first goal should have been "How do I teach kids CS?" and then "Are there any learning platforms already available for this?" and then "What are the benefits of making a new learning platform using a language like BASIC when the rest of the world, using well funded pedagogical studies have chosen alternative approaches?"

    5) Why are you trying to choose a language as a tool. You want to teach principles and things like linked lists and design patterns just are damn near impossible to implement in your language. Any form of real math is also shit in BASIC. Yes, we managed to do these things back when a PASCAL compiler cost $400 and a cheese burger cost $2 and BASIC was free. We have moved on.

    6) What are you actually hoping to teach with BASIC? Are you trying to teach them how to draw a line on a screen? Are you trying to teach them to do math? Teach them to do something more applied? What kind of tasks do you actually plan on teaching them? Did you honestly put any thought into this at all.

    I know I'm tearing you up here, but I hope you'll consider it tough love. You're trying to mess with children's minds. This is more than just a fun toy... you need to consider the implications of things like "If I teach them BASIC today, will it actually assist in building interest in kids that otherwise would have never programmed or will it chase off the kids who thought it might be fun but were scared to try and now will never try again because it was too nerdy."

    There are people who spend decades researching how to introduce topics like this into schools. They don't just say "Hey wouldn't it be great if we made them play with this for a bit!". These people instead are educated not only as engineers but as school teachers. Most of them have at least one masters and one bachelors and they think in terms of "How can we most productively introduce a topic like programming and CS to children" and then they research it with teachers, parents and children.

    I think you are very cool for being interested in getting involved.... I hope I gave you some food for thought and I really hope you take your ambitions further and accomplish your goals... once you figure out what they are.

  63. Good parents... by Anonymous Coward · · Score: 0

    Don't teach their kids C Sharp

  64. Programming in Basic causes brain damage by Geeky+Don · · Score: 1

    As my friend Edsger Dijkstra once said "It is practically impossible to teach good programming style to students that have had prior exposure to BASIC; as potential programmers they are mentally mutilated beyond hope of regeneration."

  65. Why Apple II BASIC? by Anonymous Coward · · Score: 0

    Of all the languages, why?

    For reference, I spent many a year bashing the keyboard playing with Apple II basic. I was *so* psyched to get a disk drive., and when AppleDOS 3.3 came out, I thought it was really cool beans. In the 80's. I still remember typing "pr#3", "pr#6", and call -151 to break into monitor, so I could enter hand-assembled code.

    I also remember running out of line numbers, then hand-typing in a machine-language renumbering routine to renumber the code, and trying to decipher spaghetti code when looking at someone else's BASIC programs, etc.

    Good times...but times have moved on.

    Back then the machines were only slightly more complex than a toaster. Now there's GUI's, evented interfaces, multi-threading, networking, the internet in general, VMs, god only knows how many APIs to learn, etc.

    Also, that particular BASIC has a *lot* of programming sins to answer for. Spaghetti code, using 'GOSUB' to call a function, all variables are global because there's no local storage, all lines must have line numbers, not real possibility of libraries, very limited memory, etc.

    There are things like scratch, GameMaker, etc that give kids a running start these days. You could use lua or python, and use a language that you might actually run across in the real world.

    Heck, I'd even say get Microsoft's Small Basic if you're on Windows.

    If you wanted a cross-platform language, I'd suggest something completely out there like http://livecode.com, as it would allow someone to write code for pretty much any platform they'd like, and has a community version now.

    Seems a waste of what is obviously decent talent.

  66. Oooo, Stinky-Stinky by breadlord · · Score: 1

    Well, Call me paranoid or cheap or whatever, but here's the only thing I see about licensing on their site: Please do not re-distribute this preview version of DiscoRunner. and despite seeing some stuff on Git about Disco and Runner, but no mention of BASIC there, I'm starting to think that this ain't GPL. Not that it has to be, but I like to know that up front. I'm not an idiot, but I'm often busy and distracted, and when I have to search their site and then the web for 10 minutes or so, and I still don't have a clear answer, then I'm not that stupid, probably, or they're trying to downplay this at least. I wish them the best, and commercial software is cool, but I'm one of those that imagines GPL in schools and instantly available to anyone that wants it. It has served me well and I'm very grateful.

  67. remove the smart phone by Anonymous Coward · · Score: 0

    Take away their smart phones and give them a 486 with a DOS install floppy...

  68. Help by Anonymous Coward · · Score: 0

    DIAF? What? I figure it's "Do I-something a Favor", but who/what is I-something? I tried looking up DIAF and I found out that the acronym means "Die In A Fire".

    1. Re:Help by BarbaraHudson · · Score: 1

      You must be new here :-)

      We've had far too many stories about people trying to make a quick buck with half-assed plans about "thinking of the children by teaching them to code." This is just another example, by someone whose 10 years as an Apple service tech gives them zero qualifications for instructing kids, and whose web sites put the lie to them being able to teach graphics design for $97 an hour.

      This is slashdot, not facebook. People here will take you to task for being an idiot in public.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.