Tuesday, November 06, 2012

On Industry Certifications For Students

This post all started as a comment on a guest post by Barbara Ericson on Mark Guzdial’s blog - The Need for an Industry-based Java Exam. In that post Barbara makes a case for an industry generated/supported Java exam that would provide a certification for high school CS students. Read the whole post for why this has become an issue if Georgia. I can see it becoming an issue in other states over time.
I’ve always had this mixed feeling about industry certifications for high school students. For any students really. I tend to like the idea of an industry certification confirming real world hands on experience over “book learning.” Not that I have any problem with book learning and in fact I hold it is high regard. This may just be a quirk in my thinking as I think of practical experience being the way to take theory into practice. I like to think of industry certifications as a step beyond academic results.
I realize though that this is probably a minority opinion. Schools at all levels want to see a way to certify that their students are in fact really ready for industry jobs. An industry certification is one way that can happen. So these exams continue to grow in popularity. For the most part I see them used in career/technical high schools (of which I am a HUGE fan) and in community colleges that run programs to help students get better jobs and make careers rather than prepare them for graduate school. Industry certifications do serve a real and valuable role for these schools.
Why do companies develop certification programs? That is a question educators should understand before they jump too deeply into them. Most industry certifications are based around company specific technologies not broader concepts. The goal of most company developed exams is to push encourage test takers to learn those technologies. Industry certifications are as much a marketing tool as anything else. That is the incentive companies have to develop them.
The Microsoft Technology Associate (MTA) exams are the ones I am most familiar with and they are tightly connected to specific Microsoft technologies and tools. Is that bad? Not really but one needs to know that going into them. They are good exams and there are some good curricular materials to go with them. But they are not general purpose “yes you know this programming language” types of exams.
What schools need (or perhaps should want) is a concepts based exam that, even if language focused avoids, specific technologies ancillary to the language that teachers are not prepared to teach. What is the company self-interest in creating such an exam? Arguably Oracle might want a Java exam like that. Microsoft might like a C# or Visual Basic exam like that. But creating and managing such exams can cost a lot of money and the payback is not obvious.
I love the idea of the industry groups (IEEE Computer society and/or ACM) developing an exam or even a set of exams. They have the people who could do it but the question is do they have the other resources (spelled money) to do so? What is there incentive to do so? It’s pretty easy to say “well there is the APCS exam so what more is needed?” That is the easy way out. The CollegeBoard is a non=profit and is in the business of exams. Their goal is to prepare (or certify as prepared) students for university not for industry. Their goals are not the same as an industry standard certification exam would be.
It’s a tricky problem and I don’t see specific companies or the Collegeboard jumping in to fix it. Perhaps the Computing in the Core team with funding and support from it’s sponsors, which include IEEE-CS and ACM as well as Microsoft and Google among others) is the body to work on this? I would think that they could find the people (a mix of educators and industry professionals perhaps) to create such an exam or set of exams. Expensive? Likely. Worth it? What do you think?


Garth said...

Several years ago I looked at offering the Cisco certification classes at my high school. The idea was very appealing because the local technology college was willing to loan me all the hardware for the course. I took the first semester at said tech college to make sure it was the direction I wanted to go. The first semester was very general and was pretty much what I wanted. I started the second semester and that was totally Cisco, not what I wanted. The first was not worth the second and they came as a package. Considering the number of students I would have gotten in the courses the cost/benefit was very low. I would love to offer industry certification courses but they have to have enough general material to apply to more than just the single manufacturer. Too narrow a focus sort of cheats the students for the future.

Unknown said...

If you think in terms of a small high school, like mine, where you have important decisions to make over what it is your curriculum will be, it is important that you teach a set of skills that will give your students the best chance of success possible. I see JavaScript as an essential skill that is being used on client and server levels (Node.js) all over the world. Why should we punish students by forcing them to study technologies that are quite frankly endangered by recent events. Microsoft has been losing market share at an alarming rate in recent months as it's product line begins to become stale, and Java has been under the gun as exploiters make programs on the Oracle platform, increasingly vulnerable to attack. Shouldn't we get back to the basics of programming and become agnostic in our approach? The AP test is not the right approach for many students. There are many right approaches. If Oracle,Microsoft and Google were to make a common exam, we would indeed see a benchmark that we could point our students to. Is that just a dream, or is it indeed, very possible? I think that we could work along those lines. The language really doesn't matter.

Alfred Thompson said...

Google and Microsoft are both helping with the piloting of the new AP CS Principles course. That course is language independent which I think is a good thing. But it's not for everyone either. Today there are so many things going on that computer science teachers do have some tough choices to make. It's hard to second guess people making decisions based on local populations and needs.