Slashdot Mirror


Why Johnny Can't Code and How That Can Change

snydeq writes "Fatal Exception's Neil McAllister discusses why schools are having a hard time engaging young minds in computer science — and what the Scalable Game Design program in Colorado is doing to try to change that. 'Repenning's program avoids this disheartening cycle in three important ways. First, it deemphasizes programming while still encouraging students to develop the logical thinking skills they'll need for more advanced studies. Second, it engages students by encouraging them to be creative and solve their own problems, rather than just repeating exercises dictated by their instructor. Third, and perhaps most important, students are rewarded for their efforts with an actual, concrete result they can relate to: a game.'"

18 of 527 comments (clear)

  1. Offshoring. by sethstorm · · Score: 4, Insightful

    Johnny can code, just that there's too much against Johhny to make him want to do so.

    Get rid of offshoring, and Johnny will want to code.

    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
    1. Re:Offshoring. by Anonymous Coward · · Score: 5, Insightful

      Middle school and high school students haven't had to fret about offshoring, I doubt that's a factor...

      I think the big difference is, people in the industry (even young people, shortly out of college) grew up with (at minimum, if not earlier systems) DOS based systems, Windows 3.1, IRC chat client's etc. "Back in the day" anyone interested in using their computer for something useful had to learn to do it themselves, and tinker, and become interested in expanding their ability to make their computer do what they want.

      Now, before they can walk, they have 3D games, music players, Facebook and all other forms of social media. I'm not saying it's all bad, but, where is the drive to get someone young interested in computing? To them, using a computer is playing a game, or reading Facebook. Not writing a script for mIRC to scrape text for keywords and have your bot auto respond to people, because that's what used to be fun.. 10+ years ago..

    2. Re:Offshoring. by Kagetsuki · · Score: 4, Insightful

      Bullshit. Jina can code just as well as Johnny if not better, and he doesn't have the elitist "I'm always right because I studied design theory for four years" attitude. That's the problem.

      I had played around with coding myself, but really learned first at Stanford. The thing is after returning to Japan I went to a specialty school that didn't even have an entrance exam - anyone can attend, and had to re-learn everything during the first year. I thought this would be worthless, but I quickly found out I had been taught how to code very poorly. You could easily draw parallels from programming education to math education in America vs math education in Japan or India.

      I'm sure I'll get marked flamebait for all of this, but from my personal experiences both learning to code and working with other coders from America, Japan, and India I can tell you I'd probably never choose to partner with an American coder over an Indian or Japanese. Drop the attitudes and learn from those who in reality are doing it better than you.

    3. Re:Offshoring. by betterunixthanunix · · Score: 3

      Get rid of offshoring, and Johnny will want to code.

      You make programming sound like some kind of a chore, a typical day job that someone is only going to do because they are paid to do it. I am sure that such programmers exist, but the best programmers out there are the ones for whom programming is as natural as breathing, who would be hacking even if they were unemployed, and who are enjoy the work that they do. This is not terribly different than the situation with mathematicians -- the best mathematicians are the ones who love math.

      America has a lot of trouble teaching math to middle school and high school students, at least by comparison with other countries. It should come as no surprise that we have trouble teaching computer programming, which is very close to mathematics. It also doesn't help that we have a mass media that portrays computer programmers as these nerdy anti-social types (yes they sometimes become rich, but we glamorize people who were born into wealth).

      --
      Palm trees and 8
    4. Re:Offshoring. by Octorian · · Score: 4, Insightful

      And the current trend in computing devices is one from where the normal consumer device could be tinkered with, to where the normal consumer device is forbidden from being tinkered with. Its only a matter of time before you'll need a special "development system" to do any tinkering at all. Of course there are many in our age group who may not see this as a problem, because *they* would get such a system, and *normal* people don't need one anyways.

      And you know how likely it is for a middle-schooler to actually have access to such a system? Especially when the parents aren't tinkerers themselves? Practically zip!

      Think about it.

    5. Re:Offshoring. by scottbomb · · Score: 3, Insightful

      Or maybe you're just getting started and NO ONE will even look at you unless you've got 3-5 years of professional experience.

    6. Re:Offshoring. by anyGould · · Score: 4, Informative

      So tell me how you "kill" offshoring? I'm curious what you magic antidote is to prevent companies from operating in a cost-efficient manner.

      Easy - remove the loopholes that make it cost-efficient for companies to offshore.

      This doesn't mean protectionism - just closing the rules that allow companies to shift their revenues and losses between tax districts will do wonders to encourage companies to work in house.

    7. Re:Offshoring. by BigDaveyL · · Score: 3, Interesting

      Quoting from your post:
      "Even WITH offshoring Software Engineering is one of the ONLY segments of the US economy that is still hiring and has a serious shortage of qualified people."

      I think you need some additional quantifiers here - employers set the bar high and don't want to pay for a rockstar. There will always be a shortage of the super highly skilled/niche programmers, and these people will easily find jobs because of their highly skilled/niche status.

      Also, employers are unwilling to recognize transferrable skills and adverse to having promotions/employee development. For example, I know people that are stuck programming VB 6 because their employer doesn't want to upgrade to the new fangled .Net stuff. When employees want to look for a new job, they are told "Sorry, you don't have .Net exp." so they are stuck supporting crappy apps, even though they could be an above average programmer.

      I also thought I read somewhere that colleges and universities are graduating enough people in computing related fields to fill computing related jobs. If this is true, then the shortage is less of an issue.

      So in conclusion, there is only a shortage of people that are highly skilled and have real world exp. in what you're specifically looking for, and willing to accept your pay. All others need not apply.

    8. Re:Offshoring. by scruffy · · Score: 4, Insightful

      And the current trend in computing devices is one from where the normal consumer device could be tinkered with, to where the normal consumer device is forbidden from being tinkered with.

      There are a couple other trends that make it more difficult for learning computer programming.

      Even if it's not forbidden, it's very difficult to tinker with any number of devices. When I was a kid, it was useful to spend some effort to take a device apart, figure out what was wrong, replace or juryrig some part, and put it back together again (sounds like programming, doesn't it). Nowadays, you need special tools and even if you get it apart, there's not much that you can tinker with.

      Another trend is that math in schools depends more and more on using calculators rather than manually applying an algorithm to add, multiply, whatever. This might be ok for math, but students lose out on problem solving skills.

      Overall, there are a number of factors that result in kids not having to learn problem solving skills that come in handy for computer programming. You could include following recipes in a cookbook, making up games and arguing about the rules, sewing, fishing, wandering around by yourself and finding your way back. Kids hardly do any stuff that involves real-world planning, execution, and debugging. No, a video game does not suffice for this (at least not so far).

      The result is that college instructors (such as yours truly at an average college) end up with students that are essentially clueless about putting one step after another. Because the students have not been exposed to this, they are crippled when it comes to doing programming for the first time, and only a lucky few make it through the first few courses.

  2. if you're not interested in computers.... by Anonymous Coward · · Score: 5, Insightful

    no amount of coddling will make you a good programmer.

    1. Re:if you're not interested in computers.... by Anrego · · Score: 4, Insightful

      A disturbing interest in the kind of things that put off the kids described in this article

      There are exceptions, but most of the programmers I know (and myself), when first exposed to computers, immediately started wondering how they worked and how we could "make programs". If that curiosity and interest isn't automatic and you have to be "tricked" into it... in my opinion you'll probably be a bad programmer.

  3. In other words .... by tomhudson · · Score: 4, Insightful

    ... it's designed to attract the types of students who are disinterested in, or don't have the mind-set for, "real programming".

    That worked out real well for all those colleges that churn out useless web monkeys - but not so well for the unemployable students going around with their "Certificate as a Webmaster's Assistant".

    What next - "Programming by Powerpoint"? Oh wait ...

    1. Re:In other words .... by Rogerborg · · Score: 3, Informative

      Not necessarily. Johnny could be a diamond in the rough, but thinks that programming is hard and pointless. By giving him a rewarding goal that shows results quickly, he might discover that he actually has a talent and a passion. It worked for me - I only learned to program so that I could hack Netrek, and now I do some fairly deep fu.

      Remember, we're competing for Johnny's heart and mind. Would we rather that he became a lawyer, or an accountant?

      --
      If you were blocking sigs, you wouldn't have to read this.
  4. Re:Motivation by geoffrobinson · · Score: 3, Insightful

    I understand your feelings. At the same time it sounds like someone learning chord progressions on the guitar and wondering how it was applicable to playing Led Zeppelin songs.

    --
    Except for ending slavery, the Nazis, communism, & securing American independence, war has never solved anything.
  5. Re:Programmer vs Computer Scientist by siride · · Score: 5, Insightful

    The poster made a mistake because of a homophone. Before you assume that he doesn't know the difference, consider that it may just be an honest mistake. I know the difference, for example, between "no" and "know", but when typing quickly, I might accidentally type the wrong one, and if I'm not careful, I won't go back and fix it. It doesn't mean I'm an idiot who doesn't know basic English. It just means I'm being careless. And for the commentary section on a second-rate news aggregator site, I don't think that's a big deal.

  6. Teaching by Aladrin · · Score: 5, Insightful

    It has been my experience that walking a student through making something simple will widen their eyes considerably. This usually means something like an easy game where they can visually see the results of their work. Games that can be modified easily are even better, because they -will- play with the code and try to improve it for their own tastes.

    On the other hand, teaching them to write a linked list is mind-numbingly boring for someone who can't imagine why they'd want such a thing.

    Getting people interested in programmer is mostly about giving them the right exposure at the start.

    This course sounds like it at least is headed the right direction.

    --
    "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
  7. Re:Its not the icky? by Moryath · · Score: 4, Insightful

    just like normal people aren't clever enough to use Linux (hence it's low market share)

    Uhm... try that one again.
    Most people don't use Linux because:
    - The support for it is limited to forums where you never get actual help, but instead a bunch of ass-hats who shout back "RTFM LAMZOR" and similar insults at you. If you write in to a bug report forum or a feature request to some bit of software, someone screaming "the beauty of it is its linux so you can fix it yourself so go fix it yourself and post the fix noob" is not comforting or likely to make you stick around.

    - Most of the programs they are looking to run, don't run on Linux (games industry, sadly, used to be a lot better but has backslid over the years considerably).

    - The "open source alternatives" to many of the programs they run, have problems with shifting crap around on them for poorly documented reasons.

    - You don't just "switch to linux." You have to pick one of a gazillion discordant distros, or else fuck around trying out every goddamn one for six months to settle on the one you like and HOPE that it remains updated and supported thereafter. And that they don't fuck with you in the next release, like Ubuntu just did forcing this crap "Unity" interface. And that the architecture for your particular distro isn't rewritten in some bizarre-ass fucking arcane way that causes your particular hardware to break on the "standard linux driver"... presuming one even exists.

    I won't say that there aren't very intelligent people using Linux - there obviously are. But it has become very obvious to me over the past 15 years that the people programming Linux, the people designing interfaces for Linux, and the people evangelizing Linux, have absolutely no goddamn fucking clue what a normal desktop user wants, needs, or what will appeal to same. I refer you to this insightful post from someone who also has spent plenty of time with Linux as well.

  8. Re:Motivation by wed128 · · Score: 3, Insightful

    This.

    A lot of people taking computer science in college and wondering why they're not learning how to do ASP.NET projects in Visual Studio belong in a Tech School. The world needs bottom level implementers just like it needs ditch diggers.

    University level computer science is about Design, not Implementation.