Steve Furber On Why Kids Are Turned Off To Computing Classes
nk497 writes "UK computing legend Steve Furber — co-founder of Acorn and ARM designer — believes students are avoiding computing classes because they teach nothing but the boring basics. Currently studying why the number of students signing up for computing has halved in the past eight years, Furber said schools focus too much on teaching kids how to use spreadsheets, word processors and PowerPoint, rather than teaching more challenging areas such as programming. 'What schools are presenting as ICT as an academic subject is very mundane compared with what students know they can do,' he said. 'It's as if maths was just arithmetic or English was taught as just spelling. It's not unimportant that you can do arithmetic or you can spell, but it certainly doesn't open up the whole world of interest and challenge, if that's all you do.'"
Sometimes classes are outright outdated. I had a course around 1999 which was supposedly about computer programming. We spent the first few weeks with only lectures and an incredibly outdated textbook. The teacher (an otherwise okay math teacher) was clearly well behind the times. He lectured about microcomputers, minicomputers and had no idea that most servers by then were basically souped up versions of typical desktop computers.
The language was Pascal, which I suppose is a decent learning language, but we barely scratched the surface of programming ability. For a high-school level class, it was tediously outdated and slow. I truly hope that by now the instruction has moved along and kids are doing more interesting things. There were other interesting courses offered in things like graphic design, web design, etc. but the core programming class had neither much CS theory nor interesting applications. Worst, if you didn't know any better the content in the course would actually mislead you about the state of computing.
All subjects have the "boring basics". The key is the instructor; a good instructor can make the basics of a field really interesting. Unfortunately, being a good programming instructor is hard, and at the K-12 level it is really hard.
"The universe seems neither benign nor hostile, merely indifferent." --Carl Sagan
I had pre-CompSci in 7th and 8th grade, taught by an old mainframer.
He gave us challenging computer science problems. We turned them out on C64s.
When the work was done, out came the joysticks..
Thanks, Barry!
Personally, I'm trying to figure out why the College Board decided to ditch AP Computer Science AB. It covered more advanced CS topics (by high school standards, anyway,) that, ideally, should have served as such screening.
I was fortunate enough to attend the best-funded public school in my state and graduate from it several months ago (though one can easily argue much of the funding simply went to and from the football program, that's a topic for another post) and was also fortunate to get to experience AP-AB CS the last year it was offered. Whereas AP-A CS focused on the basics of Java (perhaps a controversial choice of language, but certainly not the topic of choice here; it worked for me and for those of my classmates interested in learning the basics of programming,) I found that AP-AB introduced more advanced concepts - algorithm efficiency analysis via Big-O notation, the exploration of various data structures, etc.
I feel the class left me unprepared in terms of what it set out to accomplish, but not because of its curriculum - I feel that the blame lies, quite frankly, in the incompetence of the teacher (for future reference, until the AP-AB course was discontinued in 2009, our school offered AP-A and AP-AB CS as consequent courses taught by the same teacher.)
While I am by no means myself an excellent programmer by any stretch of the imagination, perhaps due to some predisposition for the topic matter, I had an easier time understanding the material than many of my classmates. I believe that one factor contributing to this was an immediate dislike of my teacher, which led me to largely ignore the lectures and simply read the corresponding material in our book (if I recall correctly, it was Fundamentals of Java by Lambert and Osborne). I noticed many of my (otherwise very bright) classmates struggling with what seemed to me basic concepts and they began turning to some of my other classmates, who were either already familiar with programming or simply had a knack for picking it up quickly, and myself for help.
The teacher did not only fail to encourage having the kids actually learn something, she actively began to *stop* them from asking for help - both from each other AND from her!
This sort of attitude, combined with a very, erm...'interesting' grading scale (you could easily pass the class if your code was formatted exactly as she specified in terms of white space but didn't work at all the entire year) and, judging by the few lectures I did listen to and the complaints of my classmates, a grip on Java that was tenuous at best, guaranteed that a large number of my classmates who were bright in other subjects and sought to learn basic programming skills turned away from the area for good. (About the one thing fully everyone got from that class was that the teacher was, by all accounts, full of hot air.)
I think the problem lies in that, to weed out unsatisfactory teachers in programming, you'd need to have someone who actually understands the topic at hand involved at the screening, which, given the school I came from, seems unlikely.
TL;DR (because not everyone enjoys a long-winded and rambling essay): I just graduated from high school and took the CS courses available; both the basic and more advanced courses were held back less by their content than by the several levels of incompetence of the teacher (and it's a total shame.)
In my high school we had the typing and excel and spreadsheets class too. The one teacher involved in 'technology' education who I suspect had even an inkling of knowing how to code taught the fast-paced and uber-1337 *wait for it* HTML course. Good "alt-tabbing" skills were a requirement to pass. Exact quote.
Then there was my freshman geometry teacher, God bless her, who on the first day of class told us all to get TI-83's, and on the second day started handing out code listings and had a standing policy of 'if you wrote the code on your calculator yourself, you can use it on the test'.