Skip to main content

Weird At My School

Posted by editor on April 7, 2008 at 5:23 AM PDT

What's happening to computer science in education?

In this week's first WTF moment, I looked at Slashdot last night (yeah, I know...) and was greeted with the headline College Board Kills AP Computer Science AB. For the benefit of non-US readers, Advanced Placement (AP) is a program of advanced classes in high schools, in which students who pass a rigorous standardized test can receive college credit for their coursework. Anyways, according to the Washington Post article cited by Slashdot, an AP spokesman said that the more advanced "AB" was among the four least-popular topics, along with Italian, Latin literature, and French literature.

B-trees are as unpopular as Camus? That's news.

Cay Horstmann, who works on the AP Computer Science courses' Development Committee, shares some insights in his blog Is Computer Science the New Latin? He shows a graph of the rapidly dropping enrollment in college CS programs -- particularly women, for whom CS is the choice of less than 0.5% of freshmen, the lowest rate on the 35-year chart -- and asks:

Why don't students major in CS? Nobody knows for sure. The Dilbert image of working long hours in cubicles, only to have your job outsourced, surely doesn't help. We do know that most students have made up their mind by the time they reach college, so the way to their hearts and minds is in secondary school.

There's probably a counter-argument that there are plenty of effective programmers who don't come from an academic CS background, which is a big bag of glass shards that we really shouldn't open up on a Monday. At least for the moment, let's assume that genuine CS really is worth saving. So what do we do? Cay recommends duty now for the future:

you can see, CS in American high schools is in bad shape. That is a problem
for all of us in the computing industry. What can you do? If you have kids in
school, make your voice heard with the school board. Volunteer in the CS
club. (They don't have one? Start one. I fondly remember my high school days
in the physics and technology club, the
refuge of the nerds. We were a proud group of nerds, and many of us ended up
with a Ph.D.) Get your company to send speakers, volunteers, and equipment.
Get kids into your company so they (hopefully) see that it's not Dilbert
land. And remember, what got you into CS may not be what excites them, so be
on the lookout for new approaches such as href="">this or href="">this or href="">this.

Also in today's Weblogs,
James Gosling crows about
Hotspot performance.
"I've had several run-ins in recent months with crusty C (and a few Fortran) programmers who say "you must be faking your benchmarks!". Nope. The HotSpot crew has done a truly great piece of work."

Evan Summers continues his series on re-imagining Java in
First Class Java: Thoughts on a dot notation, wondering
"what notation for first-class references to methods, fields, properties and what-not?"

In Java Today,

Joe Darcy's blog has a catch-up announcement that the source for OpenJDK 6 b07 and b08 were released in late March. "The most notable fixes in b07 were resolving the last remaining JCK signature test failure (6636951), making window decorations appear (6586752), updating to the 1.1 version of the OpenJDK trademark notification, and enabling the out-of-the-box build to succeed without any binary plugs being present
(6672710). If the plugs aren't used, neither the midi synthesizer nor SNMP will work at runtime."

In a new video from, Sun Microsystems evangelist David Coldrick interviews Sun JavaFX developer Josh Marinacci during the Sun Tech Days in Sydney, Australia. They discuss JavaFX and the state of desktop Java, how improvements to client-side Java (like Java SE 6 update 10) will help JavaFX, his day-to-day work on JavaFX, the prospects of Java RIA versus Ajax, the JavaFX designer tool he's working on, and more. Josh has more details of his Sun Tech Days Australia presentations in his blog.

The latest JavaTools Community Newsletter, issue 164 is out, with tool-related news from around the web, a reminder to check out the Community Corner pod schedule, news from projects, and a Tool Tip on presenting your project at JavaOne.

In this week's Spotlight,
entries are now being accepted for the RoboSim Programming Contest. The contest "is designed to test an entrant's coding skills in Java using the Greenfoot Framework/IDE to direct a simulation of a Sun SPOT equipped TrackBot through a simulated maze. The winners will receive free passes to the JavaOne 2008 Pavilion." To participate, read the rules (PDF or HTML), and follow the instructions in the trackbots-greenfoot-contest-2008 project. The deadline for entries is April 14th.

In today's Forums,
kbr continues last week's discussion of Java icons in the Windows Sstem Tray and other user experience issues, in
Re: Plugin2, animated gif based branding (white background flashes).
"Please feel free to file an RFE about the kill option in the system tray. Another developer also raised this at a presentation on the new plug-in a few weeks ago. One question is how to identify the JVMs. Keep in mind that the JVMs launched on behalf of the new Java Plug-In run multiple applets and the existing tools like jps don't have a good way of enumerating them. I think the most we would be likely to do would be to add a "kill this JVM" menu option and some way of listing the applets it is hosting so you can decide whether you really want to do that."

