Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

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

timothy posted more than 2 years ago | from the nostalgia-works dept.

Education 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."

cancel ×

200 comments

Sorry! There are no comments related to the filter you selected.

Yea... teach them history... (5, Funny)

Anonymous Coward | more than 2 years ago | (#38621258)

...with PowerPoint.

>:(

Re:Yea... teach them history... (5, Interesting)

polymeris (902231) | more than 2 years ago | (#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.

Re:Yea... teach them history... (5, Insightful)

Anonymous Coward | more than 2 years ago | (#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.

Re:Yea... teach them history... (4, Interesting)

ledow (319597) | more than 2 years ago | (#38621536)

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.

Re:Yea... teach them history... (1)

Anonymous Coward | more than 2 years ago | (#38621984)

It's best to show them that they can get things done, or do fun things with programming. That it is a powerful tool. I'm a programmer and I find the history of computing pretty fucking boring all in all.

Re:Yea... teach them history... (2, Insightful)

Anonymous Coward | more than 2 years ago | (#38621526)

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 curses based. Make sure he understands how C gets translated to Assembly that you taught in the previous lesson. Then you should move on to higher level stuff like Java, which is easy to learn and shows that compilers and languages can take care of the more mundane stuff such as garbage collection. Then you should expose him to functional languages such as Erlang (to start, easy to learn and has cool features), then Haskell or OCaml or SML. This builds up a chain from low-level all the way up to the most abstract high-level. I consider scripting languages to be something that should be learned after all of the above, since they are simple tools that can encourage bad practices.

Once your brother has exposure to all possible levels of abstraction, he will have a clear idea of what he likes, and will pursue his passion. He may become a low-level assembly geek, or a complex abstract algorithm thinker. The most important thing is to show him everything that can be done, and let him choose.

This is similar to how I learned programming, although after learning Assembly I was pretty much self-motivated. Also, nothing gets you to understand unix better than a couple of good books, a weird non-x86 box and install CDs/floppies of NetBSD (or whatever floats your boat).

Godspeed, and may you create another intelligent professional that the world will always value.

Re:Yea... teach them history... (5, Interesting)

JPLemme (106723) | more than 2 years ago | (#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 (4, Interesting)

Kupfernigk (1190345) | more than 2 years ago | (#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.

Re:RCA 1802 (1)

tibit (1762298) | more than 2 years ago | (#38622344)

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.

Legos (1)

Anonymous Coward | more than 2 years ago | (#38621270)

Mix legos with programming and there should be no problem getting young children to learn.

Re:Legos (1, Interesting)

matthiasvegh (1800634) | more than 2 years ago | (#38621882)

Unfortunately, as a child who enjoyed playing with LEGO (singular, not plural) I always built what was in the instructions, and then started building things totally different. Combining kits etc, to achieve what had never been done before. I always thought that this was what LEGO would be all about. Turns out, everyone else I knew who had LEGO, built them once (according to the manual) and then left them on the shelves to collect dust. Ultimately what I'm trying to say is, yes there is a lot of potential in everything, LEGO, game programming etc. But noone except geeks will ever actually use any of them. For them, getting them interested is kind of moot..

Re:Legos (1)

Hognoxious (631665) | more than 2 years ago | (#38622070)

Unfortunately, as a child who enjoyed playing with LEGO (singular, not plural)

Uncountable, actually.

Legos + Programming = Cubelets (1)

pauljlucas (529435) | more than 2 years ago | (#38622390)

These seems pretty cool for kids of all ages: Cubelets [youtube.com] .

Riiiiiight. (4, Insightful)

OG (15008) | more than 2 years ago | (#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:Riiiiiight. (3, Interesting)

Tx-0 (572768) | more than 2 years ago | (#38621316)

I honestly think the interest a kid will show is proportionate to the passion he feels in the words of the teacher.

Re:Riiiiiight. (1)

Vary Krishna (885632) | more than 2 years ago | (#38621872)

Exactly! And that means it shouldn't matter if they're being taught computer history or skills. So why not teach them the skills, and do it passionately? The computing classes I had in elementary school were taught by a parent. She didn't have any advanced degrees or special skills, but she loved computers and was excited about everything she introduced to us. I could have gotten better instruction from a better qualified teacher, but I wouldn't have cared about the material nearly as much without her enthusiasm. That class was the best thing about my week, and it wasn't just because I was a little proto-geek; she was teaching the class because she cared about the subject and wanted to share it with us, and that made us want to learn it.

Re:Riiiiiight. (1)

Yvanhoe (564877) | more than 2 years ago | (#38622206)

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.

Re:Riiiiiight. (0)

Anonymous Coward | more than 2 years ago | (#38622374)

So teachers should masturbate in class?

It would explain why I always thought my philosophy professor was too busy stroking himself to actually bother understanding my papers.

People do love history (1)

marcosdumay (620877) | more than 2 years ago | (#38621318)

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. Probably even disconnected facts. Yeah, that sucks, but don't assume connected facts are as boring as those.

Re:People do love history (1)

deroby (568773) | more than 2 years ago | (#38621490)

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't interfere with the things I was doing at the time on my Amiga using ARexx & C.

That said, I do agree with the article that understanding what makes a computer tick actually makes better programmers. I still think anyone who writes code should be forced to write a bubble sort on an 8088 in assembler... IMHO most 'young' programmers see the hardware too much as a black box thinking it actually works on the level their nth level language implies it does.

Re:People do love history (1)

marcosdumay (620877) | more than 2 years ago | (#38622028)

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 before the transistors were invented? Or the CISC architecture "arms race" that brought us such a complex and slow beast like the x86 (and how RISC changed that)? The fate of Lisp Machines? How the Internet came to be? You don't need names for most of those things.

Re:Riiiiiight. (1)

smi.james.th (1706780) | more than 2 years ago | (#38621322)

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.

Re:Riiiiiight. (1)

CaptainLard (1902452) | more than 2 years ago | (#38621662)

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?

Re:Riiiiiight. (1)

grumbel (592662) | more than 2 years ago | (#38621752)

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 steps did they take to implement it, what are the fundamentals they are building on, etc.

Re:Riiiiiight. (1)

sidthegeek (626567) | more than 2 years ago | (#38622232)

It doesn't have to be a boring lecture or class or anything. You can just tell them "Man, your smartphone can do more things than the best computers of my day could!" (Of course, this depends on your age. Assuming that most Slashdotters are old hackers, then this should work.)

Frankly... (5, Funny)

jcreus (2547928) | more than 2 years ago | (#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... (4, Insightful)

laffer1 (701823) | more than 2 years ago | (#38621288)

My generation still had game consoles. That helped.

Re:Frankly... (2)

marcosdumay (620877) | more than 2 years ago | (#38621326)

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.

Re:Frankly... (5, Insightful)

PolygamousRanchKid (1290638) | more than 2 years ago | (#38621388)

But those paper magazines surely had a low data capacity.

. . . as opposed to new socially networking twittering systems that have high data capacity but low information content.

Re:Frankly... (3, Funny)

PPH (736903) | more than 2 years ago | (#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!

Re:Frankly... (2)

Xugumad (39311) | more than 2 years ago | (#38621360)

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

Re:Frankly... (1)

Anonymous Coward | more than 2 years ago | (#38621576)

Megabytes of memory? You only need Gigabytes of memory now because you are running 100+ processes in the background. Half of those are just daemons activated when something gets plugged in or removed. We didn't have that back then - you just loaded in your drivers when you booted up and that was that. Even then a device driver wasn't much more than a wrapper for BIOS interrupt calls.

For 8-bit processors with 64K memory (or 128K +banked memory), instructions were only between 1 and 3 bytes in size. Compare that to 16-bit processors with 640K memory where instructions are between 2 and 8 bytes in size or 32-bit processors with 2 MBytes where instructions are between 4 and 32 bytes in size. You still get around 32,000 instructions. It's just the sizes that change.

An 80386 DOS game written 15 years ago still compiles to the same size as the equivalent SDL version now.

Internet? We had magazines - dozens of different ones, BYTE was good (before they went all pastel and corporate), Personal Computer World, plus all those dedicated to particular platforms (Atari ST, Atari User, ANTIC). Users could submit articles, as well as type in code from the magazine itself. Many magazines did run their own BBS. Forums? We had readers columns where viewers could send in their opinions. We had flame-wars even back then.

Re:Frankly... (3, Interesting)

TheRaven64 (641858) | more than 2 years ago | (#38621796)

For 8-bit processors with 64K memory (or 128K +banked memory), instructions were only between 1 and 3 bytes in size. Compare that to 16-bit processors with 640K memory where instructions are between 2 and 8 bytes in size or 32-bit processors with 2 MBytes where instructions are between 4 and 32 bytes in size. You still get around 32,000 instructions. It's just the sizes that change.

I'm not sure where you're getting these numbers from. On ARM, instructions are 2-4 bytes in size for ARMv7 (32 bit) and 4 bytes for ARMv8 in 64-bit mode. On x86-64, the smallest instructions are 1 byte and the common ones average about 3-4 bytes. And these instructions do a hell of a lot more than 6502 or Z80 instructions. One instruction on pretty much any a modern CPU can take two vectors of four 32-bit floating point values and do a fused multiply-add (for example). If you could do that in under 100 Z80 instructions, then I'd be very impressed.

The instruction size has nothing to do with the increase in memory usage. The biggest difference is the increase in data size. The images on this page alone are several MBs when uncompressed. Just the text is more than would fit into the memory of any 8-bit system. Try writing a book on an 8-bit system: you'll end up having to save each chapter to disk / tape separately, because it can't store the entire thing in memory even as plain 7-bit ASCII text. And, with the massive increase in data size, we've also seen an increase in the things people do with it. High-level programming languages mean that one line of code can now be hundreds of instructions, rather than just one or two. Code reuse means that writing a million-instruction program may only mean writing a few tens of thousands of instructions of new code.

Re:Frankly... (2)

NewWorldDan (899800) | more than 2 years ago | (#38621886)

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 had an Apple ][e. Around 8th grade, we got a 386 for Dad's business, in high school, I bought my own 486 ($1400 - money I earned working at Burger King). At the same time, I went from Apple BASIC to QuickBASIC to Turbo C/C++ and MASM. The biggest challenge back then was finding books or teachers or anyone who knew more than I did at the time about programming. In the early-mid '90s, a Barnes and Noble opened up near enough for me to get to, and they had 2 whole shelves of computer books.

In any event, I seriously wonder how modern kids pick up programming, given the learning curve today. It seemed so easy to start 25 years ago, taking a BASIC listing and deconstructing what each line did. I think if you were to take away the modern electronics and give kids an Apple ][ or C64, you'd quickly find out who the natural programmers are. The rest would just go outside and play football instead.

Re:Frankly... (0)

Anonymous Coward | more than 2 years ago | (#38622226)

One word, kid. Sex! Lots of it! Tons of unshaved, hairy, bushy sex!

History is boring (0, Insightful)

Anonymous Coward | more than 2 years ago | (#38621278)

I care more about what I can do with programming than the life story of whoever made the thing.

Recent history would be better (2)

suso (153703) | more than 2 years ago | (#38621582)

If they taught them recent computer history, like the last 10-20 years or so, then they would feel closer to the action and see where their place is to jump on the train. Teaching 1950s computing is likely to just lose them because the technology is so different.

Exactly what I did (5, Interesting)

Tx-0 (572768) | more than 2 years ago | (#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.

Re:Exactly what I did (0)

Anonymous Coward | more than 2 years ago | (#38621544)

Adults aren't kids. And you can bet 99% of those in your class would switch off if you dragged it out.

Re:Exactly what I did (0)

Anonymous Coward | more than 2 years ago | (#38622014)

Knowledge without a reference is dangerous at worst, aggravating at best. Understanding why things are the way they are will always be more useful to someone working on the edge of what their technology can handle. Just teaching them how to use the tools, with no understanding of why the tools take the form they do... thats just crazy talk.

Please no history lessons (1)

SavSoul (669561) | more than 2 years ago | (#38621306)

This is what I was taught, I wanted to stab my teacher. I just wanted to make games. History of gaming, maybe, history of computing...zzzz

Re:Please no history lessons (0)

Anonymous Coward | more than 2 years ago | (#38621356)

Right, seems like you would be better served by some anger management course or a bit of psycho therapy than a history lesson.

Re:Please no history lessons (1)

PPH (736903) | more than 2 years ago | (#38621380)

I just wanted to make games.

Sorry, kid. I just patented gaming. So I guess you're out of a job.

IT is a bad career move. (1)

Anonymous Coward | more than 2 years ago | (#38621358)

I have several certifications. CCNA, Security+, Network+, A+, CIW E-Commerce Design, several others.

I can't even find an entry level job in a call center and I live in Dallas.

I switched my major, one year from a degree in Enterprise Development using .NET to Pharmacy because it was easier to get a job as a pharmacy technician and the pay is better than an entry level IT job. The job market is flooded in IT.

Just saying, teach kids how to count pills, at some point they'll teach themselves, anyway.

Re:IT is a bad career move. (2)

lahvak (69490) | more than 2 years ago | (#38621500)

Of course, being a code monkey is no good, but as far as I tell, people with a good quality comp sci degrees, especially with good background in math or physics, are still in great demand, and end up working on some really interesting stuff.

Re:IT is a bad career move. (2)

unimacs (597299) | more than 2 years ago | (#38622268)

I agree. If you have something to pair that programming skill up with, it can make a huge difference.

Re:IT is a bad career move. (0)

Anonymous Coward | more than 2 years ago | (#38622152)

Thats because certs are worthless. being a line level IT person means your a repair man. If you don't have excellent troubleshooting skills, and experience on why things work, no one will hire you.
Not to mention the biggest problem I see with most 'IT' folks is that they suck at communicating, which means they will always suck at troubleshooting. After all, if you only fix what someone non-technical tells you is wrong, you will never actually solve the problem. It also means your resume reads like a score card, and not an advertisement.

Re:IT is a bad career move. (3, Insightful)

unimacs (597299) | more than 2 years ago | (#38622258)

I guess it's my bias, but I don't put a lot of stock in certifications and those you listed have nothing to do with programming. Certifications show that you know how to use the technology du jour but don't demonstrate that you have a fundamental understanding of how computers work. I'd also be suspect of a degree program that focuses on .NET or any one particular framework.

When I'm looking to supplement our staff, sure I'd like to have somebody who's experienced with the technology we're using at the moment. At the same time, I'd take a clearly talented C++ developer whose never written a line of Java in his life and who really wants the job over somebody who is competent with Java but otherwise nothing to get excited about.

Good programmers are good programmers regardless of language and they should be able to easily pick up new ones.

Don't get mad...but... (2)

RobertRCleveland (2547974) | more than 2 years ago | (#38621382)

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.

Re:Don't get mad...but... (2)

lahvak (69490) | more than 2 years ago | (#38621464)

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.

Re:Don't get mad...but... (0)

Anonymous Coward | more than 2 years ago | (#38622208)

Corporations suck the life out of many professions. I dare say that possibly way back when having an MBA was a fun way to live. But corporations abhor anything in their midst they cannot over-examine, quantify, and make as generic as can be. As far as finding what to encourage kids to get into or to move into a different career in the later days of one's working life the trick is to find something that's just starting out, even before it's labeled in the media as an "emerging" career choice. Then it's about 5 years too late. Long before the masses find out about its existence and way before every 2-bit community college has a program for the next big thing you need to be firmly entrenched in this new area. Then you might have 10 years to enjoy your new life before korporate amerika finally figures out what you've been doing and ships your job to some third-world country.

Computers are hard, lolz (2)

Ynot_82 (1023749) | more than 2 years ago | (#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:Computers are hard, lolz (2, Interesting)

nurb432 (527695) | more than 2 years ago | (#38621448)

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.

Re:Computers are hard, lolz (0)

Anonymous Coward | more than 2 years ago | (#38621584)

So you advocate the "walled garden" approach?

Re:Computers are hard, lolz (2)

CaptainLard (1902452) | more than 2 years ago | (#38621696)

"Just working" and "Open architecture" are not mutually exclusive....

Re:Computers are hard, lolz (0)

Anonymous Coward | more than 2 years ago | (#38621586)

Knowing how to change the oil, or a tyre, or why you should turn the engine over once a week, can save you a lot of time and money.

Re:Computers are hard, lolz (1)

angelbar (1823238) | more than 2 years ago | (#38622010)

The hood need to be always at reach, you can open it or send it to a mechanic, thats the diference!!

Re:Computers are hard, lolz (1)

marcosdumay (620877) | more than 2 years ago | (#38622328)

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 normal people, but they are, and people need more than the communication channels that go to their computers, they need general porpouse computers.

The fact that they don't make much current use of that technology doesn't mean they don't need. All the problems of information overloading are here to show that they need.

Re:Computers are hard, lolz (0)

Anonymous Coward | more than 2 years ago | (#38621866)

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

No no no no! FFS, when will you people get it, the reason Apple is so successful, and that people find the Apple experience so good is precisely because they do everything they can to abstract the user from the mechanics of the machine they are using. The vast majority of people are not, and should not be interested or concerned about how a computer works, beyond the basic concepts such as files, directories, clicking and typing.

The sweet spot is to provide a computer that allows you to get on with what you want to do without exposing you to the workings (even when things go wrong), and also gives those who want it access to the mechanics to explore and build new things. Windows and Linux fail utterly at this.

Whatever happened to being an apprentice? (1)

teknx (2547472) | more than 2 years ago | (#38621420)

Can we bring back the days of the apprentice system? A parent would send their child to study under a master of a particular field. They would be able to skip all the textbooks and boring lectures and just learn the craft and get access to the secrets that only come from experience that you will not find in a textbook. Then with time, that child would become a master of their particular trade and would take on an apprentice, and the cycle would continue. I'd chose that over the college debt slave system anyday.

Good luck with that (1)

nurb432 (527695) | more than 2 years ago | (#38621422)

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.

Re:Good luck with that (0)

Anonymous Coward | more than 2 years ago | (#38621640)

Just show them the history of computers in the form of magazine adverts [oldcomputers.net] . Seeing the human models with the fashions of those times are a plus.

It needs apprenticeships / trades / more tech scho (1)

Joe_Dragon (2206452) | more than 2 years ago | (#38621432)

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.

Teaching programming in an interesting manner (0)

Anonymous Coward | more than 2 years ago | (#38621444)

The reason kids find it difficult to learn programming is because it is taught in a drab uninteresting manner.

They would readily learn if it is taught using a hands on approach.
See for example the website http://www.dreamtaivdo.com which teaches programming using videos. It is an innovative approach.

Re:Teaching programming in an interesting manner (4, Insightful)

nurb432 (527695) | more than 2 years ago | (#38621482)

The reason kids find it difficult to learn programming is because it is taught in a drab uninteresting manner.

Well at least there are no false expectations of fun for when (if) they get a job coding ..

Great idea...! (2)

AlienIntelligence (1184493) | more than 2 years ago | (#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

NOOooooooo (1)

O('_')O_Bush (1162487) | more than 2 years ago | (#38621474)

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 familiar with. Explain that one that magic/mystery about computing is gone, it allows them to make almost anything they want.

Though, I want to teach the next generation of computer engineers and scientists, not the IT monkeys. Carry on with your methods.

haber (-1, Offtopic)

habermi (2547970) | more than 2 years ago | (#38621476)

Haber mi? Türkiye'nin Güncel haber sayfasidir. içerisinde Özgün ve tarafsiz içerikler barindirmaktadir, sizlerde kaliteli dürüst bir haber [habermi.com] sayfasini tercih etmenizi öneririm habermi.com Sizin haber sayfaniz dir.

Or the best way to drive them away. (0)

Anonymous Coward | more than 2 years ago | (#38621488)

You are kidding right? Most programmers themselves aren't intrested at that. Or maybe you think what was cool to you 20 years ago will be cool to kids today? Fool..

I came to the world of computers when 486 and Pentium was around and I find older stuff outdated and boring. It's the new stuff that's cool. And games. Would I be too wrong if I said that 9/10 kids get intrested in computers because of games?

Anyway, if a kid is interested himself, support him, but if he isn't, don't force it. Buy him Mindstorms anyway.. if he throws it away, you can always play with it :)

Please don't! (1)

Hentes (2461350) | more than 2 years ago | (#38621498)

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 development meant. The reason many schools prefer teaching history in computing classe is that they don't have a teacher who actually understands how computers work, and history can be taught by anyone.

Re:Please don't! (1)

backslashdot (95548) | more than 2 years ago | (#38621564)

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.

Re:Please don't! (1)

Hentes (2461350) | more than 2 years ago | (#38621870)

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 just me, most of the other guys I knew didn't come back. Later, when computer classes became mandatory, I wrote the tests for the majority of the class as I was the only one knowing what to do.

And mind you I didn't say that computing history shouldn't be taught, I argued that it shouldn't be taught first.

Re:Please don't! (1)

lahvak (69490) | more than 2 years ago | (#38621566)

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 discovery, and while going through the history, they tried to explain what the inventions and discoveries were, how they worked, how they derived from earlier inventions, and how they eventually influenced stuff we have today. I found them really interesting, and the only reason I did not become an engineer or scientist was because I discovered math along the way. I am definitely not saying it will work for everybody, but it is not a bad method for some students. Of course, if you have a teacher who does not understand how computers work trying to teach a computing class, you will end up with a disaster no matter which method they use. That is a story of every education reform that was tried in the last 50 or more years.

Re:Please don't! (1)

Hentes (2461350) | more than 2 years ago | (#38622018)

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?

Want to get kids interested in programming? (1)

Dcnjoe60 (682885) | more than 2 years ago | (#38621510)

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.

As with anything, this depends on how it's done (0)

Anonymous Coward | more than 2 years ago | (#38621516)

I took a couple high school computing courses, with no expectation of getting into the field at that time. Then I ended up getting a computer science degree and currently have a career as a business analyst and tester. (P.S. The background in programming helps immensely.)

This being said, I had a lot of different teachers over the years - many of whom started with history lectures in some fashion. It didn't do anything to make me more interested in getting into computer science/programming in anyway. BUT I had some teachers (mostly upper level profs) that taught the background history exceptionally well and made it very interesting.

My thought here is that if the history lectures are presented by a good teacher who knows how to engage students and show relevance in the material then the article statements would have truth. Otherwise, teaching the history for this purpose is not going to make any difference at all, unless a student is naturally inclined to history topics.
 

This got in here how exactly? (4, Insightful)

WOOFYGOOFY (1334993) | more than 2 years ago | (#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.

Re:This got in here how exactly? (1)

bdrees (1015815) | more than 2 years ago | (#38621688)

Thats funny, just yesterday I read on /. about how IT jobs were moving back to the US because of demand and salaries were trending back up...
IT Salaries Edge Up Back To 2008 Levels http://it.slashdot.org/story/12/01/07/0122215/it-salaries-edge-up-back-to-2008-levels [slashdot.org]

Re:This got in here how exactly? (0)

Anonymous Coward | more than 2 years ago | (#38621834)

Yeah, but what about all of us old-timers who are no longer in the field due to
what the parent poster said? Companies aren't likely to hire us when they
have cheap college fodder every year. I'd totally mod up woofygoofy if I could.

Re:This got in here how exactly? (2)

bdrees (1015815) | more than 2 years ago | (#38622148)

Well, I too, am one of those old timers that faced tough times, for me it was almost 10 years ago I lost my great job, the difference is I chose to stay in the field for the experience instead of claiming unemplyment or flipping burgers, the down side, was I was paid about the same as a burger jockey. About a year ago, I finally got the oppertunity for another great job that landed in my career path, and am now reaping the benefits.
My point to this story, while it may sound like gloating (its not), is that I believe its about the choices we make durning the difficult times. History has proven that NO job is stable, plan ahead and dont rely on anyone else!
I'm absolutly with you on the cheap fodder being produced now days (I work with too many of them), and they just dont have the attitude of creating their career, they do what they can to get by, and thats about it. But that is their choice, they will have to deal with their consequences down the road.

Seriously?! (0)

Anonymous Coward | more than 2 years ago | (#38621588)

When I was a kid, the only thing that really interested me about computers was that I could play games on them. I got into programming because I was interested in writing my own word games.

Most kids don't care about the past.

Stop the Gimmicks and Security Theatre (0)

Anonymous Coward | more than 2 years ago | (#38621596)

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

Using teaching gimmicks won't work. Locking down the computers won't work either for teaching, uhm, computer skills and programming skills. DOOH! (The BBC article makes vague references to "incidents of attempts to contact pupils inappropriately." and yet fails to mention any illegal behavior or arrests, any child rapes or murders, etc. Remember the FUD around the dangerous Internet, such as social networking sites like Slashdot. BTW, if there are any under-18 year old kids who want to meet up with me, just reply to this post with your email address).

Anyways, if you can find qualified computer programmers to teach computer programming (and actually give these teachers some educational theory as well) you should be good. And actually teach them something that is relevant (like Javascript they can actually use and experiment with in the real world). Filling them up with a bunch of theory will be useless to high-school level kids (although give them the option).

And don't patronize the little fuckers. Remember, eSafety is meant for parents, and not for children. Just like the TSA is useless security theater, so too is making children paranoid about imaginary enemies.

Teach them to be intelligent, and you won't need to protect them from the evil Wicca [arstechnica.com] .

Take the locks off the computers and you will take the locks off the the minds of children. The only thing you are teaching them is how to circumvent these locks. I'm not meaning to hi-jack this topic, but when it comes to teaching you need to start off with the right premises and move forward from there. Remember that gimmicks and any type of theatre are just that.

Sure... (0)

Anonymous Coward | more than 2 years ago | (#38621628)

Try to get them interested in one thing they don't care by try to bore them to death with a thing they care even less.

History is not boring - if taught right (0)

Anonymous Coward | more than 2 years ago | (#38621648)

I think the approach is a good one, but it has to be done right. You won't catch any attention if you start like one of the old history teachers with "Attic democracy and Greek poleis from Solon to Perikles". That's no catch phrase and your listeners will not give you a second chance.

History - computer history as well - is full of anecdotes, action and drama - this is the salt in teaching anything (don't over-use it either) and your pupils will be eager to learn more.
Computer science is extremely versatile and you can create application examples for any group of listeners. I once had to teach some Mechanical engineering students the basics of programming and was confronted with the question why they should need that. (They gave up when I asked them to create a non-programmed device that could write down a given sentence.)
And always, at any point you should be able to give a short, clear answer to the "nice theory, does it have any practical relevance" question.

Not everyone (0)

Anonymous Coward | more than 2 years ago | (#38621838)

is a programmer, or can be a programmer. People who are interested in it will be interested in it (though that doesn't mean they'll be good at it, either). I've seen that some people simply can't wrap their heads around the logic.

Theres a reason why they call them"script kiddies" (1)

Hadlock (143607) | more than 2 years ago | (#38621850)

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.

Re:Theres a reason why they call them"script kiddi (1)

tukang (1209392) | more than 2 years ago | (#38622040)

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.

Not Allowed (0)

Anonymous Coward | more than 2 years ago | (#38622098)

And what is an elementary computer teacher like me "allowed" to teach kids? Typing, typing, typing. Oh yeah and don't forget math and reading. I have to teach to the test and the test doesn't have anything technology related other than taking it. This in turn squashes (or at least tries to) a students love of computers. And I have yet to meet a student who doesn't love computers at the beginning of the school year.

If you want to teach kids programming... (0)

Anonymous Coward | more than 2 years ago | (#38622162)

... you have to improve programming tools/languages. Right now get something displayed and move it around (to make a little game) is way more time and effort then it is worth. You have to give kids something that will get them results right away instead of having to program the plumbing of a program (think programming OpenGL first before you can do anything useful).

Todays programming languages start at too low a level of abstraction and kids want to see results of their programs right away. We really have something of a tools crisis because many nerds grew up on tools that were basically kludged together from not having to program in assembly (the advent of C language) to more higher level languages.

You can't just teach 'programming' you have to teach the mathematics of common tasks kids will want to achieve or do. IMHO there really needs to be a 'programming+math+game/app' curriculum starting from when kids are young on simple apps and growing in complexity as they advance through the school system.

Historical Computer simulations.. (1)

blanchae (965013) | more than 2 years ago | (#38622178)

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!

Re:Historical Computer simulations.. (1)

blanchae (965013) | more than 2 years ago | (#38622224)

Forgot to mention, that you can throw out all of your latest programming conventions and syntax with the SSEM. At that time, there wasn't a convention for digital logic. On the switches, up was a 0 and down was a 1. The MSb was on the right and the LSb on the left. There was no such thing as semiconductor RAM, it used a dot on a CRT for memory storage. There was no difference between commands and data, a line would contain both. And so on...

Re:Historical Computer simulations.. (1)

blanchae (965013) | more than 2 years ago | (#38622274)

Here's the link to the 3 different DOS based simulators [computer50.org] for the SSEM or sometimes called the Manchester Mark 1

Re:Historical Computer simulations.. (1)

blanchae (965013) | more than 2 years ago | (#38622336)

The Eniac had 3 portable function tables, each with 1200 switches! Here's info on programming it:

http://www.columbia.edu/cu/computinghistory/eniac.html [columbia.edu]

Yes! (0)

Anonymous Coward | more than 2 years ago | (#38622184)

One of the very reasons I kept with programming/computer science was because I was taught a little(not a lot) about Babbage and Lovelace. The idea that someone could make a computer out of machinery was pretty awesome. Granted I was 14 at the time which may be a little old for the scope of the article but an even better idea.... Give your kid Age of Empires 2 then teach him about the history of Computers....and Video Games for that matter.

Sure... Bore them like every other subject. (0)

Anonymous Coward | more than 2 years ago | (#38622194)

Teach them history of computers? Wow. That is incredibly boring and who in their right mind would want this? I love 'history', but like all people only specific areas of interest. I've been a developer since 1977 and I personally wouldn't and haven't cared a damn about the past failures.

But I suppose what you mean about teaching computer history is just another discussion about Al Gore and his global warming Internet.

emulate history (1)

darkgumby (647085) | more than 2 years ago | (#38622296)

Load up a C64, Apple ][, Atari, or other 8bit emulator. Demonstrate BASIC. Then point them here: http://www.atariarchives.org/ [atariarchives.org]

I disagree (1)

Osgeld (1900440) | more than 2 years ago | (#38622306)

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 the history prevents some stupid mistakes (1)

fikx (704101) | more than 2 years ago | (#38622370)

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 anything new to the process.

I see a lot of posts taking learning history as programming in basic or assembly and getting hands on with the early tech. That's good if you want to just program, maybe it even counts as history for that part of computers, but I'd think learning history means looking at how computers got to where we are now by finding out the radical shifts in thought and sometimes controversial ideas that landed us with this amazing technology we use every day now...

Robocode Java tank battle contest (1)

blanchae (965013) | more than 2 years ago | (#38622414)

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.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>