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!

Reading, Writing, Ruby?

Unknown Lamer posted more than 2 years ago | from the scanning-skimming-scheming dept.

Education 292

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

cancel ×

292 comments

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

Needs Revision. (5, Insightful)

masternerdguy (2468142) | more than 2 years ago | (#38198382)

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.

Re:Needs Revision. (3, Informative)

JoeMerchant (803320) | more than 2 years ago | (#38198486)

Read the Pi schtick [raspberrypi.org] - they are all about changing computer instruction into something cool, and getting away from making everybody into electronic secretaries.

CURRENT STATUS: (-1)

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

FARTIN'
SHITTIN'
DIGGIN'
HAPPY
CALOOBY

wowowowowowowowowowowowowowowowowowowowoww

so what? (-1)

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

If you want more *real* software developers, you need to make the job *pay*. And not suck.

Any other action is just posturing.

Re:Needs Revision. (5, Interesting)

OliWarner (1529079) | more than 2 years ago | (#38198492)

I can't tell if that's an improvement over the "This is how MS Office works" ICT training that most UK students get now. I had to teach myself relational database basics and a few programming languages while in school because the school didn't have the courses (or the teachers) to push a real syllabus. A very few of the bigger A-Level colleges get it right but they need to be offering this sort of thing to 10 year olds.

And yes, if this if going to work, it'll need teachers who know how to program. Given that there are about three of those in the entire country, the government is going to have to get working on this now if it wants to make a change within the next five years.

Re:Needs Revision. (2)

JoeMerchant (803320) | more than 2 years ago | (#38198552)

I can't tell if that's an improvement over the "This is how MS Office works" ICT training that most UK students get now. I had to teach myself relational database basics and a few programming languages while in school because the school didn't have the courses (or the teachers) to push a real syllabus.

When I was 14, our High School comp-sci teacher had the good sense to realize that about 6 of us (out of a graduating class of 200ish) were sufficiently advanced that there was nothing he could teach us in a traditional lecture and homework format, they actually let us have an hour a day of "independent study comp-sci" in place of sleeping through yet another pointless class. Though we weren't required to, most IS people did most of the lecture projects anyway... as I recall, I produced 3 lines of code that executed all the functionality of the semester project - which was taking an average of 15 pages for most people to do when they did it according to the teacher's guidance. He was having them convert numerical bases, from base 10 to base 2, base 2 to base 16, base 16 to base 8, etc.

Re:Needs Revision. (3, Insightful)

Tastecicles (1153671) | more than 2 years ago | (#38198722)

I know precisely what you mean. I almost went insane when I did ECDL (just for the piece of paper that said "I know how to switch a computer on"), and after several years of Wordperfect, then Lotus Office, Star Office, then OpenOffice, I was faced with Microsoft Office 2000 and thought to myself "What the fuck is this messy shitpile I've got to work with?". Had to take everything I'd learned about decent interfaces and useful scripting and practically forget it all as I was forced to work with the hammer and chisel that tried to pass itself off as commercial-grade software.

Luckily I could get back to OOo when I took subsequent courses and the funny thing is, the course administrators couldn't tell.

Re:Needs Revision. (0)

Taco Cowboy (5327) | more than 2 years ago | (#38199130)

I can't tell if that's an improvement over the "This is how MS Office works" ICT training that most UK students get now.

What?

Is this what the Imperial British Children are learning today, "Microsoft Office" ?

Re:Needs Revision. (3, Funny)

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

They learn the skills necessary for administration of the empire :)

Re:Needs Revision. (0)

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

I learned using Logo, and later on BASIC on my TI99/4A. Later on, Commodore 64 BASIC and assembly language. I can rock circles around any of the current generation of VBA script kiddies.

Re:Needs Revision. (4, Insightful)

Piranhaa (672441) | more than 2 years ago | (#38198798)

It's not just high school programming that's like this (at least where I'm from). This is happening in post-secondary education.

I took Java EE - "Enterprise Edition" quite recently. We learned how to make enterprise grade web applications... Web forms with database back-ends.

Now, I have a decent programming background (C, shell scripts, and php mostly). Lets just say I can't remember the first thing on how to reproduce anything that was taught in that class. It was all copying and pasting code blobs and lots of "s/oldword/newword", even for our midterm and final exams. Unfortunately they try to make those classes as easy as possible for everyone, but nobody truly learns anything. And fucks over the people who actually would like to learn something. The Java 101 class I took before taught me at least 100x more.

For reference, I have to get my diploma in order to continue working with the current employer I'm with. While there are some things I do learn from these classes, the majority of it I already know.

Re:Needs Revision. (1)

jbolden (176878) | more than 2 years ago | (#38198834)

There are plenty of good public school programs for teaching computation. Alice for example came from work on Middle School computer programming and was able to teach creativity and discovery and basic concepts in programming. If your local schools suck run for school board.

pure theory is bad as well (1)

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

The best is some theory and hand on work.

Information Science is Science (5, Insightful)

Fished (574624) | more than 2 years ago | (#38198416)

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.

Re:Information Science is Science (0)

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

One argument would be that bits and bytes are artificial constructs that are subject to change with technology.

Re:Information Science is Science (1)

Dahamma (304068) | more than 2 years ago | (#38199018)

Except that bits and bytes are no more artificial than ones and zeroes, ie. Boolean algebra. And much less arbitrary than base 10 arithmetic, really. New technologies can help enable concepts like "fuzzy logic", but in the end even that is almost always represented in ones and zeroes...

Re:Information Science is Science (-1)

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

You're right. Someone should teach them to DRINK YO PRUNE JUICE!

Re:Information Science is Science (2)

JoeMerchant (803320) | more than 2 years ago | (#38198506)

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.

Bits and bytes matter less and less, they're becoming the sub-atomic particles of Computer Science, interesting to some of the theory guys, but all the practical stuff is made up of bigger chunks. Or, that's the theory, at least. I still manipulate bits in my C++ code, but then, using C++ makes me somewhat archaic, too.

Re:Information Science is Science (0)

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

Bits and bytes matter less and less, they're becoming the sub-atomic particles of Computer Science, interesting to some of the theory guys, but all the practical stuff is made up of bigger chunks.

Algorithms. That's where the science is at, yo. Well, at least if you think of art/science in philosophic terms, that is as a body of knowledge gained from experience and systematized into principles that can be taught, the possession of which gives the learner the ability to figure out how to perform tasks more easily and with greater success than without those principles.

Teach pretty much any programming language and algorithms for solving problems using that language. The language is a toolset, and the algorithms are systematic ways of using those tools.

Re:Information Science is Science (0)

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

right, so basically you're ignoring the information science aspect.

A bit is the fundamental unit of information. A byte is just a conveniently sized collection of bits.

Re:Information Science is Science (4, Insightful)

cheekyjohnson (1873388) | more than 2 years ago | (#38198574)

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

Pay that no mind. I'm sure he'll forget all of that by next year.

Re:Information Science is Science (1)

c0lo (1497653) | more than 2 years ago | (#38198690)

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.

As crazy as the ideas of "coding is Computer Science", "coding is cool" or... oh, God... "coding video games [slashdot.org] is cool".

Re:Information Science is Science (2)

suomynonAyletamitlU (1618513) | more than 2 years ago | (#38198698)

Bits and bytes are just the current implementation of digital logic. If I were to give a thousand-foot view, it would be more along the lines of hardware vs software, or a line of code vs a program, or computers versus networks, that sort of thing. The sort of introductory class that keeps a whole generation of kids from confusing 'the internet' with 'Google' (or AOL, or Apple if you prefer).

The number of bits in a byte, or the very fact that computer logic is based on binary, these aren't terribly consequential. If we found a way to make trinary computers tomorrow, both would change, but the human-facing half of it wouldn't.

Re:Information Science is Science (1)

Needlzor (1197267) | more than 2 years ago | (#38199460)

Same applies to maths. Mathematical theories are abstract constructs that can (and sometimes are) replaced with more efficient ones, but that doesn't mean we should stop teaching the old ones, because knowing where we come from help assessing the relevance of new theories. Just as possibility theory hasn't wiped out probabilities, ternary logic hasn't wiped out boolean logic (and ternary computer have existed since 1870). The underlying logical models do matter.

Re:Information Science is Science (1)

DarwinSurvivor (1752106) | more than 2 years ago | (#38198702)

Wait until he graduates and still can't change a tire, balance a checkbook, count back change or list his rights as an employee. As much as I wish computers were taught better in school, there are a LOT of more important stuff that has been missing for 30+ years.

Re:Information Science is Science (1)

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

Essentially the only right you have left as an employee is the right to quit.

You may not have noticed that change over the past 30 years.

Re:Information Science is Science (0)

Ethanol-fueled (1125189) | more than 2 years ago | (#38198816)

If you created a spawn who is incapable of the above, then its your fault. Yeah, you have to be involved in their development, unlike the 1% who can pay maids to raise them.

Fortunately, the 1% have been inept in raising offspring, and it's trivial to take those offspring out.

Oh, come on, say it.... (0, Offtopic)

JoeMerchant (803320) | more than 2 years ago | (#38198456)

Raspberry Pi [raspberrypi.org] has a new blog post, and you heard it echoed here first...

Re:Oh, come on, say it.... (2)

Dahamma (304068) | more than 2 years ago | (#38199106)

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.

Hey kids! Learn programming so you can train your (-1, Flamebait)

walterbyrd (182728) | more than 2 years ago | (#38198494)

visa worker replacement!

Yeah, that'll do it.

Games ok now? (0)

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

" become a major programming center for video games "

when I started a CS programme 1996, programming games was strongly discouraged and a frowned upon activity by the profs. Any game related project was rejected. Now game programming is encouraged?

Re:Games ok now? (1)

masternerdguy (2468142) | more than 2 years ago | (#38198512)

At least at my college they've discovered that games actually make students want to learn programming. Shocking isn't it!

Re:Games ok now? (1)

Tastecicles (1153671) | more than 2 years ago | (#38198630)

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?

Re:Games ok now? (4, Interesting)

masternerdguy (2468142) | more than 2 years ago | (#38198672)

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.

Re:Games ok now? (1)

DarwinSurvivor (1752106) | more than 2 years ago | (#38198726)

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

Re:Games ok now? (1)

Dahamma (304068) | more than 2 years ago | (#38199134)

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.

teachers make the difference (5, Insightful)

RichMan (8097) | more than 2 years ago | (#38198508)

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.

Re:teachers make the difference (0)

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

Better teachers = attract better people to teaching = offer more pay, don't slash their pensions, etc. Requires complete U-turn from the current economic policy, which can be summed up as "fuck the public sector because austerity". Not going to happen.

Ineffective curriculum-twiddling = new textbooks etc. required = funnel money to the people you play golf with and the nice folk who paid for your election campaign. Funnily enough this is a popular option for some reason!

Seriously, why the fuck would anyone brilliant enter teaching when they can still just go and work for a bank and get a lifetime's worth of teacher salary in a single year's bonus packet? Oops, forgot about the pay freeze and the pension cuts, make that two lifetimes' worth.

Britain is so screwed.

Re:teachers make the difference (1)

kenh (9056) | more than 2 years ago | (#38198972)

The money argument makes no sense.

The teachers we have now, if your asertion is to be believed, teach because they love to teach and don't care about the money - if they did they wouldn't teach, right? How will giving them more money make them better teachers? If you are under the impression that higher salaries might attract people that would be better teachers (a reasonable proposition, IMHO), what will you do with all the lesser teachers that were the best we could previously afford? Are they to be fired or will they simply do the same as always until they retire for a bigger paycheck? It could take 20-30 years to work the majority of all "lesser"/best we could afford teachers out of the system...

Re:teachers make the difference (4, Insightful)

hedwards (940851) | more than 2 years ago | (#38199102)

That's actually not true. Teaching tends to be somewhat cyclical over the last few years there have been a lot of teachers retiring that were hired during the 60s and 70s.

Higher salaries definitely would help, if they're going to continue to stretch the school year out the salaries are going to have to increase to accommodate for the fact that teachers can't have a second job during the summer like they used to. Plus, with increasing demands to keep their teaching certificates there really needs to be more money for the increased workload. In real dollars the pay is fine, but it's all that extra work load that happens outside of class time that needs to be addressed.

As for better and lesser, the issue there is one of certification, we could have better teachers if we paid more. The main reason is that it's hard to justify becoming a teacher when the standards keep increasing without additional support and without additional pay. Typically you're looking at a bachelors plus a teaching certificate and then on top of that you're looking at additional endorsements and certificates.

Re:teachers make the difference (1)

artor3 (1344997) | more than 2 years ago | (#38198776)

I'd say that an even better investment for that money -- better than textbooks and hardware, better than training and screening -- would be to pay teachers more. Honestly, teaching has got to be the most undervalued job in society today.

First of all, the ability to teach something (especially complex matters) is very rare. Not everyone who understands a topic has the ability and the patience required to communicate it clearly to the uninitiated. So already you have a small pool of potential good teachers.

Then they're required to get a masters degree. While that does have value, it is also expensive and time consuming. Many members of that already small pool (especially the technically skilled ones that might make good math or science teachers) will just stop at a bachelor's and pursue a career in industry.

Then, for the handful that remain, we pay them next to nothing. I've talked to starting teachers who, upon finishing their masters, get jobs paying $30k or $40k a year. Compare that with engineers who can earn double that right after getting their BS. Why would any technically minded person choose to teach?

Pay teachers more. Like, double what they currently make. Take the money being spent on classroom laptops and constant standardized tests and so on, and just give it to the teachers. Then, once teaching is seen as a highly desirable job, take only the cream of the crop and let the crappy teachers find jobs in other fields. I'm sure the unions would accept performance reviews if it came attached to a doubling of their salaries. A lot of people seem to understand the need to evaluate teacher's performance, but that's only half the solution. That gets rid of the bad ones, but unless you want eighty students to a classroom, you first need to attract good teachers. And the way to do that is to make it a job that actually pays off, rather than the labor of love (or fallback for the incompetent) it currently is.

Re:teachers make the difference (1)

MikeB0Lton (962403) | more than 2 years ago | (#38198864)

I hope you are joking. The teachers I know are compensated for the lower wages with the best health and retirement benefits around. I'd prefer to see the 80 student classroom as it might get teachers and politicians working together a little more to improve things, lest the politician lose his job.

Re:teachers make the difference (5, Informative)

Eric Green (627) | more than 2 years ago | (#38199184)

I am wondering what in the world you are talking about. During the three years I was teaching, a) my highest salary was the munificent sum of $21,800 per year (roughly $40K/year in today's dollars), b) I paid 100% of my health insurance costs (NO district subsidy of the cost), and c) the retirement benefit was 40% of my ginormous salary if I managed to survive 30 years without stroking out, being knifed or shot by one of my students, or being thrown under the bus by a school administrator upset that I cared about whether my students learned or not (and note that I did NOT pay into Social Security and if I had managed to get Social Security via some other job, there's a "double dipper" penalty in the SS formula that would take most of that away from me). In the years since I switched to doing software engineering rather than teaching mathematics I've sometimes worked 60+-hour weeks and multiple all-nighters but never worked anywhere near as hard as I worked as a teacher and get paid more than three times as much money than a teacher. If you paid me the same six-figure salary I make as a senior-level engineer I still wouldn't go back, because the job is thankless, never-ending, and utterly exhausting both physically and intellectually if you're doing it right. My hats off to those teachers who stay on the job and do it well, year after year, because the fools who criticize such teachers have not a clue.

BTW, once you get above 35 students in a classroom, it becomes simply impossible to manage in a way conducive to learning. Above 35 students learning starts dropping off rapidly, past 40 it's just baby-sitting and make-work. Teachers know this the hard way. The fact that politicians and parents talk about 40+ student classrooms as if that were some reasonable solution to the cost of running public schools tells me that either a) they don't care about education, they just want free babysitting to keep kids off the streets, or b) they're clueless cretins who need to be drummed about the head with a clue stick. That is all.

Re:teachers make the difference (0)

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

If you were trained as a programmer and were really good at it, would you want to be a grade school teacher, for salary times 1/2? Not likely.

OTOH if you were trained as a teacher and were really good at it, would you also be an expert programmer? Not likely.

So in many of these programming classes, the teachers are likely to be scrambling to stay ahead of the more talented kids.

Re:teachers make the difference (1)

outsider007 (115534) | more than 2 years ago | (#38198796)

What money? If it were up to the 1% (and it is) there would be no money at all to hire these mythological good teachers you speak of.

The *BEST* teacher - YOUR OWN WILLINGNESS TO LEARN (2)

Taco Cowboy (5327) | more than 2 years ago | (#38199232)

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

Programming is such a moving target (0)

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

Back when Bill Gates was in grade school, there was BASIC, probably the only general-purpose programming language that was really suitable for programming novices. Nowadays we have dozens of scripting languages as well as Java, C, C++, Pascal, etc. And console I/O isn't really good enough anymore - there has to be graphics and input devices (other than keyboard) and the Internet too.

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.

Re:Programming is such a moving target (1)

sydneyfong (410107) | more than 2 years ago | (#38198632)

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?

Sounds like a great idea. (4, Insightful)

forkfail (228161) | more than 2 years ago | (#38198518)

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.

Re:Sounds like a great idea. (2)

jd (1658) | more than 2 years ago | (#38198718)

Good maths is absolutely essential. Without it, you can't understand the relationship between the theory and the practice. I'd say that academic writing skills are also valuable, as that teaches people how to be clear, organized, link appropriately and yet be efficient -- skills essential to quality computing and skills absolutely lacking with today's dweebs.

There's a big dispute over what the terms "computer science" and "software engineering" really mean. I would argue that it doesn't matter, that a quality programmer is both scientist and engineer. Lacking one skill or the other is a major mistake and is in part the cause of the shambolic state of IT at the moment. And, yes, that means going to elementary/primary schools and teaching the core skills of both fields there.

I would also urge such courses to be multi-lingual. There is ample evidence that kids as young as 3 can learn multiple natural languages and keep them separate, so I think we can expect kids who are 7 or 8 to learn multiple programming languages and not get them confused. I'd suggest one procedural language, one functional language and one object-oriented language. (For the sake of argument, let's call them "Scotch", "Bourbon" and "Beer".) This will address the unfortunately common problem of thinking one way -- always a major mistake -- and will teach kids to think about how the problem might best be solved, what tools are right for what jobs. It will also increase their flexibility, since the languages popular today aren't necessarily going to survive until the time today's youngsters are graduates and certainly won't survive until they're retiring. Education, to be effective, has to be usable for the next 70 years. Most employees don't have time to study up and learn new programming languages AND new programming techniques, especially if the stuff is only going to be good for a few years at a time. You have to learn how to do things, not replicate results.

Re:Sounds like a great idea. (1)

evil_aaronm (671521) | more than 2 years ago | (#38199116)

I don't flat-out disagree with the "can't understand relationship between theory and practice," but I'd say that abstraction is more important than understanding "O-notation", for example. Both are important, but if you can't abstract the core logic of a loop, for example, what's the point of knowing whether it's "O" or "On^2"?

Re:Sounds like a great idea. (1)

jd (1658) | more than 2 years ago | (#38199244)

That's why you need both the science and the engineering aspects of computer programming. Combined, they tell you how to use abstraction to get from the core logic to the order of a function, or how to deduce what the order will be given some form of abstract notation. (Teaching 5 year olds Z is probably a but much, but they can certainly handle flow charts.)

Re:Sounds like a great idea. (1)

kenh (9056) | more than 2 years ago | (#38198908)

The benefit you got wasn't from the subject, it was the manner of instruction ('d argue). I wonder if your dad taught you auto repair if you might not now find yourself making a comfortable living off of that skil set. Or what if he taught you woodworking skills? Plumbing? Electrical work? Masonry?

Your dad took you under his wing and shared something he valued with you for a long time - that is hadly the same as a classroom with 20-30 students of various interest levels being forced to progress at the pace of the slowest students in the class, is it?

Is declining enrollment a problem? (4, Insightful)

RobinEggs (1453925) | more than 2 years ago | (#38198520)

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?

Re:Is declining enrollment a problem? (2)

sydneyfong (410107) | more than 2 years ago | (#38198616)

It's human nature. Everyone wants to whine how those beneath them are incompetent pricks. It makes them feel superior.

Without the lower ranks, the illusion of superiority is gone.

So yes, they want the incompetent people under them and they want to whine.

</sarcasm>

Software development is being offshored/inshored (2)

walterbyrd (182728) | more than 2 years ago | (#38198638)

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?

Re:Software development is being offshored/inshore (1)

kenh (9056) | more than 2 years ago | (#38198866)

Better to study what, exactly?

College/University is not a trade school, intended to prepare a student for a particular job..

Re:Software development is being offshored/inshore (3, Interesting)

bky1701 (979071) | more than 2 years ago | (#38199226)

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

Re:Is declining enrollment a problem? (2)

cheekyjohnson (1873388) | more than 2 years ago | (#38198660)

What makes you think that the people you see on Slashdot "bitching that half the youngsters getting computer science degrees today are incompetent code monkeys" are the same ones who dislike the declining interest or falling numbers in comp-sci education? Or do they all think the same way?

Re:Is declining enrollment a problem? (2)

loom_weaver (527816) | more than 2 years ago | (#38198668)

I prefer to be elitest and think that only a small percentage of the population can actually think abstractly enough to have an aptitude for math and computer science.

While I love wrapping my head around a hard problem (and gain immense satisfaction in solving it) when I describe what I do (sit in a desk most of the day and think about problems) to other people they picture it to be about as fun as water torture.

Re:Is declining enrollment a problem? (1)

kenh (9056) | more than 2 years ago | (#38198882)

The new "bubble degree" is environmental science - it sounds nice, but typically rarely leads to a career & the jobs that there are tend to exist only because of gov't subsidies... Remove the subsidy and the job disappears.

It's not supposed to be a trade school (1)

tempest69 (572798) | more than 2 years ago | (#38199114)

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.

Competency and Interest (1)

SuperCharlie (1068072) | more than 2 years ago | (#38198528)

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.

Re:Competency and Interest (2)

jawtheshark (198669) | more than 2 years ago | (#38199486)

Exactly to the point. Interest-based education would be the best option.

Perhaps... (1)

Genda (560240) | more than 2 years ago | (#38198530)

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!

shop class (5, Interesting)

Anvil the Ninja (38143) | more than 2 years ago | (#38198560)

High school intro to programming should fill the same niche as shop class -- to get students interested in creating stuff.

Re:shop class (4, Insightful)

kenh (9056) | more than 2 years ago | (#38198836)

And be just as optional. Requiring a student to study something like shop or programming they aren't interested in and will likely never do anything with outside of class will ruin it for everyone else as the teachers will need to "dumb-down" the class to drag these folks along, causing the more interested students to become frustrated with the pace of the class.

Re:shop class (1)

xs650 (741277) | more than 2 years ago | (#38198902)

When I was in high school, shop classes were there to keep the delinquents occupied so they didn't tear down the school. Yes, there were a few serious students in shop class, but not the majority.

The definition of literacy changes every day (2)

Pirulo (621010) | more than 2 years ago | (#38198580)

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

Re:The definition of literacy changes every day (1)

kenh (9056) | more than 2 years ago | (#38198818)

The vast majority of US college graduates fail to comprehend legal obligations (student loans), compound interest (credit cards), and their current political system (OWS)... I suspect there is a similar "life skill gap" in the U.K. - is it reasonable to propel programming ahead of these other skills?

This line of logic reminds me of the OLPC crowd that is throwing money/support behind the idea of dumping laptops in the laps of under-privlidged children around the world to solve some vaugely-defined problem instead of uhm, clean, safe, water, for example...

Programming *was* cool at school (2)

Tastecicles (1153671) | more than 2 years ago | (#38198586)

...Back in the 1980's when the programming I did caused a small robot [mit.edu] 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.

Re:Programming *was* cool at school (2)

Tastecicles (1153671) | more than 2 years ago | (#38198602)

I know it's bad form to reply to yourself, but:

One or two side skills I picked up while working with Turtle was in forward planning and troubleshooting. Not to mention a habit I'm still trying to kick, which annoys me greatly: the pursuit of perfection.

Want videogame studios? (1)

Nemyst (1383049) | more than 2 years ago | (#38198594)

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.

Re:Want videogame studios? (1)

JoeMerchant (803320) | more than 2 years ago | (#38198692)

I think Media Molecule in particular is pushing this along because they can't find anyone under the age of 25 worth hiring anymore.

Re:Want videogame studios? (1)

Eric Green (627) | more than 2 years ago | (#38199076)

Perhaps Media Molecule should think about hiring some of the 50%+ of UK Computer Science graduates who cannot find a job in the field? When I see statistics that say that 70% of Computer Science graduates are not working in the field five years later, I call balderdash on the notion of a shortage of software engineers in the UK. If Media Molecule truly believes that 50%+ of UK Computer Science graduates are unqualified to write software, it sounds to me as if their beef is with the universities that credential people not worthy of said credential, not with anything happening at the primary school level.

Declining Computer Science Enrollment? (0)

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

Is computer science enrollment declining in the States as well? Computer Science at the college (University of Michigan - College of Engineering) is one of the most popular majors. I would expect some decline from the dot-com bubble, when it was the flavor of the month to study computer science, but I would expect that over the past twenty years there has been an upward trend in computer science enrollment.

Yeah, that'll help (0)

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

"and make coding cool?"

Yeah, teach it in school. That's where all the cool kids learn.

Make it cool by making it mandatory? (2)

Leuf (918654) | more than 2 years ago | (#38198644)

If you want to make it cool, ban learning about it.

"video games and special effects"? (4, Insightful)

j. andrew rogers (774820) | more than 2 years ago | (#38198650)

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.

Re:"video games and special effects"? (2)

JoeMerchant (803320) | more than 2 years ago | (#38198710)

I don't know the whole industry stats, but there are a large number of people employed in movie special effects, games, and related things like virtual reality for architecture, etc. Much larger than pro sports, (highly paid) acting/modeling, and the typical wish list.

Re:"video games and special effects"? (1)

White Flame (1074973) | more than 2 years ago | (#38199000)

I would suspect that there are far more people employed in writing mundane crap like "accounts receivable form generator that Jim made before quitting" than any of the effects areas you mention.

Again? (2)

cheekyjohnson (1873388) | more than 2 years ago | (#38198670)

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.

Re:Again? (1)

pntkl (2187764) | more than 2 years ago | (#38198946)

In my experience, most people gawk at the idea of writing any kind of code. I think the path should be more available, at a younger age, for specialization. If a kid has a ton of interest in the subject; I'd think it would be most effect when they're feeling spongy.

Re:Again? (0)

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

Exactly! This is just one more attempt to socialize education courtesy of our muslim president. I don't need my kid to be indoctrinated in open source software, and I don't need them learning a computer language without first understanding the ideologies behind those languages. School programs are already dying for money. This just makes it more difficult. They need to stick to the basics. Hell, more vocational training would be a better choice than this. If kids want to learn how to program a computer, they can buy a book.

Re:Again? (0)

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

My wife occassionaly bemoans the need for students to study maths and other "things they will never use". She hated maths and always excused her poor performance on "not needing to know about this stuff in real life". She often comes to me with problems that need my "weird brain". And these are not just technical, geeky problems that she wants help with. I can solve problems she finds difficult and I'm convinced it was because of the problem solving I was required to perform in mathematics and cs. After all, it's just good brain exercise.

Re:Again? (1)

cheekyjohnson (1873388) | more than 2 years ago | (#38199112)

Interesting anecdotal evidence. Now let me share a bit of mine. I know a few people who either dropped out of school entirely (and never learned much of anything beyond basic math) or just never understood it to begin with. They don't use it or need it (the more advanced math). At all.

I've seen people mention that learning about it makes you more intelligent (or something to that effect) even if you do not need it. My question is, how much more intelligent? Will that work for everyone? A majority? Is it worth making people learn things that they won't need just so they can see slightly higher test scores (if that)? In my opinion, no.

Ruby??? (1)

khipu (2511498) | more than 2 years ago | (#38198696)

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.

Re:Ruby??? (1)

masternerdguy (2468142) | more than 2 years ago | (#38198708)

(R)eading, w(R)itinng, a(R)ithmatic, (R)uby. Pattern.

Re:Ruby??? (0)

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

Not to mention that Ruby is on a slow and steady decline:

http://www.tiobe.com/index.php/paperinfo/tpci/Ruby.html

Re:Ruby??? (1)

Frequency Domain (601421) | more than 2 years ago | (#38199208)

Why do you consider Python a teaching language but not Ruby?

Why not... (3, Insightful)

kenh (9056) | more than 2 years ago | (#38198764)

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

Superheros are trained young (1)

pntkl (2187764) | more than 2 years ago | (#38198884)

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]---\

Re:Superheros are trained young (1)

Eric Green (627) | more than 2 years ago | (#38199028)

I saw my first computer at age 17. I've been making a living writing software or doing other related things for over 20 years now and while I'm no Linus Torvalds, I still don't have any problem finding a job when I need one and making significant contributions everywhere I go. What differentiates those who will be good at writing software from those who will never be has nothing to do with how young you are when you encounter computers, and everything to do with your ability to think in a logical and straightforward manner. I would much rather see our schools teach thinking skills than computer skills. Thinking skills are useful for other things (say, in figuring out which politicians are lying to you and thus you should vote for the one *not* lying to you, for example), while skill writing computer programs is useful only for a small set of problems. I don't write algorithms to go grocery shopping or change the cat box. Just sayin'.

Re:Superheros are trained young (1)

White Flame (1074973) | more than 2 years ago | (#38199064)

As a child during the 80s, I remember a lot of this sort of positive attitude. It seems that children were always having "You can do whatever you set your mind to", and the Army's "Be all you can be" sort of slogans shoved in their face. Sure, not everybody embraced that but I think it had a generally empowering effect.

Then the "don't hurt anybody's feelings by being better than them" and "just because you suck doesn't mean you need to change" mantras rose up and it seems to have a superhero-reducing effect.

I do believe these attitudes have a rippling effect, but they stem from the culture's perception of children and education. Nowadays the culture of education is driven by the noisiest parents (at least in the USA), and changing that is quite a chore.

programming languages still suck (2)

bzipitidoo (647217) | more than 2 years ago | (#38199152)

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 closest we have to a standard for libraries, but it's awful. You can't easily tell what sort of parameters a function takes by looking at the library, have to dig up the C header file for that. Then we have this name collision issue, which was resolved with another custom, that of prefixing every library function name with an abbreviation of the library's own name. Now C has namespaces. We can't expect novices to intuitively understand that. To use these libraries in other languages, have to make wrappers to translate the function calls. CPAN (Comprehensive Perl Archive Network) has tons of such wrappers. Java has its own huge world of libraries. We should have standardized this somehow. I don't want to have to call upon the C version of qsort when using C, and the Java version when in that language, etc. I want to be able to call the same qsort function from any language, and without having to dig into complicated linkage issues.

Programming is awesome for education. (0)

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

When done correctly, it's all about problem solving.

Ruby is to programming as... (0)

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

Ruby is to programming as musical notation for a particular type of instrument is to music. You wouldn't expect a music teacher to proclaim that reading and writing sheet music for the brass section is all you need to know about music.

Programming is not "technology" (2)

kanguru007 (1261990) | more than 2 years ago | (#38199274)

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.

Money (1)

medoc (90780) | more than 2 years ago | (#38199516)

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 ?

Won't work. For more than one reason. (4, Insightful)

Opportunist (166417) | more than 2 years ago | (#38199532)

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.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?