In a similar vein,
pete1 has some suggestions regarding the
User experience installing 6u10.
"I have got a request, though. Installing Java is now much faster, but would it be possible to make the process simpler as well? Suppose you are using Windows, and you uninstall the Flash player through the control panel. If you now start IE and visit a site that uses Flash, all you see is a box inviting you to install the Flash ActiveX control. If you accept the installation, Flash is installed without the need for the user to answer any more questions. It would be perfect if the Java installation could be this simple. I think it's easy for us to forget, as programmers, how confused normal users get when they use their computer. Every screen they see in the installation wizard is a chance for them to give up. If they are asked a question which they don't understand, they may give up because they are afraid their computer will go wrong if they answer incorrectly."

Finally, Markus Karg asks about strategies for
Web Service Events.
"I am using JMS quite heavily in my application to be able to push events asynchronously from server to clients. This prevents a lot of polling. Now with the advent of WS-* support in GlassFish, I was wondering whether there is a WS-* based replacement for JMS. My idea is to just write some kind of annotation like "@WebServiceEventListener" to mark a client as beeing interested in getting asynchronous events. In the end, even a MDB could become WebService-triggered instead of JMS-triggered. Is something like that existing in GlassFish, or at least planned for the future?"

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

What's happening to computer science in education?


What you're saying is true, but has been the case for all time.

When I was a student of physics some 15 years ago IT related courses were taught not by IT people but physicists and mathematicians, our regular teachers who also taught those subjects.

In highschool, IT related subjects (very little, the school only had 2 computers and only one was available for use by the 500+ students) were taught (optional, you had to be invited in based on grades in things like math and economics) by the math and economics teachers. That was 20 years ago.

And it's also of all professions. Typically (not universally) the people who end up as teachers are those who fail to put their skills to effective use in industry. They can't find a job doing what they were trained for, so they become teachers. As a result teachers in general are the bottom of the pile in professional skills, as well as having little interest in keeping those skills up to date with industry (or scientific) development.

Of course the higher up in the educational process you get the less of a problem especially the latter factor is, as you get nearer the place where that scientific development actually takes place, but the disconnect with what's happening in industry is generally still there among those doing the teaching rather than the research (and to a degree among them as well).

Re education: I was just going to blog about this today. I teach Computer Science to middle school kids (ages 10-14). 6th graders get some basic education in how computers work (and a crash course in touch typing), 7th graders write some html and javascript from scratch, and 8th graders get an intro to Java.

Since I can explain to them the difference in how I spend my time as an engineer at Sun, and give them the ratio of my earnings per hour (5 to 1) between my high tech job and my teaching job, I spend a lot of time fighting both the Dilbert idea and the idea that all the tech jobs are going overseas.

I think the real problem nationwide is that "computer science" courses at most schools are taught by teachers with no computer science education. What happens is that a school gets a budget or a donation for computers, and they ask a teacher who has a gap in their schedule to teach "computers" . Teachers who have to make it up as they go along teach what they know - so we've ended up with kids learning the ins and outs of Microsoft Office instead of anything remotely related to CS. (Note, I'm not talking about the AP course, just the general computer related elective most schools offer.)

This has two significant outcomes - kids who are really proficient at the MS Office stuff are under the impression that they have a head start on CS courses in college and are incredibly disappointed and terrified when they get there and learn the difference, or they think that CS must really be boring as hell, because what they've been taught certainly is.

The Dilbert effect is there, and no doubt a big factor. But far more than the long hours in small cubicles there are 2 other (related!) reasons:

1) image. The Dilbert image of the computer guy as a social outcast with no friends (even his dog hates him!) plays a major role among a college population that's ever more (if that were possible) influenced by outward appearances, instant status, all the things you get from a high-life job as a sports star.

2) Failing that there's money. IT jobs pay poorly compared to other jobs for which you study for a degree (whether Ba, PhD, or Ma.). And with the job insecurity due to offshoring and regular mass layoffs as soon as the economy says "booh" even the prospect to make a lot of money IF you come up with a great idea (which gets ever harder with companies patenting everything under the sun using extremely broad claims and venture capitalists still shivering in fear whenever an IT guy comes within a mile of their office after the .com crunch) isn't a nice incentive any longer to take the low starting salary and give it a go.

So the kids go for nice, secure, and well paying careers in law or medicine, or end up trying (and failing) for professional sports or media careers which have the glamour they seek as well as the money (of course only for the few who really make it which the vast majority never will).

And those who do try often give up in disgust when seeing the flood of questions demanding homework done posted by Indian (mostly) schoolkids in forums, kids that in a few years will get H1b visa on false claims and replace them in the few companies that may still hire juniors right now.

... or this or this

well, Now this is happening to east africa, adding from the rest of the posters. Does an IT teacher read a book of 1000+ page line after line! Imagine what will happen to the student. :-( Very sad, really sad, student going out of the college doesn't know even how to insert a flush, serious this is the case i encountered there. I was amazed. Well very bad. If you tell anybody you know java, ho ho ho, you are a king. Well this is the world we are leaving in.

encountered at at a university in Europe. Professor of mathematics dictated from his own work, word for word (including the deductions and examples). One difference: this man didn't read from the book, he recited it from memory.