Reading, Writing, Ruby?
itwbennett writes "A BBC article outlines a push to make software programming a basic course of study for British schoolchildren in hopes that Britain could become a major programming center for video games and special effects. Can earlier exposure to better technology courses reverse the declining enrollment in university computer science courses and make coding cool?"
Assuming they do this the way public schools in the USA teach programming, don't bother. They've managed to suck all creativity and wonder from the process by making every activity copying code from a textbook without teaching the theory behind it, or mentioning the possible applications. I've seen so many people take high school level programming courses and come out not knowing how to program. This isn't because they're dumb, this is because it is taught in the same way you make someone memorize a poem they don't want to read. College courses are fine, but public school courses need revision. Creativity and real world applications of programming concepts is completely missing there.
To offset political mods, replace Flamebait with Insightful.
Information Science is a basic science, like any other, and in our world has a lot more immediate practical applications. It should be taught. Why can my son, very bright, in the 8th grade, tell me the layers of the atmosphere and the earths crust and evolution and basic physics, but can't tell me the difference between a bit and a byte? That's crazy.
"He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
With a good teacher there is no need for whiz bang fancy pants hook'em when their your graphics.
They need good teachers. Invest the money in training/sceening teachers properly. Cirriculum and all that other stuff is fluff from the people that want to sell text books and hardware.
At least at my college they've discovered that games actually make students want to learn programming. Shocking isn't it!
To offset political mods, replace Flamebait with Insightful.
Especially if paired with more math.
I was lucky; my dad taught me BASIC and algebra in grade school. I was too young to realize that math was supposed to be hard and un-fun; as a partial result, all these years later, I make a good living off both.
Check your premises.
I was under the impression that computer science was a bubble degree: the latest degree that people with any shred of scientific acumen and no clue where they wanted to go in life acquired as their ticket to an upper-middle class paycheck. So what's surprising and disastrous about the bubble bursting? Isn't that what bubbles do?
I always hear people on slashdot bitching that half the youngsters getting computer science degrees today are incompetent code monkeys at best, and yet then I read stories the next week about the problem of declining interest or falling numbers in comp-sci education.
Which one is the truth? Shouldn't you be happy to see enrollments decline? Aren't you glad to see fewer incompetent, bobble-headed lemmings graduating and going out to make a bad name for all of you self-proclaimed 'competent' computer scientists?
I think programming and IT in general should be taught but it shouldnt be scattershot on everyone. They should find out if the kids are interested in it and competent first or else it will simply be wasted time.
I am a web developer, do the LAMP thing as well as some ASP, VBscript, Javascript..Flash..yada.. I do pretty well and enjoy it.. I tried to get my kids into it and they had zero interest so it was a no go for them.
I really think you can go a lot further by getting the ones who are motivated and interested, maybe like an apprentice style thing..but that would require a lot of work by the teachers and system in evaluating and listening to the kids and not just handing out multiple choice tests on state approved agendas.
Having Angelina Jolie and Cameron Diaz fembots teaching Computer Science to the boyz, and Chris Evans and Jason Momoa mandroids for the gurl geeks. You just have to hit teenagers squarely in the hormones!
High school intro to programming should fill the same niche as shop class -- to get students interested in creating stuff.
Reading and writing is not enough for the regular mortal to be defined as literate nowadays. Programming is becoming ubiquitous in all modern activities and jobs.
As Douglas Rushkoff puts it, "Program or be programmed".
...Back in the 1980's when the programming I did caused a small robot to draw complex shapes on the floor. I crunched through an insane number of projects in four years, from mathematical problems to friezes for musical productions and outlines for stage sets.
I still remember how to program the Turtle, though the real-world applications of such a skill, I've since found, number precisely zero. It was and is still fun, though.
Operation Guillotine is in effect.
Give lots of subsidies to developers and publishers establishing studios in your country and support high-level art and design trade schools. The former attracts them, the latter keeps them around.
It's certainly more simple than reconstructing the curriculum from elementary school up and it definitively paid off in a lot of cases; just look at Montreal. However, I'd say Britain is far from bad. Studios like Creative Assembly, Media Molecule, Studio Liverpool or Codemasters are all excellent.
doesn't it depend on what type of game we're talking about? Polar examples; Space Invaders vs. Risk?
Space Invaders: position your spaceship and shoot sprites that drop down off the top of the screen and shoot back. Computer generated violence in its purest form.
Risk: the epitome of game theory. On saying that, who knows how much a Bluegene/L chess programmer makes?
Operation Guillotine is in effect.
There's an ADHD problem with this embarrasment of riches. By the time a kid starts getting traction in one technology, he (I'm taking the gender for granted) sees two dozen other hotter technologies and wants to move on, before really becoming expert in the first.
That's actually a great thing if true. Why should a teenager want to boast 10 years of C++ experience, and (for example) understand the difference between a shared pointer and scoped pointer when really there's so many other (language-agnostic) things to learn about?
Don't quote me on this.
That is the real reason for declining enrollments. Also the reason that the smarter students are avoiding CS/IT.
Why go through all that trouble only to have your job offshored, or to end up training your H1B replacement?
If you want to make it cool, ban learning about it.
Say what? Is this what average people think programmers and software engineers do? Do they think the kids won't catch on that the reality does not look anything like that?
I have nothing against programming as a part of standard education. It is likely beneficial on multiple levels, not just because it teaches a useful skill but because it forces you to reason about and analyze systems in a somewhat rigorous way.
My issue is that they are apparently faking the real rewards at a very superficial level which generates little value in practice. You won't train a generation of great computer scientists by doing a bait and switch, and history suggests that really great computer scientists are rarely motivated by their ability to do parlor tricks for the adoring masses. Like with many other technical disciplines, the deep elegance that makes it rewarding requires long and serious study that most of society will never really appreciate except in a very indirect way.
Forcing students to take courses that 'teach' them things that they are unlikely to ever use because there is a chance that they will use them and/or it might have a tiny impact on their intelligence.
If it's optional, I don't have a problem with it. But I doubt most people are going to actually use this knowledge.
Filthy, filthy copyrapists!
It's not just about game theory. Space invaders will teach concepts such as blitting, game loops, event driven programming, arrays + for loops (with arrays, lists, etc), and the use of threading/timed while loops. It will probably be a great example of implementing object oriented programming, and requires support skills such as the creation of sprites in an editor such as GIMP, and sound effects in things like Audacity. It's not a big project, but it does cover a broad spectrum of topics in a very short span of time, and the student will have fun doing it.
To offset political mods, replace Flamebait with Insightful.
I don't get it... what does this have to do with Ruby? There seems to be no mention of it in the article.
There are a bunch of teaching languages (BASIC, Logo, Python). I suppose Ruby might be OK, but it wouldn't be my first choice.
Games is kind of a weird on in College computer courses. Depending on the game*, it can teach you everything from 3d graphics to relational databases and client-server networking, but in the real world most "game" programmers make substantially less than most other CS careers (db admin, back-end coders, application development, hardware interfacing, etc). It can be a very good way to learn certain skills, but teachers should not be pushing people to become "game programmers" as a career.
* This is EXTREMELY important. Writing "space invaders" has little skill involved (hit-boxes and timers mostly), while writing a multiplayer racing game contains physics, graphics, networking, synchronization, security (anti-cheat), and possibly even AI (racing is particularly difficult to do well with AI).
Why not just require every student study engineering, so that England can become an engineering leader? It's an equally simplistic proposal to solve a problem as the "require everyone to study something only a few will ever work with to solve a vaugely-defined non-existant problem"...
Ken
Better to study what, exactly?
College/University is not a trade school, intended to prepare a student for a particular job..
Ken
I think simply being exposed to certain things, at younger ages, can create Superheros. You know, those little appreciated people that can save a dying project, overnight. I think it would create more of a 'I can' attitude. I've always thought to myself, when I'm in a meeting and hear, "I can't," when discussing a simple topic, how does this person do anything at all? So, after meeting a lot of 'I can' attitudes, from people trained young; I've come to the conclusion that a young age is when Superheros are made.
/---[0]- ^ -[0]---\
The best is some theory and hand on work.
Actually, nothing beyond one link was "echoed". And the link was to a BBC interview they contributed to, so I'm sure they are ecstatic that slashdot picked it up.
If you haven't noticed, this has never been a site for investigative journalism and hard hitting original reporting, it's mostly blog that posts links to other articles and lets people comment on them.
A Computer Science degree should imply that the holder is capable of:
A fair degree of applied math
Being able to build a formal proof (prove sqrt 2 is irrational)(of which a real math major will laugh at)
Able to write a simple compiler or a simple operating system.
Able to track down a reproducible bug in a medium complexity program
Plenty of people get in it for the wrong reasons, and will cheat their way through the rough stuff.. horrible when I see someone who "passed" compilers not understand what LL parsing is or able to read a context free grammar.
The world is better off with solid coders that have a clue, lots of them. Even minor coding skills can become really useful in all sorts of tedious work.
It's always someone else who is incompetent.
I would prefer someone else to proclaim my competence, as self-proclaiming is specious at best.
Wow, that's horrible and backwards. I was in CS 90-94, and several of the class projects were specifically designed around "games". Games have always involved a lot of interesting and groundbreaking ideas in user interface, graphics, AI, optimization problems, etc. They are a great platform for teaching the foundations of computer science and programming.
What programming languages do many generic algorithms textbooks use? Pseudocode! Why? Because real code is 1) still full of useless boilerplate that has to be there for the benefit of the compiler/interpreter, not the software engineer, 2) overcomplicates the syntax, again for the benefit of the compiler, and most of all, 3) still stinks up code reuse!
Back in the day, Pascal was the teaching language of choice, and BASIC was the default option for amateurs. Pascal started as an improvement on Algol, which is perhaps the original structured programming language. Pascal has quite a number of ugly design decisions. First, it's too verbose and English centric, using "begin" and "end" for blocks. C's curly braces are much, much better. Pascal's data types are very limited. In at least the Turbo Pascal compilers, Pascal's string type was limited to 255 characters because they used a single byte to store the length. Strong typing may be good for keeping novices out of trouble, but it's simply a puritanical limitation for experienced programmers.
As for C, what I mean by boilerplate is stuff like "int main(int argc, char **argv)". And that also demonstrates what I mean about overcomplicated syntax. We know main takes 2 arguments. Why do we have to put parentheses around them? We don't put parentheses around an operator just for that. It's ugly to have to do something like "assign(&c,add(a,b))" instead of "c=a+b". Then there's the redundant requirement for a semicolon. In school, we pound on students to use proper indentation, and to put statements on separate lines. But most languages still require that extra bit of punctuation. May sound like trivial issues, but these little things matter. There's also the pointer nastiness, with those ugly '*' and '&' symbols everywhere. At least C++ cleaned that up a little bit, with the use of '&' for variables named in function prototypes, and Java went a bit further yet. But it all adds up to making programming more tedious than necessary.
The LISP proponents might be feeling a bit smug and superior by now. But you know what? Lots of Idiotic Single Parentheses also blows it on these issues. To do that simple bit of math, have to say "(= c (+ a b))" Make the programmer do it in prefix order. The advantage is that unlike infix, no parentheses are required to unambiguously state a mathematical formula, but then the language requires the miserable parentheses anyway! Ok, so you can have variable numbers of parameters, and say stuff like "(+ a b c d)", but that little compensation is not worth being required to use parentheses everywhere.
The humble command line has its own issues. It has become customary to flag all the parameters with letters of the alphabet, instead of requiring all the parameters be passed, and passed in a specific order. I always struggle to remember inconsistencies like the stream parameter being the first parameter in fprintf, but the last parameter in fputs. They messed themselves up with that one. I suspect they wanted to put the stream parameter at the end to be consistent with fputs, but could not because fprintf is one of the few library functions that takes a variable number of parameters, and the ad hoc way they enabled that meant the stream had to go at the front. This is not an issue with the command line. Scripting has had a revival of sorts, but is still looked upon with contempt. Perhaps Perl is the current scripting language of choice. It has many improvements over bash. I really like the built in hash data type, and everyone likes the regular expression syntax. But it sure borrowed a whopper from shell scripting, requiring these funny glyphs ($, @, and % mostly) for every single use of a variable name.
As for code reuse, look at the mess we have with libraries. OOP couldn't solve this problem, wasn't good enough. I think where OOP really missed was the entire idea of imposing a hierarchy on classes. Ideas such as CORBA didn't cut it either. C is perhaps the clo
Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
"College/University is not a trade school"
Yes it is. Of the people who go to college, only a tiny minority will say it is because they want to learn for the sake of learning. Likely, because learning no longer requires attendance at a physical university. What a university provides is a sort of certification. Everyone with a serious goal in life goes because they more or less have to go, in order to be allowed into certain fields. Getting into those fields makes a better life.
I might agree with you somewhat, so far as college does not teach a trade. It is a costly exercise in bureaucracy and wasting of 4-6 years of everyone's time at taxpayer expense for people who do not want to be there (for good reason). Of course, the source of that problem is opinions like yours - that college has some kind of intrinsic value. It somehow makes you better, hence, it is not a "trade school" which teaches you a trade. If this is the case or not is fairly irrelevant; it is not how it is seen by those in it, so it is not how it is treated by them.
Then, of course, there are those who use college as a buffer of party time between highschool and work. I'd dare say they make up a bigger portion of college population than either learners or goal seekers...
Great Intellect...
With a good teacher there is no need for whiz bang fancy pants hook'em when their your graphics
Speaking from own experience here
There was no one in my own country who could teach me what I wanted to learn
99.9% of the programming I learnt, I learned from many online Gurus
I am not from US nor Europe. I was just an Asian geek who fell in love with technology
When I started to go online, it was something known as "Fidonet"
I graduated from 400 baud to 800 baud to finally 3200 modem.
Then the 3rd world Asian country that I was from started offering "Internet", on 64Kbps broadband.
I posted questions, many many questions, and was helped by the many gurus that generously shared their knowledge with me and others
Step by step I learned. From basic to Pascal to C to Assembly Language
Muchas Gracias, Señor Edward Snowden !
My guess is that corporation fights, messy and confusing APIs, software patents and changing standards should drive most intelligent and creative people away from programming. Calling it "technology" doesn't help either.
The way to make programming cool is to pay programmers decently. Currently, if a plumber comes to my house, I pay more per hour than I would get as a freelance programmer. Why bother with the long studies and the headaches ?
First and foremost, programming isn't for everyone. I had to learn this the hard way, by many frustrating experiences of trying to teach people what is natural for me. Some, actually most, people just don't make good programmers. Yes, you can teach them how to do it, but they'll never be able to come up with sensible code themselves. They will know the functions and commands, but they will never grasp the mindset necessary. They will eventually maybe get the how, but never the why. And that simply isn't enough. That way you get rote programmers who will spend their time hunting for code someone else wrote and do some crappy copy/paste programming job. The only thing you accomplish is that this kind of "programmer" will muscle into the work force, push salaries down to the point where even people who could do some great programming stop aiming for the trade and would rather spend their paid hours in some idiotic number pushing job, simply because it's better paid. Like, say, me turning to IT security management rather than IT security development. I'm a far worse security manager than I was in secdev. But it's better paid. WAY better paid.
Then, coding IS already cool. For those interested in coding. I spend my spare time coding now, think I'd do it if I didn't think it's cool and it's fun? And you'll never make it cool for people who don't get an orgasmic rush from nifty code that works, from an optimization that shaves off 20% of runtime, they don't care. They don't bother. They will create code that "does somehow" what it's supposed to do to get over it. For them, it's not a passion but a burden. You get the kind of output that you get from anyone who has to do work he doesn't really enjoy, the one with the least effort necessary.
And finally, to rephrase the first paragraph and explain why people would rather go for BA majors than for engineering: Salaries. The crappiest BA number pusher gets more money than the best IT engineer. People follow the money, it's that simple. And as long as it's better paid to administrate than to actually do something productive, this is where people will go.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
Show me one, just one, education program that is about problem solving and not about cramming information into your head until the test is over.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
The only language to start with is LISP.
Let the Flamewar begin...
In high school... I went to a special one called W.T. Clarke in Westbury New York... I had four teachers which were really amazing. The principle of the school decided that to teach computer programming, he'd hire a programmer. To teach electro-mechanical engineering, he'd hire a robotics engineer. To teach architecture, he'd hire an architect and to teach electronics repair, he's hire a TV repair technician. Oh... did the same for carpentry and other things as well.
He believed that if he could find these people with a love for what they do, who felt that it would be more productive to teach 30 new kids each year than to do the work themselves. The initial pay was that of an entry level person of the field which they were specialists in and the costs to cover tuition to the university to become a certified teacher as well. Upon completion of their degree, they would gain the additional money that had been paying for their university classes as salary. The end result was, nearly every person on my friends list on FaceBook from those classes are now working high level positions in those fields..... or as teachers. That's about a 70% success rate.
A key thing to understand about these courses is... they were elective courses. You had to do well in your normal classes or you'd be dropped from these courses. So, the students in these courses actually did better in their other classes than the other students as well. It's like forcing an athlete to pass their other classes or no football for them.
This system worked incredibly... the problem was, the principle had to fight for this. He demanded of the school district the funds to make this happen. He probably interviewed 50 people for each position before choosing someone. After all, with the investment he would need to make in a person like this, he didn't want to have to do it every 3 years. So he picked the right person for the job. Of course, in that school, he did pretty much the same for nearly all his teachers and in a school with 1500 students, that's a huge job. But, the end result was one of the best schools in New York and possibly the whole of the U.S.. He didn't piss away money on fancy landscaping projects like they do in California. Whenever he got the money to do anything, he improved the academics of the school first and if there was any money left over, he bought a lawn mower. He would even attempt to convince the football team and cheerleading squad to run fund raisers for those things to avoid having to use the normal budget for those things.
Mind you this was in the 80s and 90s. He set aside an area of the parking lot for kids to smoke. He felt strongly that he'd rather keep the students at school even if it meant letting them smoke on school grounds as opposed to having them skip classes to avoid getting caught smoking. These days, the parents almost certainly would lynch him for such a decision. Unlike other schools where the principle was some loser who deal out punishments. He let his subordinates take care of punishments. He on the other hand would take personal interest in any student he felt was going the wrong way. He understood that the kids who looked like "The wrong kind" could often simply be trying to define themselves as nonconformists. If some kids needed a "tough guy" reputation, he'd even pull them across the school and into his office by their ear for everyone to see, then sit down and play a game of chess with them and talk about things. Fact is, we as students didn't fear him for punishments. We feared that he would be disappointed in us... a raised eyebrow from him was enough to put nearly all the students in line.
I can go on and on about him. But the important thing more than anything else is that he made the school what it was. He built a team of the right teachers. He sacrificed new paint in the hallways for better text books. He focused on what was important in a school. People always talk about "The right teachers" and "Higher pay", but in retrospect, I must admit that the key to success is great leadership. Start with that.
Dunno why. Games are one of the toughest areas in the field.
Let's be serious now, you can cheat when programming in most areas. Yes, your accounting code may be slow and sluggish, but that won't surface until you have like a thousand people connected or maybe millions, and if it croaks under the load, who cares, plug in a few more cores and it's gonna work fine again. Your code runs like once a day, and nobody cares at 2am whether it needs 10 seconds or 10 minutes to finish.
Try cheating in game programming. Everyone and their dog will instantly detect that you have no clue about optimization.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
...barring truly equitable currency exchange rates globally, it is impossible for me to say whether an investment made in technology education won't be wasted when it results in wholesale layoffs of a generation or two due to those technology workers being undercut on costs.
America has been there, done that. All Hail Carly Fiorina!
Orwell: "In a Time of Universal Deceit, telling the Truth is a Revolutionary Act"
Was this motto designed by people who support, or oppose, the proposal? How is equating it to learning latin going to attract students?
This is probably going to end up as a grandpa Simpson style ramble. The important thing was that I had an onion tied to my belt, which was the style at the time...
I can see a lot of reasons that Britain developed a software industry.
In the 1980's British schools were encouraged to buy computers. The BBC Micro - made by Acorn, sponsored by the BBC. These allowed kids to start programming immediately. BBC's BASIC had move/plot style drawing routines which allowed kids to create something easily. So some kids were taught to program by being given ainstructions to write a program to draw a square. Most kids followed the instructions, copied the programs but didn't learn anything. A computer program was seen as basically an incantation. The lessons made no attempt to encourage you to work out how to draw, say, a different shape. However, some of us did (or at least I did) see how this simple program could be made more interesting.
Most kids when I was growing up had a home computer. Acorn and Sinclair had both launched in their home territory first, and the major consoles (Sega Master System and NES) were released a couple of years later than in the US. This gave home computers a lot of time to establish a very strong niche. In my middle class area, everyone had a Commodore 64 or a 48K Spectrum by 1987. 8-bit home computers were amazing for experimental kids. You could turn them on and start programming immediately. and they were good for games!
I think as a result of these factors, those kids who were actually interested in computers had plenty of encouragement to learn. The option to program the thing was staring them in the face!
A lot of kids won't learn programming. It's hard work and they find it dull. School lessons on the subject do nothing to reduce this impression. Programming mainly appeals to those nerds who like pure logic puzzles. These ones will learn to program when they realise it's an option, but most of them will get into it largely by accident.
When i was a kid i always had a keen interest in IT... I programmed in BASIC on my C64 and later the Amiga, i connected to BBS services, i took hardware apart and tried to understand how all the software worked, and i frequently tried out software or even entirely different operating systems i had downloaded or received on the front of magazines.
When I went to school, the IT class basically boiled down to "how to use wordperfect office", we typed letters in wordperfect, made graphs in quattro pro and made trivial forms in whatever the database application was called... The teachers generally had little or no interest or understanding of the subject, and were primarily teachers of a different subject who had been made to take the class and just followed from a book. School was mandatory so we just had to sit through this mind numbingly boring class..
When I left school and had the chance to go to college, it was basically going to be several years more of the same, only they had now moved to msoffice instead of wordperfect. One place i looked at did offer some courses in programming, but in order to qualify for those you had to sit through 2 years of msoffice first, and when I asked to go straight to the programming course i received an extremely patronising response. So since college wasn't mandatory, i didn't bother.
Instead, i found a small company where i was able to get a technical interview, demonstrated a decent level of technical knowledge and was working, gaining actual useful experience at the age of 16.
Since then i've seen people who have been through the education system, entering work in their mid 20s with mountains of student debt, no experience, and no real interest in the subject beyond "its a day job" who do the bare minimum to get by...
While it's a noble idea to teach programming in school, i can see it working out pretty badly for a number of reasons...
Schools are a poor environment to learn in, you have teachers who are patronising and out of touch with the kids, combined with numbers of kids who have no interest in learning anything who will apply peer pressure to other kids and drag them down too. Classes are generally boring, and many teachers try to stick to the victorian method of teaching with the class sitting in absolute silence while the teacher drones on.
I can also see this getting hijacked by "corporate bribery" in the guise of charity... Some company, most likely microsoft, will "donate" software that has a retail price of millions but a production cost of nothing, as both a tax writeoff and to ensure the schools teach a microsoft approved curriculum... So you won't be taught the basics of programming, nor will there be any mention of low level programming (heaven forbid anyone try to write replacements for ms software)... The class will end up as "how to use visual basic", teaching ms languages tied to ms platforms.
You absolutely NEED to teach basic concepts, if you teach specific software then by the time kids leave school (as happened to me with wordperfect) that software will be obsolete and have been replaced with something different.
I saw a tv show recently about "problem students", it depicted 2 highly intelligent girls who had started becoming "troublemakers" in school despite having been top of their class in previous years, and the approach taken to them was to be absolutely anal about discipline.... The reason these girls were stirring trouble is because they were absolutely bored shitless by class. When you force an intelligent person to do a mundane task, their mind wanders. And the school's solution to this was to send these girls to sit in a teacher's office, where he berated them in an extremely patronising way, as well as anally enforcing the school uniform and preventing them from going to class because one piece of their uniform was not to spec.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
Why would money make better software devs, that makes no sense. The best guys are the guys who do programming out of passion for computing. Did you forget about the flood of shit programmers and admins that appeared in the dot com bubble? Look at all the idiots getting busy degrees thinking its a quick money maker. This fixation with money is the real issue. People need to realise money does fuck all for you once you have enough for the basics.
"The space elevator will be built about 50 years after everyone stops laughing." - Arthur C. Clarke ~1980
I don't think that's true. Your accounting software is not going to be popular when you overflow a 32 bit signed field you used for number of cents. In games you just prevent the number from getting that high. If your rounding error has a cumulative $10000 loss after several million transactions, that's serious stuff in accountancy. Who cares that things are slightly too low in a game? Add a fudge factor if it actually matters.
Wow. Until they get addicted to WOW.
The BBC Micro was installed in 90%+ of all UK secondary schools. It booted straight into interpreted BASIC (much like the ZX Spectrum and Commodore 64), and was used mostly to teach programming. When the early 90s arrived they were replaced by PCs, and the emphasis shifted to learning how to use the latest flavour of Microsoft's OS and Office suites.
20 years later .... oops.
That is quite a cynical view of higher education. What do you regard as a "serious goal in life"? An economic one?
Maybe things are different here in Europe, but in my experience, there is a substantial percentage of people doing CS out of genuine enthusiasm for the field. I don't see how being around bright people for a few years has no intrinsic value. I'd go as far as saying that it does make you better in the sense that you come in contact with ideas and concepts you wouldn't have seen in a trade school, as they - shockingly - cannot be monetized directly.
Of course, many of the same kind of people tend to choose jobs in research and education. I sometimes suspect that there might even be a little more to life than birth -> work -> death.
On the flipside, if your game freezes for a few seconds, people will complain that its performance is terrible. If your accountancy program does the same then no one cares - the accountant will just bill the time to the client. Neither set of requirements comes close to something like aerospace systems (realtime responses and verifiable code both required).
I am TheRaven on Soylent News
I learned BBC BASIC, and most of what I learned is still relevant to modern languages. It had direct access to memory and more or less the same set of flow control structures as a modern language. It didn't support object orientation (I'd recommend Squeak eToys for teaching that), but that's pretty trivial to learn.
I am TheRaven on Soylent News
It's a job where you're expected to keep learning new things, you work for managers who don't have the slightest clue about your job because they're a career manager, you often can't do anything fun and instead glue together frameworks, they try to pay you as little as possible and then send your job overseas.
.Net then maybe kids would be interested.
Obviously all of that doesn't apply to every job but at least some of it applies to a lot of jobs. Where is the fun in that? I consider myself lucky in that I have a pretty awesome development job but I've worked for larger companies and it's often no fun at all. If the jobs could be fun or you'd at least be treated as something better than a keyboard monkey pounding out Java and
They need to pay better money to get better teachers who can teach kids how awesome programming can be.
Actually, nothing beyond one link was "echoed". And the link was to a BBC interview they contributed to, so I'm sure they are ecstatic that slashdot picked it up.
If you haven't noticed, this has never been a site for investigative journalism and hard hitting original reporting, it's mostly blog that posts links to other articles and lets people comment on them.
I have noticed, and I'm very happy for Raspberry Pi getting the /. traffic (as I am sure they are), I suppose it has been almost a whole week since we had a RP story and it was a little clever to not mention Pi in the summary... as for the link being to a BBC interview, it was a BBC interview about the Raspberry Pi project and its goals - with some other stuff thrown in for the appearance of balanced and thorough journalism.
And, if we have to have a heavy rotation subject, I'd much rather eat Raspberry than Apple.
Still, I'd be more impressed if /. could come up with some Pi news that isn't also posted on their blog.
That's just the high level stuff. If you do low level, you've got video signal theory vs practice, interrupt routines, keyboard scan routines, hardware timer usage, switch debouncing, and A/D converter use and abuse. The way we did this in microcontroller class was infinitely more boring than writing a space invaders clone, or a game of any sort.
Something I noticed was the MC class was much easier for my fellow students than CS classes... There's something about having a physical matrix of keyswitches that makes it "more obvious" than a CS class iterating thru an array... I think it fair to say you're far better off starting kids off with a microcontroller than with a classic CS curriculum or even with logo.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
Writing "space invaders" has little skill involved (hit-boxes and timers mostly), while writing a multiplayer racing game contains physics, graphics, networking, synchronization, security (anti-cheat), and possibly even AI (racing is particularly difficult to do well with AI).
With all due respect, you are correct that writing an exact clone of Atari 2600 space invaders is pretty easy/boring, but there is exactly zero reason why a "space invaders like" game could not have realistic projectile physics and realistic target maneuverability, 3-d graphics, synchronized networked multi-player, some psuedo-security anti-cheat (you do realize those are almost universally snakeoil, right? and part of the class could be having the kids break each others snakeoil...) and some AI so the last space invader sees how you got the first and tries to evade you (hmm, he always shoots down aliens at the edges of the screen, or maybe the center, or maybe he always gets them at a certain altitude, perhaps I will avoid those areas of the screen?)
Its kind of like claiming Wii sports table tennis is no more difficult to write than the original "Pong" game, because after all, they both are just paddles and a ball...
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
Programming is already cool. It's programmers that aren't, and most people don't want to become a programmer in order to get to the cool programming part.
We're like a colony of Leper Wizards. Everyone's in awe of the fact that we can create fire, but no one really wants to hang out with us long enough to learn how to do it themselves.
The real difference is money. In the early to mid 90's gaming was seen as something a few geeks did to let off steam, and generally gaming in the classroom was viewed as goofing around. Today, everyone and their grandma games, it's a multi billion dollar industry that easily rivals Hollywood or the music industry. Suddenly governments are realising this is a service industry they want in their countries and so are encouraging grass roots take-up.
One of the reasons games pay less is that many people go into it for the love of it (how long that love lasts once the months of crunch time, non-existent social life, poor money etc kick in is another matter). While you're right that students shouldn't be pushed into the wrong careers for the wrong reasons, schools should still absolutely be encouraging students in the areas of their chosen subject that they feel passionately about. Even if it comes with some real life advice about the prospects in the gaming sector, it's still a way of engaging them and teaching them useful skills (that don't need to be used solely for gaming) in the process. There's nothing worse than having a love for a subject - any subject - only to have that passion drained by a curriculum that's to heavily focused on the drudgery.
Evidenced by the fact that almost every game that's released these days is patched shortly afterwards. Several games I've bought on release day (most recently Skyrim) already had a patch waiting when I got them home. We've pretty much come to accept that games are going to be buggy when we buy them and, if we're lucky, there will be patches later to fix some of the worst bugs.
Interviewing new recruits, the biggest problem I've seen IS that specific languages are taught over and above a sound understanding of the mechanics. If you teach programming well then the differences between languages are just semantics - a good programmer can move from one language to another with little more than Google to support them through the differences. The key thing is they'll be writing good quality, maintainable, re-usable code. A lot of university courses seem happy to pass people who can kludge together an application in the language of choice (or at least that's the impression I get, having to then do a lot of work in the real world to get people up to speed working on best practice collaborative projects). You could teach someone to be a great programmer using technology from a decade ago, if you're chasing the latest fad language then the chances are you're focusing more on the specific nuances of the language than the underlying understanding, which might well result in someone who is great at writing apps in that specific language but has no transferable skills.
Over in Canada, it's rising faster than nearly anything else.
The amount of students in a fourth year right now in my province is many times that of just four years ago.
I certainly learned some very, very basic facets of engineering in elementary school science classes. Sometimes Math, through the problem sets, though that was quite some time ago and I couldn't really delve into an example.
So, yes, that's actually a good idea.
The key behind studying CS is twofold; first, they learn the general background to how one of the most influential components of everyday life works, and two, they gain practical problem solving skills.
I find that, in any profession, there are very excellent people who do the job because they love it and there are other excellent people who do it because it pays well. I feel like you need both kinds of people.
Incidentally, there are also really bad people who do it because they love it, and there are plenty of mediocre people who do it for the money. Those people give both groups negative associations.
As for money, it is true that one can be very happy in life with the basics covered. It is also true that more money insulates you from disruptive events... if a new roof only costs a month of take-home pay, you are in much better shape than someone who has to scrimp for a few years to pay off the loan they took out for the new roof. I wouldn't want to give up too much time for money, but I also won't discount the value of more money. Even marriages are statistically more stable if money is not a recurring problem.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
Basic Two Factor theory. Money brings you to a level of not being dissatisfied (neutral). Challenging and meaningful work and a amicable work environment make for above neutral satisfaction.
I object to power without constructive purpose. --Spock
One issue that I think one needs to be careful with when teaching children programming is that most programming languages allow you to write things like "a=a+1". The age where children can handle programming concepts like variables is about the same age where they can handle algebraic concepts like variables. Learning programming while learning algebraic concepts could be confusing and hamper the understanding of math.
It would help a lot, I think, to use a language where assignment is not "=". Instead, the pascal notation ":=" which can be read "becomes equal to" instead of "equals" would be very important to early learners.
I often don't like the choices people make, but I like the fact that people make choices. That's why I'm a conservative.
You know when it is really fun? After you have been programming business software for years. After that, game programming is like a prolonged orgasm.
I object to power without constructive purpose. --Spock
Not really tough on the programmer. Just a matter of thorough debugging. That's a shortcoming a good QA department will recover. There's no such chance in game development, where your QA guys will at best give you a "code's crap" and who will not have a clue where to put the crowbar to improve it.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
I never said they should dissuade them, simply that they shouldn't PUSH it. It would be like pushing them to tech support careers.