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?

10 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
  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. 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.

  6. 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?