Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Education Programming

Want To Get Kids Interested In Programming? Teach Them Computer History 200

An anonymous reader writes "With poor IT teaching putting kids off pursuing a career in the computing it is time to look for a new approach. Taking kids back to the time of computing pioneers like John Von Neumann and the first machines — the likes of the Z3, the Eniac and the Colossus — would both inspire them and help get over the fundamentals about how computers work, argues silicon.com."
This discussion has been archived. No new comments can be posted.

Want To Get Kids Interested In Programming? Teach Them Computer History

Comments Filter:
  • by Anonymous Coward on Saturday January 07, 2012 @09:36AM (#38621258)

    ...with PowerPoint.

    >:(

    • by polymeris ( 902231 ) on Saturday January 07, 2012 @09:47AM (#38621304)

      Why?

      Last week I put together a one-hour implementation of Reversi [wikipedia.org] & showed it to my little brother (he's 12). I expected his reaction to be "meh", since the board was represented by a boring 2D array of dots, Xs and Os representing the pieces, and the input was in numerical coordinates, and of course he's used to cinematic 3D games and mouse input.
      To my surprise, he not only had fun playing, he wanted to know how I had done it, what could be improved, pointed out bugs, and keeps nagging me to fix them.

      Still don't know what the best way to start programming would be for him, but motivation is not the hard part.

      • by Anonymous Coward on Saturday January 07, 2012 @10:04AM (#38621410)

        EXACTLY! The way to get kids interested in programming is to encourage curiosity -- give them the code to a simple video game (tetris? Space invaders?) and let them tinker with it.
        Nibble & Byte magazines used to list page-after-page of source code for Apple][ games. Typing that in, debugging the inevitable mistakes, etc. are good practice! Or show them the amazing old BeagleBros. 2-liner programs.

        • by ledow ( 319597 ) on Saturday January 07, 2012 @10:26AM (#38621536) Homepage

          Most kids, especially boys, when given something like a programmable game that they can play will spend hours doing things like changing it so they get a million points, or changing it so their character looks like a penis, or changing it so that there are a million things on screen, etc.

          It's actually *not* a bad way for them to learn at all. See, understand, experiment, see results of experiment, tinker more. It's how I got into programming at first - sure there was a lot of typing in listings, etc. but the coolest bit was to be able to tweak the QBASIC Gorillas game and things like that.

          In my early teenage, I was ripping the graphics resources out of games like Castle of the Winds and trying to create my own version, and cracking the CD protection on Desert Strike for myself so I didn't need to keep swapping the fecking disks (I did that using MSDOS debug and a copy of Ralf Brown's Interrupt List).

          But the greatest initial impetus, that hooked my entire maths class on silly graphical-calculator games I was writing, was for them to see the code, tweak it and start to understand how it worked.

          I spent hours with a teenager who was working under me for his work experience (two weeks in a "real" job while they are still at school) explaining how to program and the most interesting thing was that they couldn't see how, e.g., 3D, sound, joysticks, etc. could be thought of in the same way as the numbers they manipulated in a basic dice game. Once they realised that everything from networking to 3D to AI to physics was just a matter of manipulating numbers, the "magic trick" of their console games was revealed and they wanted to replicate them.

          • by Moryath ( 553296 )

            doing things like changing it so they get a million points

            Cool, they figured out how the code handles scoring!

            changing it so their character looks like a penis

            So sweet - they not only identified how the sprites are stored, they created their own sprite and inserted it correctly into the game's code!

            changing it so that there are a million things on screen

            And then they get to watch what happens as the computer tries to render it - plus they actually changed the engine to do this.

            I spent hours with a teenager

            • by plover ( 150551 ) *

              I totally agree that getting the kids excited is the key.

              While I wouldn't say that teaching by hacking or teaching history is necessarily a "better" way than teaching foundational basics such as Boolean math, CPU architecture, and storage, what I would say is that if the teacher has passion for the subject he or she is teaching, that's what will show through to the students. If the teacher is passionate about history, that's his best approach. If the teacher is passionate about flip flops and gates and ma

      • Re: (Score:2, Insightful)

        by Anonymous Coward

        In my own experience, a good coder understands everything from the fundamentals up to the high-level algorithmic concepts. If motivation is not an issue, then teach him Assembly first. He does not have to write a bootloader, but he should understand how a CPU does mathematical and logical ops, movs, jumps, stack etc etc. Don't spend too much time, and use an emulator such as Easy68K or SPIM. Then you can move on to C, which is where he can have a bit more fun writing text-based programs, or even something

      • by JPLemme ( 106723 ) on Saturday January 07, 2012 @10:30AM (#38621562)
        Last year I wrote a simulator of a VERY simple computer. It had four instructions, 16 bytes of memory, and 2 registers. There were no branch instructions; literally the only thing you could do was write a program to add two (8-bit) numbers together. (And it would set the error bit if the result was bigger than 255.) I gave it an interface of nothing but (simulated) LED lights for the registers and memory, and then (simulated) push buttons to select a memory address and poke a value into it. It looked like a relic from 1956.

        I then explained it to my then 9 and 11 year-old sons (who both are teaching themselves to program), explained base-2 math, explained how the "computer" worked and the four instructions they had available, gave them a whiteboard, and tasked them with writing a program to add two numbers.

        They went NUTS! They were discussing theories, pointing out errors in each other's ideas, and getting excited when they fixed bugs. And they were doing it with a maturity level way beyond their years. They loved it. And I think that part of it was because it was simple enough that they felt in control of it. I also had the memory lights turn green as the instruction pointer advanced, so they could watch the program running. (It was slow enough that they could follow it and watch the registers change.) Granted, my boys love history, so that may have sweetened the deal for them a bit. But I was shocked at how easily they picked it up and how much they enjoyed it.

        I'd like to expand it to the point where they can watch a stack operating, and see pointers and offsets getting used, but I just haven't had the time to follow up on it. But it confirms (for me) that the idea of starting at the beginning might be the most effective way to teach programming. (I also taught programming at a local trade college for a few years, and I noticed how much harder it was for the students to pick up--say--OO programming concepts when they had never had to deal with the problems that OO concepts were designed to solve. Trying to simplify it even more for elementary school students seemed mis-guided.)

        The very best part of the story was six months later touring the Mercury Redstone program blockhouse at Kennedy Space Center (I know it's not technically on the KSC property, save your breath). They had an old Sperry-Rand computer with a console full of lights, and both boys lit up and told the (confused) tour guide "I KNOW THIS! I KNOW HOW TO PROGRAM IT!". It nearly brought a nerdy tear to my eye.

        P.S. If anyone is curious for more information I'd be happy to share. It wasn't very complicated, but I think it has a lot of potential.
        • RCA 1802 (Score:5, Interesting)

          by Kupfernigk ( 1190345 ) on Saturday January 07, 2012 @11:12AM (#38621910)
          In ancient history, if you needed a really low power microprocessor based system, there was a processor made by RCA called the 1802. It was CMOS, and I once demonstrated a development board running off two lemon halves with a copper and a zinc rod in each one. It was very slow but, and here is the point, it could be clocked down to zero. You could single step, not just instructions, but the entire cpu fetch/execute cycle, see the memory address go out on the bus, see the data. Although it had a stack pointer you had to manipulate it programmatically, and write subroutines to handle subroutines, nesting and returns.

          It stuck me then it would be the most perfect teaching tool, because you could do anything with it from teaching the von Neumann architecture to running BASIC on a terminal. The processor and its support chips are long dead (I'm writing about the late 70s), and there doesn't seem to be any modern equivalent.

          • by tibit ( 1762298 )

            Modern equivalents of "old" chips behave just like that. Believe it or not, 6502 is still made, in CMOS, as 65C02. It runs down to 1.8V -- at that voltage it has 0.5mA/MHz current consumption, and 1uA static leakage. It will run from those lemons all right, assuming you hook it up to equally low-current peripherals. All you really need is a static ram chip, and some glue debounce logic for the switches.

            • Re: (Score:2, Informative)

              by Anonymous Coward

              At the risk of having the site melt down...

              http://www.6502.org

              All kinds of things there. Also, Quinn at blondiehacks has been throwing together her 65C02 project, errors and all, and it's rather fun reading.

        • Yes yes, please share. Post it in a web site for download or something. One of my best learning experiences way back when was using one of those microprocessor-on-a-board kits that had a hex keyboard and a two character LED display. I often considered picking one up just to tinker in assembly language.
          • by gmhowell ( 26755 )

            Are those things still available? I noticed a dearth of such stuff the last few times I've been into Radio Shack.

        • I really got excited when I read a book about how to actually build up a computer from basic gates. Much more interesting than some silly web page. Tell kids that it's all about reimaging disks and setting up applets and enforcing policies and they'll decide to go into law instead, and that would be bad. Instead tell them about REAL computers, things you program instead of just write scripts for, schematics to read, etc.

          When I was in high school a friend-of-a-friend heard I was interested in computers an

  • Riiiiiight. (Score:5, Insightful)

    by OG ( 15008 ) on Saturday January 07, 2012 @09:38AM (#38621274)
    Because there's nothing more that kids love more than history lessons. Seriously, most kids have access to a computer these days. Those with the interest and aptitude will find themselves in the industry or academia, more likely through gaming than through history.
    • Re: (Score:3, Interesting)

      by Tx-0 ( 572768 )
      I honestly think the interest a kid will show is proportionate to the passion he feels in the words of the teacher.
      • by Yvanhoe ( 564877 )
        More and more, I wonder what is the value of an average teacher and of a classroom in this day of cheap communication and monstrous information databases. There is one year's worth of lessons that teaches about critical thinking, learning to learn, learning to find good information. The rest can be done autonomously by kids.
    • The best way of getting people interested in anything is to teach them history. Really. Marketers even use that "feature" of our species to sell, you just look for marketing advice and you'll see how many advice you to tell your history. People are interested on history (fake or real), and that is one of the few things that nearly everybody likes.

      Now, you probably thinking about boring classes you had at school... If they were boring, they probably didn't consist of much history, but of fact memorization. P

      • by deroby ( 568773 )

        I'm on the other side of the argument.

        I loved and still love to solve problems and improving stuff. I HATED history lessons, even if those related to all things computer.
        Over time I find myself mildly interested in (some parts of) its history, but the main motivator remains : can we do this with current tools and/or can we do it better than what it is now. I couldn't care less who invented it or wrote a large book about it it's foundation.

        Lucky for me, being forced into learning about computer-history didn'

        • Who invented what is trivia that can only have any meaning once you start studying whatever else that same person invented, how he tought and who related to him. Otherwise, names are boring.

          Don't you think it is interesting how machines evolved in mechanical complexity untill people started creating specialized computers? Or that the first general porpouse computer actualy created was built by the same person that created the concept of a general porpouse computer? Or how valves changed to support computers

          • by deroby ( 568773 )

            To be honest, most of what you list only peaks my interest on an 'along the side' kind of way. Sure it's interesting to learn such things when seeing it on Discovery Channel or something, and probably I'll go "Oh, look, they've managed to build a logic gate using valves.. neat!" while only later learning that things evolved the other way around.

            But none of that fuels my appetite in 'all things ICT'. Maybe it's just me, but e.g. IMHO cars are just a tool to get from A to B... Some people can go all religiou

    • I'd be a bit suspect of this. I for one enjoyed learning computer history. My associates who found it boring on the other hand, never got past the gaming stage, and still call me when something goes wrong. Can't even configure their own computers never mind program.

      Just my 2c. YMMV, of course.

    • Sure kids all have pads and tabs with touch screens but I think if you showed them something with buttons, knobs, dials, switches, glowing tubes, etc, they would go nuts. Who doesn't like pressing big red buttons? Zynga made a freaking BILLION dollars off of people pressing a flat surface/mouse with minimal tactile feedback. Imagine what would happen with a button you could feel?
    • by grumbel ( 592662 )

      Because there's nothing more that kids love more than history lessons.

      The problem is that when you skip history, every invention and science will look like magic and all you end up teaching is bare facts that will leave the chidrens brain faster then you can put them back in.

      That of course also means that you shouldn't teach history in the history-lesson sense of having them remember dates and such, those are meaningless. The important part is teaching the process that those people who made those discoveries went through. How did people come up the the original idea, what ste

    • Or youn could teach them how it wasn't: http://www.amazon.co.uk/dp/B006QMT7FA [amazon.co.uk]
    • I think the only reason this historical approach has potential is because historic computers were much simpler, had much lower barriers of entry.

      I started on the computers of the 80's, the TRS-80, Commodore 64, and most of all, the Apple ][+. In the Apple's ROM was BASIC and a disassembler. Its default environment was a BASIC command line. BASIC didn't use line numbers just for GOTOs. The line numbers were necessary to support the development environment. If you wanted to change line 500, at the prom

    • I find in my classes that in general, people are alright with history to some degree. Interesting knowledge, but not super motivational to do it on its own. However, the women in the class really get more talkative once I point out important women in the history of computing and science. It's such a male dominated field that I think it encourages them that there's nothing wrong with having an interest in it. Men do not perceive the same bias in the workplace and so are less influenced by the personal stori
  • Frankly... (Score:5, Funny)

    by jcreus ( 2547928 ) on Saturday January 07, 2012 @09:38AM (#38621276)
    Being part of the generation Z, sometimes I still wonder how people survived with less than one megabyte of memory, no tabs (no Internet!)... Depressing!
    • Re:Frankly... (Score:5, Insightful)

      by laffer1 ( 701823 ) <luke@@@foolishgames...com> on Saturday January 07, 2012 @09:40AM (#38621288) Homepage Journal

      My generation still had game consoles. That helped.

    • We got our data from mail.

      You shouldn't underestimate the bandwidth of a van full of tapes, et al... But those paper magazines surely had a low data capacity.

    • by PPH ( 736903 ) on Saturday January 07, 2012 @09:53AM (#38621354)

      It was all caves and clubs, kid. And fire, but that came later on. And we had to fight off the dinosaurs walking to school. Until Spielberg moved them all to that island.

      Now get off my lawn!

    • by Xugumad ( 39311 )

      > Being part of the generation Z, sometimes I still wonder how people survived with less than one megabyte of memory, no tabs (no Internet!)... Depressing!

      I still have flashbacks sometimes, but I'm slowly recovering....

    • If you ever find yourself at Disney World, check out the Carousel of Progress in Tomorrowland. Walt was a hardcore futurist and designed this one himself for the 1964 world's fair. It starts in the year 1900 and moves forward 20 years at a time with each time period marveling at how wonderful things are and wondering how people possibly lived without all the modern conveniance.

      I was born in 1976, and I feel rather fortunate to have grown up while computers were growing up at the same time. As a child, I

  • Exactly what I did (Score:5, Interesting)

    by Tx-0 ( 572768 ) on Saturday January 07, 2012 @09:43AM (#38621294)
    Given the opportunity to teach Informatics to Diagnostic Radiology Imaging students, almost all in their 20s, I decided to start with a first lesson about history of computing, and I started from the ancient times when the most sophistcated calculator was the abacus. Guess what? Almost all of them listening, interested about something that's not really about their business.
  • I plan to DISCOURAGE my kids from a career in IT. If I could do it over, I would have never done this. It's not fun anymore, it's corporate ran, innovation is disallowed and the 1-800 number to call customer support is far more important that easily disposable employees. Up until around 2001, having of crew of guys to build the network, code, admin support is now down to the bare minimum to call support. I'll teach my kids IT in general, but I won't encourage it as career choice.
    • by lahvak ( 69490 )

      But teaching someone programming does not necessarily mean preparing them for a career in IT. These days it is for example very good to know how to program if you are a scientist or engineer, and I thing the way I see the trend, it will be even more so in the future.

      • My two most useful O Levels were woodwork and Latin.

        Woodwork enabled me to make things, even if I have not made anything more complicated than an IKEA flatpack in years,

        Latin because I can guess what the signs mean in most Eurpoean and African countries.

        My son has learned perfectly good IT skills at the "University of Google". althought the fact that his grandmother was a programmer on IBM mainframes in the 1960's probably did no harm.

        I taught him plumbing myself, and my brother taught him chicken pluc

  • by Ynot_82 ( 1023749 ) on Saturday January 07, 2012 @10:03AM (#38621398)

    We need to stop this belief that people have, that computers are appliances. They're not, and it's this thinking that's putting the younger generations off of learning how machines work.

    In today's world, a computer is seen as an appliance
    and I admit, I'm not too interested in how the programmable software portion of my washing machine or car's climate control system operates
    They /are/ single use appliances
    Lack of knowledge in these cases doesn't hinder me

    But a computer is highly versatile and can be put to pretty much any task
    Lack of knowledge here is hugely detrimental to what one is capable of achieving

    Knowledge of computing needs to be seen as a core life-skill akin to basic maths or language skills
    Lack of knowledge of either of those will put you at a disadvantage in almost any conceivable situation

    Don't put the entire blame on schools and education
    The hobbyist element is what's suffering most here, the desire to know
    not the formal education side

    Most people will not go into jobs where formal academic knowledge of computers is paramount
    but the life-skill of knowing /how/ to find out a solution to a common problem is essential to everybody

    It's Apple, and other companies trying to follow suit, that are largely responsible for the erosion of such curious tinkering

    "The battery's non-replaceable. Don't worry, if it dies return it to us and we'll send you another device"

    "You can only install programs we endorse. Don't worry, this is for your safety"

    "That's the wrong way to do something. This is the way we do it, and it should be the way you do too"

    "Don't ask questions. Just do what we tell you and it'll /just work/"

    • Re: (Score:3, Interesting)

      by nurb432 ( 527695 )

      We need to stop this belief that people have, that computers are appliances.

      Computers should be appliances, for the consumer. Stuff should 'just work' and they should be insulated from the 'magic'. Else it would be like expecting a person driving a car to be a mechanic. Those days are long gone too.

      • Also, most people don't have a use for books anyway. Reading is not for everybody, and if you need to send a letter, you can just dictate it to the telegraph man.

        Some times a technology comes that changes humanity. Computers were recognized as one of those technologies by the first time they were proposed (and people laughted, because nobody could ever build such a thing). That is how obviously disruptive computers are. Now, you can keep claiming at /. (ironic, isn't it?) that computers aren't important for

  • Most "kids" wont see the point when you start showing them tubes and relays. Perhaps as they get older they can appreciate it.. But for the average kid it will be snoozeville.

  • CS does not give the right skills and tech schools miss out on the apprenticeships part.

    Secondary schools have way to much filler and high level theory class.

    It needs apprenticeships system to tech the on the job skills.

    Also 4 years in school is to long for most IT jobs and some ongoing education is needed but collage sucks at that. Tech schools and community college are much better but HR does not see it that way.

  • by AlienIntelligence ( 1184493 ) on Saturday January 07, 2012 @10:11AM (#38621450)

    Let's make something that is uncool, boring!

    That'll draw those adhd bieber followers right in!
    Btw, why are we concentrating on 3D for a group
    of people that have hair covering one eye??
    Sometimes both?

    Face it... this is a new world, don't try to draw
    someone in, to something they are not interested
    in. The internet is a really good evolutionary tool.
    People that seek knowledge will seek it, those
    that have an interest in the computer fields, will
    seek it.

    Don't force the burger flippers to learn about tech...
    do YOU want to flip your own burgers?

    -AI

    • Don't force the burger flippers to learn about tech... do YOU want to flip your own burgers?

      I don't want ANYBODY to flip my burgers. I would like fast food prep to be fully automated so that I get a consistent product every time, price can be driven down, and fewer fast food locations can serve far more people much more quickly.

      Then what do the burger flippers do?

      Oh, and to be accurate, there are very few burger flippers these days. McDonalds, at least, has been using an industrial-duty George Foreman gr

    • Computer history and computer science is interesting. It's "IT" that's boring. Don't teach kids IT unless you want them to not get into computers.

  • I swore that when I get ready to retire and settle down into a teaching position, I will not do what all of my programming teachers did before me, which was present a history of computers in chronological order.

    Why? Its boring and irrelevant. It doesn't encourage or excite. It ends up being a waste of the first few classes and its redundant with other classes that do the same thing.

    No, instead I will show them Zelda emulated on a microcontroller and a VGA screen, or the desgins of the components they are fa
  • When I was a kid we had to learn the "history of computing" from the abacus to the first personal computers. We had to memorise the specifications of every IBM processor. Needless to say, it was as much fun as learning the phone book. If you want to get kids into programming teach them fucking programming! It was only when I knew a lot of things that I could appreciate what the pioneers did. History only becomes interesting once you know how stuff works, and you can actually understand what a certain develo

    • Wait, if you became a programmer after learning the history .. then you don't have evidence that teaching history doesn't work.

      Maybe you know some people who became great programmers without knowing the history of computing? That would be some evidence (though not proof) that it's unnecessary.

      • by Hentes ( 2461350 )

        Well I did stop computer class (it was optional) and went to football instead. It wasn't until a few years later when my grandfather showed me his old Spectrum and I started learning Basic when I realized that this is actually interesting. Then I asked my father (he works in IT), who also taught me. Then we got Internet connection which opened up endless possibilities. After that, I was enthusiastic enough that neither these lessons, nor the torture with Logo and Pascal later broke my spirits.

        But that was j

    • by lahvak ( 69490 )

      That's not history of computing. That's really a complete waste of time. No teaching method I know of will work universally for everyone, but there are some that are guaranteed to work for no one, and what you describe (memorising the specifications of old processor units) sounds like one of those.

      When I was a kid, I had a number of great books about history of science and engineering. There were not about memorizing dates, names, and specifications of steam engines, they were about the adventure of discov

      • by Hentes ( 2461350 )

        Yes, "history" shouldn't be about the dates or specifications but the advancements themselves. Problem is, the "basics" of computing are very hard to grasp. Even if you start from the very beginning, how do you explain the results of Turing to kids who never heard of Gödel?

  • Tell them that there is lots of money to be made and it doesn't take a lot of work. Point out the exceptions to that statement and ignore the truth. Once they are hooked on getting an easy life with little work, they will flock to it.

  • by WOOFYGOOFY ( 1334993 ) on Saturday January 07, 2012 @10:30AM (#38621560)

    Sorry, this article presumes a falsehood.

    What poor teaching in Comp Sci is going on where exactly?

    The reason people are leaving IT is because the job opportunities aren't there. I'll say it- outsourcing and H1Bs in the US and similar measures in other countries. .

    How long does it for word from the older brother / friend to the younger brother / friend that the career choices aren't there and they should major in something else?

    How rampant is age discrimination in IT?

    When the boom hit in 1990s , people poured into IT because of the job opportunities. If this thesis is to believed , it was because the teaching was somehow better back then and today it's gone downhill, so people are leaving.

    Nice try. It's all about the economics of being a software engineer. The two things that have changed those economics are
    1) oversupply of labor through the devices of outsourcing and false claims made by corporations of desperate IT labor shortages coupled with lobbying Congress to increase, or make unlimited, the number of visas available for IT workers.
    Software patents which stifle innovation and curtail opportunities for programming entrepreneurs.

    The fact that both of these policies give unnatural leverage over marketplace dynamics to large corporations who in turn fund the re-election campaigns of the lawmakers who pass these laws means means ... everything.

    The free market is a great thing until it works to drive up wages for workers. Then it's a tragedy of epic propositions and someone somewhere has to do something!! That someone is generally your senator.

    • Did you actually bother to read the article?

      It clearly states that it's talking about Britain. It has nothing at all to do with either Comp Sci teaching in the US or the job market there. It's commonly known that IT teaching here in British schools is appalling (or worse). That's also on the factors behind the Raspberry Pi project - to get kids fired up about programming, as all they get taught in schools these days is how to use Windows and Office.

  • Teach them scripting, automation. Let them worry about full-fledged programs at a later point. My first foray in to programming was a bash script to sort all the files on my desktop in to folders to clean it up when I was 16 or so (also Visual Basic 6 had just been invented so my options were a lot more limited then, and the idea of free programming tutorials were laughable). Scripting is immediate and doesn't really require any intensive background to get it working.

    • by tukang ( 1209392 )
      The term script kiddies actually refers to people who don't do any programming, at all. They simply download a script someone else wrote and execute it, which requires 0 skill. It does not refer to people who write scripts.
  • In 1998, there was a contest to celebrate the 50th anniversary of the Small-Scale Experimental Machine (SSEM) [computer50.org]. You had to write a program on a DOS based simulator, here's the instructions [computer50.org] and a link to three different simulators.

    Here's a java simulation [arcor.de] of the Eniac computer. Try writing a program to make it work!

  • Showing old photos of gargantuan machines that someone like me, a self proclaimed computer history buff, vaguely comprehend as modern computers is going to put the kiddies to sleep

  • knowing how we got to the point we're at now with computers is, to me, one of the most important ways to advance them.
    If you know what threads have been followed already you can figure out new threads to follow without wasting time re-following things that have already been done to the end and back. And of course there's always the good thing of not re-inventing the wheel without realizing it. Wheels need re-invented from time to time, but if you don't know it's already been done, you prolly won't add any
  • One way to have fun and learn Java is to introduce them to Robocode [sourceforge.net]. Robocode is a competitive tank battle game where the students have to learn programming in order to make a more intelligent tank. Lots of competition and it is fun. The goal is to develop a robot battle tank to battle against other tanks in Java or .NET. The robot battles are running in real-time and on-screen against each other.
  • I think this is a good idea. Most kids these days who have the opportunity to become a programmer were born into an environment where a significantly powerful computer existed (likely running Windows or Mac OS or OS X). To them, that is the extent of computers. And likely game consoles don't initially register as a computer. Teaching them the history of computers will show them just how far we've come in such a short time and inspire them to begin thinking about what will be available, at a hardware level,

  • And before kids learn to write with a pen the should learn how to press cuneiform into wet clay. An no matches or pocket lighter, please. Firestones have to be mastered first.

    My first computer was an Atari 400 and my first programming language was its BASIC. Learning 6502 assembly language did much for my IT development, too. But I don't think starting in computing early Bronze Age is a feasible way now. Most people will disagree, but I would try to start with C++/Qt. Qt hides most of the ugly corners of

  • Because I've seen at 2 different places where someone wrote the same 8-10 lines of code 60-70 times. (I mean the wrong way, IE the way they did it, must have actually taken significantly longer to do. I mean for FSM sakes, damn. Admittedly in each place the set of 8-10 lines of code was exclusive to that company but the guy that did it literally repeated the same code over and over.)
  • Keep it voluntary. While technological skills are almost required today, it's important to give the kids a choice. Helps weed out kids who do not want to learn technology, and also removes teachers who would sabotage things ("the State mandates that everyone have 72 hours of technology learning, now sit down and shutup, as I teach you things I myself do not understand; do not deviate from the lesson / lab or try to learn anything / create anything on your own / do anything cool and we will be done with lear

    • And for the record, LOGO is probably the language you want to use when showing kids what taking your class is about.

      If you ask me...I'd say waste of time. As soon as a kid notices that LOGO isn't used anywhere it probably loses interest. Smells too much like 'work' just done for school and to satisfy a teacher.

  • To me it seems absurd to try and figure out ways to interest kids in programming, when there is such a massive intersection of technologies right in front of us making it easier than ever for kids to program and on top of that, possibly earn money doing so.

    That is to say, get kids into mobile programming. There's no reason a kid cannot put together some simple game and sell it, and might even earn some money in doing so - even if they don't they will learn a LOT in the process!

    It would work fine with iOS o

    • Better not. The bar to actually make money with a game, even a simple game, is very high. Might disappoint the kid and rather drive it away from programming.

  • Although you have to learn a lot aspects of computer science to get proficient in that. Also you need the learn a fair amount of humanties like how to tell a story, invent a character, myths, etc.
  • Are you kidding me? Do you remember history in school? History is the story of life, the dramas and ideas that made this very moment possible filled with incredible feats of courage and sacrifice. And elementary school boils it down to the banal tasteless pap that drives kids brain-dead. You think for even a femtosecond they wouldn't do exactly the same thing to teaching computer history?

    Stop teaching kids crap. Stupid little rhymes like "In fourteen hundred and ninety two..." Instead, give kids things to p

Every nonzero finite dimensional inner product space has an orthonormal basis. It makes sense, when you don't think about it.

Working...