Slashdot Mirror


Do Kids Still Program?

From his journal, hogghogg asks: "I keep finding myself in conversations with tertiary educators in the hard sciences (Physics, Astronomy, Chemistry, etc.) who note that even the geeks—those who voluntarily choose to major in hard sciences—enter university never having programmed a computer. When I was in grade six, the Commodore PET came out, and I jumped at the opportunity to learn how to program it. Now, evidently, most high school computer classes are about Word (tm) and Excel (tm). Is this a bad thing? Should we care?" Do you think the desire to program computers has declined in the younger generations? If so, what reasons might you cite as the cause?

16 of 1,104 comments (clear)

  1. yes, they do! by yup2000 · · Score: 5, Interesting

    But they're not programming computers...

    they're programming calculators like the TI-83 Plus and TI-89 ... just look at sites like www.ticalc.org

    not only that, but they're learning C, ASM, and BASIC... wow!

    1. Re:yes, they do! by Doppler00 · · Score: 5, Interesting

      I doubt it. 99% of the kids with those calculators only care about how to get "games" to run on them. Maybe the 1% already know how to program on computers anyway. And you're almost guaranteed that the teacher won't be giving a lesson on even how to make basic functions to save time in calculations.

      And it's a shame because pretty much any science degree you are going to be doing some programming for data analysis (MATLAB, python, etc....).

      Thinking back I remember programming the Apple II's in our computer lab during lunch in 6th grade instead of playing outside. The neat thing about those computers is you had a very simple easy to use programming environment built into the computer. I'm not sure what computers are like now in schools, but my guess is they are heavily locked down and only include office applications and a web browser. That's just too bad.

    2. Re:yes, they do! by Tatsh · · Score: 5, Interesting

      Completely true. One lab does teach HTML but they also use FrontPage to help (can't say I didn't myself when I started learning at like age 11 (what age are you in 4th grade?)). If I were going to teach someone nowadays, I would teach them straight through without any help from software other than the browser (and I would recommend Firefox for testing) and something like Notepad (Textpad, Notepad++, etc). I'd recommend Notepad++.

      In my school the computers are very very very locked down. If you right-click the desktop and go to Properties, there are absolutely no options. The screen is all fucked up to be blanked out of options. So we can't have roaming profiles (which baffles me, I cannot stand that shitty blue taskbar and crap like that). Also, by using network booting, they force Windows XP to load on some really really really old computers, which baffles me as well. Why is this bad? Because kids can't tell the difference! One girl was working on a video project (in shitty WMM) on an old computer. She then wanted to finish it off and get it encoded and when she hit encode the computer just froze entirely. She said she didn't save at all either (her fault). I had to tell her that she had to do it again and that if she saved it would be okay but then I had to tell her that these computers she was on are not made for video encoding and if they didn't freeze on encoding they would take a year to encode anything at all. She was then all confused because I used the word "encoding" and pissed off.

      My only hope for not using that piece of shit IE at my school is putting in my flash drive (USB 1.0 on the old computers that have USB so I never try) and running Firefox off of it (which works okay). I can also run several other apps. Otherwise, I wish my school would use OpenOffice also instead of buying a million licenses for M$ software (Office) (Right now I have to keep OO and M$ format on my flash drive). Whenever there's a legally freeware alternative to anything, it's like they completely ignore it. Firefox would be great on the systems, along with the teachers using Thunderbird instead of Outlook, etc.

      As far as programming, schools get a huge discount when they join some kind of thing with M$ and then they get Visual Studio and the license also allows students to take it home and install (I pirate mine for now). My school has not done this and I don't think they plan to. Since I'm taking the online course in AP Computer Science next year, I have yet to figure out how one would do programming without a compiler installed.

      Staying on topic, I guess I am a kid (17 about to turn 18, started doing shit at 11). I have experience in HTML, C, C++, and Java. I have not mastered any yet, but still working on it. At age 11, my parents got me a decent computer (although it was a Compaq :/) and I began to just play and play till I learned, because my previous computer had Windows 3.1 and 98 was different in a lot of ways. I used what I learned from school since they had 98 and then tested things out. Best way to learn and no one but me seems to understand this. After making my first HTML pages in FrontPage I saw a View Source option in the program and began to understand HTML easily. Unfortunately, I expected other languages to be as easy and was soon dumbfounded. I picked up a book on C one day and got my hands on a copy of Visual C++ 6.0 (still used by many today). Did the same for C++ and Java. I have a lot more reading to do and I am working on a few apps. Just the other day I needed an app that could modify an INI file based on what I input, which would be easier than opening the INI file in Notepad just before every time I opened the app. It's a handy app but only useful to me. Did that in C++ in about 5 minutes. After getting that Compaq I learned about the innards of a system from one of my dad's friends, and started building my own PCs.

      Pretty much everyone else at my school has no clue (there are a few that do). They have no idea how computers work and they recently learne

    3. Re:yes, they do! by fuzzix · · Score: 5, Interesting
      I have experience in HTML, C, C++, and Java.

      Cool. The thing is, learning languages isn't really the most important thing to consider when programming - languages can be picked up depending on requirements at any time. Once you know the fundamentals of one it's easy to pick up another.

      The real art of programming comes from an understanding of algorithms and complexity. You can know every feature of a language but without the ability to apply it in an efficient manner that works it's not going to get you far. The focus on filling people's heads with syntax is a serious failing of many college courses. There should be more time spent on the fundamentals of programming theory with a single language being taught alongside to show how this theory is put into practice.

      When you familiarise yourself with common methods for every day problems you'll start to notice ways to make your own solutions more elegant and efficient. You'll be able to tell which algorithm takes more operations to process some data set or which one requires more RAM... then you can implement it in any language that takes your fancy. To me, that's the important stuff in programming. You have all the time in the world to learn languages, but without this stuff it won't come to much.

      I learned this the hard way. I say it here so you don't have to :)

      Luckily there is as much free help on algorithms out there as there is on any programming language. I just found a decent looking algorithms tutorial collection and there's also the Dictionary of Algorithms and Data structures. Hmmm... looks like I found some weekend reading material!

      Oh, and there's no shame in designing on paper... the day will come when you don't need to do it, but until then it does no harm. Jees, I sound like an old fart here. I'm in my 20s, I swear!
    4. Re:yes, they do! by Mr+Z · · Score: 4, Interesting

      I think many teachers already have a hard time anticipating what the computer is going to do. The thought of letting the kids make it do something different must be terrifying for them. At least, that was my experience.

      Every so often, you find a clueful teacher or two. Problem is, as computers get more complex, the bar for cluefulness keeps rising and all the clued get jobs in industry.

      --Joe
    5. Re:yes, they do! by HokieGeek · · Score: 3, Interesting
      hear hear! The best thing that my parents did for me in high school was getting me a laptop so i could "take notes." I spent all of my class time programming and based on what I taught myself during those 4 years, I went off to college pursuing a CS degree which I'm expecting will be awarded in a couple of weeks!

      But, like many people have said already, the problem is one of initiative. I had the initiative to pull out my TI-82 and fiddle around with it enough so that, when I got the laptop, I had a decent idea of what I was doing. Yet even CS kids, on the whole, don't do any programming that they aren't asked to do. Personally, I "take breaks" from working on programming projects to work on my own projects, yet that's considered a bit weird and over-the-top by most people in the degree in my school!

      Personally, I think this is but a small example of the greater apathy that has spread across the country.

      --
      What's a "sig"?
  2. Primitive interfaces by CRCulver · · Score: 4, Interesting

    Learning programming was so frequent back in the day because the primitive nature of early PCs required people to be able to do so low-level work to use them well. Heck, the Altair didn't even have a monitor, you had to flip switches to process commands. Freiburger & Swaine's Fire in the Valley shows you some of these early computers and their users. Everyone was programming back then because these simple machines attract a crowd of people willing to think analytically.

  3. Yep, they are. by FireballX301 · · Score: 5, Interesting

    I cut my teeth on C++ when I was nine. Graduating from HS this year with a few years of C++, some cursory Java, some cursory web 'languages' below my belt.

    The main issue here is that programming isn't necessary anymore for kids - whatever any kid wants to do they can rush out and buy a bit of software for, or find a utility online. All the functionality they'd want is at their fingertips already, so programming is left to the tinkerers.

    And I rarely program anything for fun anymore because I'm overscheduled. Too many classes, too many bloody standardized tests, and programming itself isn't rewarded at the HS level because of a refocus on reading, 'riting, 'rithmetic. Out of the set of dedicated students, the more well off kids burn time at prep schools and cram classes, the less well off burn time studying. Few chances to program 'for fun' - I've got a really old RPG engine that I add bits and pieces to every now and then, but there's no way I can finish it anytime soon.

  4. Learning curve of linear vs OO? by jgaynor · · Score: 4, Interesting

    Do you think the desire to program computers has declined in the younger generations? If so, what reasons might you cite as the cause?

    When I was in elementary school we had this GREAT program called 'LAMP' (logic, art, mathematics, programming) where they took the smart kids out of class every once and a while and had us do extracurriculars in the above-mentioned subjects. The 'programming' aspect consisted of nothing but logo and some linear BASIC on TRS80s, but it at least got me interested in futzing with my Commodore 64 to the point where I could make rudimentary text programs and dream of mastering the 'poke' command.

    Without an easy-to-learn language like BASIC where do you begin to teach the fundamentals of programming? The syntax, class structure, includes, etc of modern object-oriented programming languages are a huge barrier to picking up the basics. Would you start a third or fourth grader out on Java? C++? I certainly wouldn't be able to handle that - I had a difficult enough time making my LOGO turtle move around. Perhaps the best solution would be some sort of drag-and-drop IDE, like visual basic for 6 year olds, where children could understand the concepts of programming without being overwhelmed by the syntax all at once. Anyone know of one? I seem to remember something similar using java beans demoed by Sun while I was in college . . .

  5. Instant gratification by Dorsai65 · · Score: 3, Interesting

    I think there's also the problem that so many of today's kids are so used to getting instant gratification (i.e. - they're spoiled) that the sustained intellectual effort necessary to learn programming is simply beyond them.

    I came to this realization in a (mandatory) Intro to Programming course I had to take at the local state college. 3 1-1/2 hour sessions a week, and half the class had disappeared before the end of the 3rd week; in the hall before class, I heard many of them complaining that they didn't 'get' the concepts behind programming: AND vs NAND, OR vs XOR, NOT, and so on. Non-decimal arithmetic (binary, octal, and hex) threw them completely. Boolean logic might as well have been Swahili for all most of them understood it. It was, as I said, a mandatory course; they were going to HAVE to take it to the end, sooner or later - yet most of the drop-outs simply didn't want to be bothered. The (very) few of us that already had some experience programming cruised through while the rest (including some taking it for the 3rd or even 4th time) applied whatever mental effort was needed to learn the subject.

    I heard one of the disappeared comment to a friend "What do we need this crap for, anyway? All the programs we need are already written; you just have to know which one to buy or download!"

    --
    --- Asking inconvenient questions for over 30 years...
  6. Re:It's Too Hard!!! by dcapel · · Score: 3, Interesting

    Speaking as one who is too much older than the demographic you speak of, and is a fairly competent programmer, I call your BS. Complexity has gone up, but it is by no means beyond someone who is interested and dedicated.

    My school doesn't offer any classes in programming, so I teach myself, but sadly, I'm not sure how many people would take it if they did offer it. Most kids my age are just lazy sheep; programming isn't required to graduate, and it isn't 'cool', so people don't take it, sans geeks.

    Geek to sheep ratio is low though :/

    --
    DYWYPI?
  7. Re:It's Too Hard!!! by iamdrscience · · Score: 3, Interesting
    the problem is that there IS no BASIC interpreter shipped with windows or Mac OSX
    No, but OSX has plenty of other (better) choices. I mean, OSX now comes, out of the box, with perl, python, ruby, PHP and TCL installed, not to mention applescript, javascript and the various shell scripting languages (bash, csh, tcsh, ksh, zsh). I'm sure there are more that somebody could point out as well.
  8. Some do... by mkiwi · · Score: 4, Interesting
    Some kids really do care about programming, but really good development software costs lots of money. That was definately my barrier into programming: I wanted to learn when I was really young, however I could not afford Metrowerks CodeWarrior nor were my parents willing to buy it for me. When your net worth is less than the cost of a computer program that makes it hard to enter the field.

    Now, enter open source software. Guided by the right people and articles, anyone can learn to program. Guidance is the key word here. Most kids aren't going to go off and buy textbooks just to learn how to Do Cool Stuff.

    A lot of programming is a mystery and there needs to be better education earlier in schools about what programming is. Programming is just like Math or Chemistry these days- it is required for many B.S. majors and can turn out to be hell if someone did not know what they were doing. In order to prepare kids for college, programming in a language like JavaScript would be a good starting tool. There is no barrier to learning JavaScript- the compiler exists in (almost) every web browser, which students should have access to.

    Some of the problem is that few people how to teach at the High School level very well. VB is not a good language to learn on, and it causes awful headaches for students who later decide to learn Java and C. VB, though, seems to be what is taught, even though most students do not have access to a VB compiler at home. Learning in school is not enough- it is homework that is also important. I advocate teaching kdis HTML and JavaScript so they can make a cool web site with image rollovers, calculators, and other various algorithms.

    Not only does this introduce the concept of programming, but it also gives students a great tool for publishing resumés and marketing themselves as an intelligent young people who have something going for them.

    A nice web page can do a lot, even if it is just a little.

  9. It's not just programming... by Anonymous Coward · · Score: 3, Interesting

    I work with middle-school kids. The biggest difference I see, compared to
    kids 20 years ago, is the total lack of
    curiosity. About anything.

    When I was a teenager, we talked about what it would be like to live in Alaska;
    tried to figure out how to buy a sailboat so we could bum around the islands; bought motorcycles and made road trips to California.

    If you mentione such ideas now, kids will just shrug and say 'whatever'.
    There's no sense of adventure there anymore. No curiosity whatsoever about
    anything. Including programming.

  10. Advice to the young by Just+Some+Guy · · Score: 5, Interesting
    Since I'm taking the online course in AP Computer Science next year, I have yet to figure out how one would do programming without a compiler installed.

    Just so you know, computer science has almost nothing to do with programming. You'll write some code to explore compsci concepts, sure, but no respectable college will make that the focus of your degree. I mention this because there were a lot of surprised freshmen at my school, and I'd like to help you not be one of them.

    I have experience in HTML, C, C++, and Java. I have not mastered any yet, but still working on it.

    Apprentice: "I still have so much to learn..."
    Intermediate: "I know this language inside and out!"
    Expert: "I still have so much to learn..."

    If you think you've mastered a language, you haven't. Don't let yourself forget that.

    --
    Dewey, what part of this looks like authorities should be involved?
  11. Re:No there's MySpace by scribblej · · Score: 3, Interesting

    It didn't start recently, that's the shame.

    I haven't been in school in a decade, so I don't know how much worse it may have gotten, but things have been on the way downhill since before I was in school myself.

    I've recently become a fan of Richard Feynman, and he has some scathing things to say about the teaching of Algebra when *he* went to school. I'll relate one of his stories as best I can from memory, but I do highly recommend reading his "memoirs" such as "Surely You're Joking, Mr. Feynman" even if the lectures he gave on physics do not interest you.

    He talk about when he was learning mathematics himself, as a kid -- I believe he was about 10-12 and he'd taught himself algebra from a book called "Algebra for the Practical Man" or some such -- at any rate, his cousin (I think) was learning Algebra in school at the same time. And he told Richard he was having a hard time with some problem, say 2x + 4 = 8, solve for x and Richard said, "Oh, you mean '2'?" and his cousin said, "Yes, but you did it by arithmetic; we have to do it by Algebra."

    Feynman then makes the claim that this is evidence of how the school system is in decline; he knows the important thing isn't how you get the answer, it's understanding how these things relate and (he explains all this much better than I do) that schools had invented this "process" called "Algebra" where you could follow some rote steps and arrive at the right answer with no understanding whatsoever of what you were doing.

    Tell me if that last part doesn't ring true for the education YOU received in Algebra. It certainly does for me.

    -Chris