Why Johnny Can't Code and How That Can Change 527
snydeq writes "Fatal Exception's Neil McAllister discusses why schools are having a hard time engaging young minds in computer science — and what the Scalable Game Design program in Colorado is doing to try to change that. 'Repenning's program avoids this disheartening cycle in three important ways. First, it deemphasizes programming while still encouraging students to develop the logical thinking skills they'll need for more advanced studies. Second, it engages students by encouraging them to be creative and solve their own problems, rather than just repeating exercises dictated by their instructor. Third, and perhaps most important, students are rewarded for their efforts with an actual, concrete result they can relate to: a game.'"
Offshoring. (Score:4, Insightful)
Johnny can code, just that there's too much against Johhny to make him want to do so.
Get rid of offshoring, and Johnny will want to code.
Re:Offshoring. (Score:5, Insightful)
Middle school and high school students haven't had to fret about offshoring, I doubt that's a factor...
I think the big difference is, people in the industry (even young people, shortly out of college) grew up with (at minimum, if not earlier systems) DOS based systems, Windows 3.1, IRC chat client's etc. "Back in the day" anyone interested in using their computer for something useful had to learn to do it themselves, and tinker, and become interested in expanding their ability to make their computer do what they want.
Now, before they can walk, they have 3D games, music players, Facebook and all other forms of social media. I'm not saying it's all bad, but, where is the drive to get someone young interested in computing? To them, using a computer is playing a game, or reading Facebook. Not writing a script for mIRC to scrape text for keywords and have your bot auto respond to people, because that's what used to be fun.. 10+ years ago..
Re: (Score:2)
I'm not saying it's all bad, but, where is the drive to get someone young interested in computing? To them, using a computer is playing a game, or reading Facebook. Not writing a script for mIRC to scrape text for keywords and have your bot auto respond to people, because that's what used to be fun.. 10+ years ago..
We need something like a cross between Logo and the cool, but relatively simple Lightbot [armorgames.com] flash game to get kids when they're young. Teach them the basics while still being fun.
Re: (Score:2)
So...
- 3d games, music players, facebook, social media != fun.
- Writing a script for mIRC to scrape text for keywords and have your bot auto respond to people == fun.
You have a strange definition of fun, friend.
Re:Offshoring. (Score:5, Insightful)
And the current trend in computing devices is one from where the normal consumer device could be tinkered with, to where the normal consumer device is forbidden from being tinkered with. Its only a matter of time before you'll need a special "development system" to do any tinkering at all. Of course there are many in our age group who may not see this as a problem, because *they* would get such a system, and *normal* people don't need one anyways.
And you know how likely it is for a middle-schooler to actually have access to such a system? Especially when the parents aren't tinkerers themselves? Practically zip!
Think about it.
Re:Offshoring. (Score:5, Insightful)
And the current trend in computing devices is one from where the normal consumer device could be tinkered with, to where the normal consumer device is forbidden from being tinkered with.
There are a couple other trends that make it more difficult for learning computer programming.
Even if it's not forbidden, it's very difficult to tinker with any number of devices. When I was a kid, it was useful to spend some effort to take a device apart, figure out what was wrong, replace or juryrig some part, and put it back together again (sounds like programming, doesn't it). Nowadays, you need special tools and even if you get it apart, there's not much that you can tinker with.
Another trend is that math in schools depends more and more on using calculators rather than manually applying an algorithm to add, multiply, whatever. This might be ok for math, but students lose out on problem solving skills.
Overall, there are a number of factors that result in kids not having to learn problem solving skills that come in handy for computer programming. You could include following recipes in a cookbook, making up games and arguing about the rules, sewing, fishing, wandering around by yourself and finding your way back. Kids hardly do any stuff that involves real-world planning, execution, and debugging. No, a video game does not suffice for this (at least not so far).
The result is that college instructors (such as yours truly at an average college) end up with students that are essentially clueless about putting one step after another. Because the students have not been exposed to this, they are crippled when it comes to doing programming for the first time, and only a lucky few make it through the first few courses.
Re: (Score:3)
Middle school and high school students haven't had to fret about offshoring, I doubt that's a factor...
It's still a factor, high school students are going to be concerned about what college to attend and their future employment. Middle school students, not so much, but at that point in their lives the children's parents will influence what happens. And parents will see offshoring as a threat.
Personally, I encourage my 3rd grader to learn programming- things like logic and operators are fun. Especially when we can sit down and work through a problem, all skills that easily translate into a scripting langua
Re: (Score:3)
Get rid of offshoring, and Johnny will want to code.
I'm pretty sure "Johnny" isn't considering international trade relations and the resulting corporate offshoring when deciding what to do with his free time and/or study time. I certainly didn't give any kind of thought to that thing when i was a kid, and i expect the usual answers of "what do you want to be when you grow up" are based far more on what that individual finds cool than on a coldhearted analysis of future earning potential. By the time they reach middle school i expect most people are barely s
Re: (Score:3)
He is, just that he isn't paying attention in the way you might think. While we might see trade relations, he might see it in his parents losing a college-paying job from it, a relative experiencing the same, or perhaps the news.
He is brighter than you might think.
Re: (Score:3)
It depends on his parents. If his dad's a software engineer, he probably told little Johnny to find something else to do for work because his job was sent to India.
Modbomber didn't think of the long term. (Score:2)
You want Johnny to want to code, give him every advantage to get him wanting to code. He is paying attention to the long term when he's deciding where/for what he wants to go to college.
Re: (Score:2)
I don't know what things are like in your market, but around here there's a lot more programmer jobs than qualified people to fill them.
Offshoring isn't exactly on my top 10 list of worries. 5-6 years ago there was (locally) a big rush to do a lot of it with development work, but a few projects later most of the companies have figured out that getting offshoring to work is a lot harder and more expensive than it first appears, and so that work is coming back.
Re:Offshoring. (Score:5, Insightful)
Bullshit. Jina can code just as well as Johnny if not better, and he doesn't have the elitist "I'm always right because I studied design theory for four years" attitude. That's the problem.
I had played around with coding myself, but really learned first at Stanford. The thing is after returning to Japan I went to a specialty school that didn't even have an entrance exam - anyone can attend, and had to re-learn everything during the first year. I thought this would be worthless, but I quickly found out I had been taught how to code very poorly. You could easily draw parallels from programming education to math education in America vs math education in Japan or India.
I'm sure I'll get marked flamebait for all of this, but from my personal experiences both learning to code and working with other coders from America, Japan, and India I can tell you I'd probably never choose to partner with an American coder over an Indian or Japanese. Drop the attitudes and learn from those who in reality are doing it better than you.
Re: (Score:3)
Can you explain what you were taught incorrectly (or just weren't taught)? I'm curious what the issues were.
I'm interested too. (Score:2, Informative)
Not good engough to say X is bad and then don't bother to explain what is wrong. How are things going to get better otherwise?
Re: (Score:3, Interesting)
No, I took programming classes at Stanford, and then I studied at HAL in Japan. The difference was very much the same as the difference between education in mathematics between American and Japan, both I have experienced. Americans just seem to jumble concepts together in some sort of linear path where to get from point A to C you absolutely must learn point B before C and after A.
For example, in mathematics in America you learn different equations for a line in different mathematical styles - algebra, geom
Re: (Score:3)
I call B.S. If anything, a computer science degree from a US university focuses on the general concepts behind computing to a fault. Perhaps more of what you're describing falls under computer engineering. At any rate, you could have learned those things from Stanford just as well as you did from Japan, or perhaps better. The remedial intro to programming course you took was probably intended to cover the kids who chose to major in CS without any real coding experience from high school.
Re: (Score:3)
In Japan we learned computing architecture including how things were stored in memory and collected and processed by the CPU, stored in the registers etc. while also learning assembler, doing algorithms with flow charts, and learning C. By learning all that in parallel I understood how the code I wrote in C would look in ASM, and how the ASM would translate to a list of binary instructions stored in memory, and how those instructions in memory were composed and how they would be sent through the machine.
Tha
Wow, your contempt for the US shows quite well. (Score:3, Interesting)
Except that Jina only is coding because of anti-US fraud that works in her favor.
Sounds like you don't want a US citizen until they've been beat down to a level of world subservience. Another point to add - you weren't paying attention that we're not asking about Jina, just Johnny.
We need less of you, less of Jina, and to give every advantage to Johnny.
Re: (Score:3)
I'm going to call you out for racism. Generalizing something like the coding ability of the millions of coders in either Japan, India, or the US is ludicrous. Some people code well, some people don't. It has a little bit to do with education but mostly with passion and dedication. That can't really be taught and can develop in people at different times in their life. So I think as long as the education is somewhat adequate, the blame and glory of the results rests solely with the individual.
Re: (Score:2)
The more reason to give our citizens every advantage. If they want more coders, perhaps the US should tap our population first.
Re: (Score:3)
Protectionism never works. It's a global market and you can't go back now. If you want Johnny to not lose his job to Jhoni than he better learn some value added skills.
Re: (Score:3)
You mean like the large across-the-board tariff that China has employed via currency manipulation for the last 25 years?
Yes, it has clearly destroyed their industrial base and damaged their standard of living.
Re: (Score:2, Insightful)
Yeah, that's why software developers are some of the highest paid workers in the US. If you're having trouble finding a programming job you are probably piss poor at it and should look for another line of work. There are hundreds of open jobs right now in my city.
Re: (Score:3, Insightful)
Or maybe you're just getting started and NO ONE will even look at you unless you've got 3-5 years of professional experience.
Re: (Score:3)
Why should everyone in the US be a computer programmer? It makes no sense. Who cares? I want automechanics and skilled artisans, not programmers; we have enough programmers, and the steady spiral downward might be because they're rolling out of college and taking up beggary due to the lack of programming jobs.
Stupid single-minded one-dimensional gits trying to "fix" education...
Re:Offshoring. (Score:4)
Get rid of offshoring, and Johnny will want to code.
You make programming sound like some kind of a chore, a typical day job that someone is only going to do because they are paid to do it. I am sure that such programmers exist, but the best programmers out there are the ones for whom programming is as natural as breathing, who would be hacking even if they were unemployed, and who are enjoy the work that they do. This is not terribly different than the situation with mathematicians -- the best mathematicians are the ones who love math.
America has a lot of trouble teaching math to middle school and high school students, at least by comparison with other countries. It should come as no surprise that we have trouble teaching computer programming, which is very close to mathematics. It also doesn't help that we have a mass media that portrays computer programmers as these nerdy anti-social types (yes they sometimes become rich, but we glamorize people who were born into wealth).
Re: (Score:2)
If it's already going to be a long-term issue, killing offshoring would be a long-term solution. If you want to get Johnny coding, he'll appreciate that he can actually get a job.
Re: (Score:3)
So tell me how you "kill" offshoring? I'm curious what you magic antidote is to prevent companies from operating in a cost-efficient manner.
Re:Offshoring. (Score:5, Informative)
So tell me how you "kill" offshoring? I'm curious what you magic antidote is to prevent companies from operating in a cost-efficient manner.
Easy - remove the loopholes that make it cost-efficient for companies to offshore.
This doesn't mean protectionism - just closing the rules that allow companies to shift their revenues and losses between tax districts will do wonders to encourage companies to work in house.
Re: (Score:3, Interesting)
Quoting from your post:
"Even WITH offshoring Software Engineering is one of the ONLY segments of the US economy that is still hiring and has a serious shortage of qualified people."
I think you need some additional quantifiers here - employers set the bar high and don't want to pay for a rockstar. There will always be a shortage of the super highly skilled/niche programmers, and these people will easily find jobs because of their highly skilled/niche status.
Also, employers are unwilling to recognize
Re: (Score:3)
if you're not interested in computers.... (Score:5, Insightful)
no amount of coddling will make you a good programmer.
Re: (Score:2)
Re:if you're not interested in computers.... (Score:5, Insightful)
A disturbing interest in the kind of things that put off the kids described in this article
There are exceptions, but most of the programmers I know (and myself), when first exposed to computers, immediately started wondering how they worked and how we could "make programs". If that curiosity and interest isn't automatic and you have to be "tricked" into it... in my opinion you'll probably be a bad programmer.
Re: (Score:2)
You can say that about anything and it would be just as true. If you are not interested in doing it, you will not do it very well. These kids should find skills they won't mind doing for a third of their adult lives, not something they have to be tricked into.
Learn the logic, first. (Score:2)
Johnny needs a solid foundation in Programming Logic and avoiding pitfalls of "drop-through logic" before Johnny writes code for production.
Re: (Score:2)
Re: (Score:2)
Johnny probably needs motivation and opportunity to learn how to code before he worries about attaining production-quality habits. Trying to ingrain correctness from day one is why no one studies Latin and Ancient Greek any more. (And can we, as a society, really afford FORTRAN programs becoming mysterious cultural artefacts?)
My first motivation was in seeing what I could get this box to do. After that it was smartening up, learning how to be a tidy coder. Microsoft's legions of bugs and security holes tells you how emphasis is placed upon meeting delivery deadlines over quality.
Re: (Score:2)
Re: (Score:2)
FORTRAN programs will never become artifacts as long as two conditions are met:
1. FORTRAN manuals still exist
2. The state of computer science education is such that picking up a new language is a trivial task.
I have never used FORTRAN in my life; I am absolutely confident i could learn it quickly if i had to.
Re: (Score:2)
Re: (Score:2)
I mean study it at the university level. The Classics programmes at American universities have extremely high attrition rates and some of the oldest average faculties. This is in part due to how thoroughly the field has been analysed, meaning that the only work left to be done outside of archaeology is literary critique, but a major factor in this is heavy reliance on textbooks that have barely changed since the professors learned from them—Wheelock's, for example—and a disconnect from how thing
In other words .... (Score:5, Insightful)
... it's designed to attract the types of students who are disinterested in, or don't have the mind-set for, "real programming".
That worked out real well for all those colleges that churn out useless web monkeys - but not so well for the unemployable students going around with their "Certificate as a Webmaster's Assistant".
What next - "Programming by Powerpoint"? Oh wait ...
Re:In other words .... (Score:4, Informative)
Not necessarily. Johnny could be a diamond in the rough, but thinks that programming is hard and pointless. By giving him a rewarding goal that shows results quickly, he might discover that he actually has a talent and a passion. It worked for me - I only learned to program so that I could hack Netrek, and now I do some fairly deep fu.
Remember, we're competing for Johnny's heart and mind. Would we rather that he became a lawyer, or an accountant?
Re: (Score:3)
If Johnny is young enough, I think it works. For instance, I didn't realize it until many, many years later, but the first programming I learned wasn't Java or C++ in high school, and it certainly wasn't one of the dozens of others I saw in college, but was rather Logo [wikipedia.org] in elementary school. I recognize now that Logo actually was a big part of what got me interested in computers in the first place. I used to rush through the keyboarding exercises and other work we had in computer labs in 4th and 5th grade so
Re: (Score:2)
Care to point out any time in history when trolltalk.com ran even one paid advertisement?
Hint - you can pick from these three: never, null, and zero.
You still haven't explained how people giving away their GPL'd code is greedy (which is the accusation you made elsewhere, that by doing so on trolltalk I'm a greedy advertiser - webmistress Rachel completely trolled you on that, and you took the bait :-).
YHBT. Again! Sucker! Why don't you just stick slashdot in your precious hosts file and make the Int
Re: (Score:2)
Webmistress Rachel trolled you, and you, being the idiot you are, fell for it rather than check out the site.
Why not make life easy for yourself, and put slashdot in your stupid APK HOSTS FILE, and make the internet safe from idiots like yourself, who couldn't buy a clue if they were free?
Or you can explain how giving away my own GPL'd code makes me "greedy", like you accused me of being elsewhere.
How does it feel setting your
Problem is (Score:2)
It's hard for young students to see the purpose of these kinds of exercises, particularly when there is already plenty of software available to accomplish the same tasks, with no programming required.
The big problem with doing large "real" projects while still learning is that eventually you hit a point where you realize your initial design was bad. On a small "make work" project you can start over .. on a large project you just kind of have to go with it. Obviously this happens in real life to seasoned pros as well... but while you are still learning the fundementals it's apt to happen way more often and would seem to hold less educational value.
Somewhat offtopic, something that isn't done enough when
Re: (Score:2)
The other thing that isn't taught is how to take that 'bad design' and refactor it to become a good design.
Totally agree. Ongoing maintenance in general (which is at least a huge chunk of the jobs out there) isn't taught well.
What I actually think would be a good way to do this, is have some software application that is maintained for _years_ by the various classes. As a project, each class has to add new functionality to it... upgrade it to the latest technology, etc. The grading would cover not only that the new functionality worked, but that all the existing functionality continued to work and that the code b
In my experience (Score:2)
How much (Score:2)
How long would it take one of you guys to program Tic-Tac-Toe in a low level scripting language? What about with an AI?
The kids spend 38 weeks a year at school, maybe doing an hour ICT a week. Knock Tic-Tac-Toe out in 38 hours? I think not.
The article also spoke about getting Johnny interested... My little'un camp
Re: (Score:2)
The kids spend 38 weeks a year at school, maybe doing an hour ICT a week. Knock Tic-Tac-Toe out in 38 hours? I think not.
Depends on at what age we're talking about, when I was in HS we did Tic-Tac-Toe with a primitive "AI" that essentially tried to play a perfect game with a "fudge factor" that determined the probability of it making a mistake. This was the first project we had for the first programming course and took nowhere near 38 hours.
Of course, for most younger kids (say, grades 1 through 7 or so) who aren't interested in programming in the first place it's going to be hard to get anything done in 38 hours, they won't
Re: (Score:2)
Those games are too hard for them to make. Punch the monkey with pygame is a better example. If that takes 38 hours little Timmy needs to be steered towards jobs more suited to his skillset, like ditch digging or collecting welfare checks.
We got in at a good time (Score:3)
I feel incredibly lucky to have got in at a point where I could experience relatively low spec & power computing and see it progress to the state it is today. I get the feeling that a lot of people getting into computers these days as kids don't get that sort of exposure and so don't get so bonded to learning about them. There was a good chance you could understand the schematic of a C64. Look at a die of a modern i7 and it's more modern art than anything that's going to make sense to a kid.
I definitely feel that in some way we lucked out in getting to experience computing the past 30 years.
Re: (Score:2)
I definitely feel that in some way we lucked out in getting to experience computing the past 30 years.
I agree... growing up we had to learn BASIC and the command prompt to accomplish anything. It became second nature to write batch files to accomplish tasks, and to imagine the directory structure. Today, when I'm using a command prompt on SSH, my co-workers wonder how i keep track of where I'm at- without the GUI, they would be lost.
Re: (Score:3)
my first program was when someone showed me you could type
10 print"butt"
20 goto 10
Type run and the teacher flips out because she doesn't know about the Break key. yes, she eventually just pulled the plug on the computer. next we learned the PLAY command, and the room was filled with ambulance wails. Some of us may have been temporarily banned from the computer lab.
But I learned how a program works. I made the computer do something using a total of 24 characters.
Low bar to entry, intuitive method for an ab
FYI: Something worth be paid for is hard to learn (Score:2)
"The middle school years are critical for students in reaching conclusions regarding their own skills and aptitudes,"
Yes educators should make things understandable, yes we should make learning fun but there is a whole big nasty world of hungry people who would kill for the chance to "reach conclusions about their own skills...".
Where are the parents or schools telling students that engineering, maths and science can make the difference between having a job and not? Beca
Don't cater (Score:3)
I Think the problem is that "Johnny" doesn't like programming. Why fix that?
The worst employee is a specialist that hates his specialty. He's only going to fight his way out of his job and defer to others. Why do you think there's usually more IT managers than Developers? :)
Why not? (Score:2)
You're right about Johnny not liking programming. That's what TFA is pointing out. Why fix it? Because you're never going to fill the gap between the low number of able programmers and the need for them if you don't entice kids into the field. How can you expect to engage middle and high-schoolers in programming if you stick to theory. Let them figure out they hate it in college, that's what it's there for.
Young kids probably picture Milton and his stapler when they think of computer science. How can we pos
bad career choice (Score:2)
Been writing web applications for 15 years. Through 5 startups. Been outsourced twice, one time with the entire US team the week after closing an important B-round that we all worked really hard to land.
I have two kids. I've never suggested work in a technology field as a career choice for my own children. I'm glad they don't teach coding in schools, it's not good work. Coders are paid sh*t and used like toilet paper. All of our daily creativity and occasional brilliance ends up making the MBA pukes rich an
A case for intervention by government. (Score:2)
Get rid of the means for business to send work offshore or to make work less secure, and that can change for the better.
Re: (Score:2)
Oracle, Google, Apple, Yahoo, HP and all the rest have an army of lobbyists in Washington DC specifically to prevent anything of the kind ever happening until the heat death of the universe.
Nope. My kids will do something else. Farmer or teacher or architect or chef or just about anything else, with my blessing. Of course that means Oracle, Google, Apple, Yahoo, HP and all the rest will become dependent on an external labor pool, with all the political and socioeconomic issues so implied, and when the chees
Re: (Score:2)
Coders are paid sh*t and used like toilet paper.
Maybe where you live. Here in the Netherlands, that's simply not true. Good coders are appreciated, well-paid and treated as humans. But the latter part might not be related to the profession and more with a difference in work ethic between the US and Europe.
Teaching (Score:5, Insightful)
It has been my experience that walking a student through making something simple will widen their eyes considerably. This usually means something like an easy game where they can visually see the results of their work. Games that can be modified easily are even better, because they -will- play with the code and try to improve it for their own tastes.
On the other hand, teaching them to write a linked list is mind-numbingly boring for someone who can't imagine why they'd want such a thing.
Getting people interested in programmer is mostly about giving them the right exposure at the start.
This course sounds like it at least is headed the right direction.
Re: (Score:2)
Programming games for kids (Score:2)
Always looking for things to motivate my young aspiring computer-game-designer offspring. When I was their age (8) I wasn't really exposed to computers all that much, but did already have exposure to Logo [wikipedia.org]. Any good sites online that might provide some experience similar to that? The only one I know of is Lightbot [armorgames.com].
The wife and kids are heavily into Minecraft at the moment, and I'm hoping to get them into building more redstone circuits [minecraftwiki.net]. (unfortunately, minecrafwiki's realstone circuits seem to be down at
Re: (Score:2)
Pygame is nice and easy to use. If you want it to be a game not programming Little Big Planet is something you might want to look into.
Make It Fun (Score:2)
.
In other words, start off students with easy wins and clear syntax (like Ruby). Don't make them spend hours debugging pointer bugs (C/C++). There's plenty of time for that later. Firs
This is a BAD idea (Score:2)
Game programming. (Score:2)
When I learnt how to program I couldn't see any other use for it except to make games. And soon as I had the opportunity I went for it. Now of course I am a little more knowledgeable. I have a few friends who are working for some huge banks doing java code and earning buckets of monies, another few in web development and a few others scattered here and there but im pretty happy to be a Game programmer. Its not the best way to learn but it might be the best way to get one interested in programming.
On topic,
It's a carreer with high stress and long hours (Score:2)
It is my opinion that the dot com bubble bursting, offshoring, and the equation of salary vs hours worked + stress is why people do not pursue programming as a profession.
So it seems it is not that people can't code, it is that there is no motivation to do it as a career.
Hobbyist programmers, or those that do it 'on the side' to their regular career (I am assuming many that participate in open source or linux-based software) will be able to code, but that they will not be counted as a full-time coder.
Why Johnny (or *I*) can't code .... (Score:2)
When I was back in grade-school and high-school, I was interested in coding. (Heck, back then, you pretty much HAD to be, since that came as part of the deal when you bought a new computer. You learned BASIC and started keying in programs from listings published in books of "50 great computer programs for your Timex Sinclair 1000" or whatever you were using, and kind of went from there. The owners' manual packaged with whatever computer you bought included a complete programming reference for it. It was
Johnny (Ivan) can't code because of C(++) (Score:3)
Well, at least it's like that where I live.
See, ages ago, we had kids being taught LOGO and BASIC. That worked splendidly. Write some stuff, see a turtle draw, or make an infinite '10 print "hello": 20 goto 10' loop.
Then came along Pascal, usually in high school, although it wasn't unheard of to see it in the final levels of elementary school. It was a bit more of a nuisance, with all the begins and ends, and the semicolons too, but it was still somewhat manageable for the kids.
But then someone had a serious brainfart and decided that kids be "taught" C and even C++. Suddenly there were all these strange symbols ("teacher, why is 'and' called '&&' here and why and how is '&&' different than '&'?") and stdio.h includes and god damn pointers, which extremely few children managed to grasp because they had no idea how memory and processors work. No, they were supposed to learn what a keyboard is, then how to translate a number into binary/hexadecimal and back, and then they were immediately thrown into curly braces and pointer hell.
I have no idea what it's like in the USA, but over here it fucked up everything. If you make it hard for the kids and drown them in hardcore idiocy to the point of them being sickened by IT classes, then you can't expect that they learn how to code.
Me? I started with BASIC on the ZX Spectrum in the early eighties. Had the Speccy had something more difficult, I'd have been a librarian right now.
Develop a home market for IT & CS (Score:2)
How about just making it possible to not require a degree? Combine that with a required preference for US citizens - linked to the long-term and short term unemployment rates - and allow ourselves to redevelop our home market.
It might be painful for business, but getting obstacles out of the way for workers is as valid as removing obstacles for business.
Re: (Score:2)
Yeah. Good luck with that. Companies need people who aren't "blind" programming. The will always need good "computer scientists" who can look at a design and see the defects before any coding is done to save the company $$$ and time getting to market.
They'll also need people who can LOOK at the code from the kids and make sure that whet they're writing is actually, I don't know... FUNCTIONAL ?
Too many companies are short sighted in their hiring/retention practices and forget that people with experience ha
Re: (Score:2)
The will always need good "computer scientists" who can look at a design and see the defects before any coding is done to save the company $$$ and time getting to market.
No they don't. Have you seen the quality of commercial software these days? Especially "enterprise" software? It costs a fortune and is total crap. Yet the companies that make it make money hand over fist from their business customers. What do they need good computer scientists for? If they're making this much money from clueless cust
Re: (Score:3)
I object to having to pay support to report a vendor's bugs to them.
You might, but apparently there's plenty of genius MBAs running companies out there who don't mind paying giant maintenance fees for the privilege of reporting a vendor's bugs to them and hoping they get fixed.
Re:Programmer vs Computer Scientist (Score:5, Insightful)
The poster made a mistake because of a homophone. Before you assume that he doesn't know the difference, consider that it may just be an honest mistake. I know the difference, for example, between "no" and "know", but when typing quickly, I might accidentally type the wrong one, and if I'm not careful, I won't go back and fix it. It doesn't mean I'm an idiot who doesn't know basic English. It just means I'm being careless. And for the commentary section on a second-rate news aggregator site, I don't think that's a big deal.
Re: (Score:2)
Didn't you hear? Borders and B&N won't exist in 10 years once EBooks and E-Readers take over.
Re: (Score:3, Insightful)
I understand your feelings. At the same time it sounds like someone learning chord progressions on the guitar and wondering how it was applicable to playing Led Zeppelin songs.
Re:Motivation (Score:4, Insightful)
This.
A lot of people taking computer science in college and wondering why they're not learning how to do ASP.NET projects in Visual Studio belong in a Tech School. The world needs bottom level implementers just like it needs ditch diggers.
University level computer science is about Design, not Implementation.
Re: (Score:2)
The person doing the programming is not, and can probably never be doing the equivalent of "digging a ditch". Programming is probably the equivalent of drawing up the plans for a bridge. Sure someone else may tell the programmer the basic requirements, but that still leaves a lot of implementation details for the coder to figure out. You can come up with the best design in the world, but if you task a "ditch digger" level coder at the project, it will still end up a mess.
Re: (Score:2)
I agree. When I took CS in college, I was taught all sorts of things that I can understand why they might be useful, especially for actual computer scientists, but have had no application on my career. Like the processor design class I had to take. Knowing digital design makes a lot of sense, and it was certainly interesting, but I can't think of one time I have ever used it. Except maybe as a story told to co-workers about how I designed a pipelined processor in software and had to use assembly languag
Re: (Score:2)
But there are times when it all comes in useful.
I was certainly in that bracket when I was at university, not paying too much attention to all the abstract or 'deep' stuff. But as I've gone on through my career I've found it more and more useful to understand what's going on at deeper and deeper levels.
Re: (Score:2)
There's a balance to be struck.
On the one hand, there's the problem that you've had where the task doesn't seem to do anything useful. I think your teachers have failed you if you take an entire course, learn all the concepts, but still can't write an end-to-end program that would be half-way useful in the real world.
At the other end of the spectrum, if you want to teach a concept, you don't want your examples to be filled with so much code that is irrelevant to what you are trying to teach, that it gets i
Re: (Score:2)
You're the same kind of person that railed against the circular saw in the first place, I bet. Normal saws were plenty good enough and inventing new things was pointless, eh?
Tools change all the time for ALL professions and crafts. It just so happens that programming is new and as such hasn't been solidified yet.
Feel free not to use anything we make. It won't hurt our feelings.
Re: (Score:2)
Outstanding comment! Eloquent and right on point. Thanks!
Broken Analogy (Score:2)
I think you've taken the analogy and extended it improperly. What if woodworking were like programming?
We'd have a circular saw that never broke down, that was designed over 50 years ago, but that takes a journeyman carpenter a year to learn how to use (Lisp). We'd have another design that takes about the same ammount of time to learn, cuts through lumber 10 times as fast, but occassionally blows up and takes off the arms of novices (C). Then we'd have a whole bunch of slow saws imported from China that
Re:Its not the icky? (Score:5, Insightful)
just like normal people aren't clever enough to use Linux (hence it's low market share)
Uhm... try that one again.
Most people don't use Linux because:
- The support for it is limited to forums where you never get actual help, but instead a bunch of ass-hats who shout back "RTFM LAMZOR" and similar insults at you. If you write in to a bug report forum or a feature request to some bit of software, someone screaming "the beauty of it is its linux so you can fix it yourself so go fix it yourself and post the fix noob" is not comforting or likely to make you stick around.
- Most of the programs they are looking to run, don't run on Linux (games industry, sadly, used to be a lot better but has backslid over the years considerably).
- The "open source alternatives" to many of the programs they run, have problems with shifting crap around on them [eweek.com] for poorly documented reasons.
- You don't just "switch to linux." You have to pick one of a gazillion discordant distros, or else fuck around trying out every goddamn one for six months to settle on the one you like and HOPE that it remains updated and supported thereafter. And that they don't fuck with you in the next release, like Ubuntu just did forcing this crap "Unity" interface. And that the architecture for your particular distro isn't rewritten in some bizarre-ass fucking arcane way that causes your particular hardware to break on the "standard linux driver"... presuming one even exists.
I won't say that there aren't very intelligent people using Linux - there obviously are. But it has become very obvious to me over the past 15 years that the people programming Linux, the people designing interfaces for Linux, and the people evangelizing Linux, have absolutely no goddamn fucking clue what a normal desktop user wants, needs, or what will appeal to same. I refer you to this insightful post [wordpress.com] from someone who also has spent plenty of time with Linux as well.
I love linux, but I don't recommend it. (Score:2)
Anyway, ...back to your argument:
I love linux, but I never^H^H^H^H^Hrarely recommend it.
If you like Windows...USE it. Why would you go to Linux? I tell people Linux is harder to use, flat out.
And then people either shutup about it...or they ask me WHY I use it. Oh, then it gets interesting. I explain, that, for a programmer, Linux represents
Re: (Score:2)
This....
I'm not a technophobe. I've used computers since I was 12 (I'm 39 now). I prefer a command line over a GUI for a lot of activities. I can build a computer from the ground up. I can write complex programs in multiple languages.
And I don't use Linux because.....my apps all work in Windows (even the foss versions cater to Windows to gain an audience) and no one has yet to build a list of "this distro is best for you because of feature X" list.
You're so 1990s... (Score:3)
- The support for it is limited to forums where you never get actual help, but instead a bunch of ass-hats who shout back "RTFM LAMZOR" and similar insults at you
As opposed to forums about windows where you are always sure to get helpful professional advice?
If you write in to a bug report forum or a feature request to some bit of software, someone screaming "the beauty of it is its linux so you can fix it yourself so go fix it yourself and post the fix noob" is not comforting or likely to make you stick around.
Have you ever tried sending a bug report to Microsoft? I have and, believe me, I'd rather be called "noob" than get the response I did:
-"We are aware of that situation and it will be fixed in the next version"
-"Oh, great! And when will you send me the next version?
-"It will be available next spring for $"599.95"
- You don't just "switch to linux." You have to pick one of a gazillion discordant distros
Yeah, like Linux Starter, Linux Home, Linux Professional, or Linux Ultimate, right?
And that the architecture for your particular distro isn't rewritten in some bizarre-ass fucking arcane way that causes your particular hardware to break on the "standard linux driver"... presuming one even exists.
That reminds me of t
Re: (Score:3)
While I hate to jump to the defense of the masses, this is ridiculous. Normal people are certainly "clever enough" to use Linux. Lots of people on here, I'm sure, have wives or parents who use Linux; my wife does. It's no harder than using Windows, and in a lot of ways is quite a bit easier. Of course, as with the others with Linux-using relatives, I have to be the IT support person, but that's no different from Windows for most people: they outsource their IT support to either their kid, their nephew,
Re: (Score:3)
I have a part-time job working with kids between 6th grade and 8th grade, and I'm continually amazed at how clever and intelligent every single one of them can be...if you can find a way to motivate them to make the effort. I also used to work as a flight instructor, so I have first-hand experience teaching, too. I've had students that I was certain were either deliberately trying to kill me in the airplane or else were so uncoordinated that they would never be
Re: (Score:3)
Sorry, but there are coders and there are programmers.
You can teach a person to write code. It's not rocket science. Especially with today's RAD tools, intimate knowledge of anything isn't really a requirement anymore. And since pretty much every problem you might usually have in everyday programming has been solved already, copy/paste programming has become a staple of the industry.
That doesn't mean that these people really know what they're really doing.
I don't know if you ever had to take over legacy cod
Re: (Score:3)
Well, when I was a teacher, (and even now in my professional life), I used to ask everyone a simple question.
"What is the difference between a Programmer, a Software Engineer, and a Hacker?"
To which i give the answer:
"When presented with a square hole and a round peg and told to integrate: The programmer will say, it cannot be done. The Engineer will re-engineer the hole and/or the peg in order to fit properly, the Hacker does the same, but with a Hammer."
However, in any real project (especially agile) you
Re: (Score:2)
Pascal or Modula 2 is probably better since it does not learn you things you must unlearn later.
More results taken from the people who paid for it (Score:2)
Re: (Score:2)
>He opened it up, pulled out a copy of Turbo Pascal, handed it to me and said, "Here...you can write your own games with this." ...and I did. It was probably the most brilliant parenting move he made in his entire career. )
Excellent! Reminds me of the phrase, "Give someone a fish and you fed them for a day. Teach them to fish [ in your case your dad gave you a fishing pole ] and you have fed them for life."