This is one of the perennial arguments in CS, whether to require it or not. Mark Guzdial tackled this issue recently, and it got me to thinking about it again. I see some of his points, but I also find them kind of pessimistic. An argument for not requiring it that he makes is that we don’t have enough CS teachers and so we’re in danger of having many CS courses that are about keyboarding or the size of flash drives or some such mundane computer-related topics. Ok, I’ll grant that might happen, but I would suggest that it is already. Most of the computer classes out there, some listed under Computer Science, are training in Microsoft Word. CAD would actually be a huge upgrade from that. But this can be remedied with standardization and guidelines. This can come from states, local districts and colleges.
Ashley Gavin made the argument that requiring CS would encourage more women and minorities to take CS. That, I agree with. Mark argues that just making the course available as an elective is enough. He doesn’t know girls. While many girls will, in fact, get over the peer pressure and take a CS class even if they’re the only girl in the class, many will not, and we’re missing an opportunity to reach those students when we offer it as elective instead.
But I get that required courses can be drudgery to some students. Electives have a certain caché about them that plain old Math and English just don’t.
A few things that bug me specifically about teaching CS as an Elective:
- It gets lumped in with art, drama, music, and other “fun” electives that aren’t necessarily easy for everyone, but they are quite a different animal from a CS course.
- Students who might take CS and are headed down a path to STEM careers are torn between a CS course and another math or science course. Is CS math? or science?
- Not all colleges count CS as math or science, making the above problem a real sticking point.
I don’t think you can argue that CS is part of everything, every career, and NOT teach it in at least high school. I’ve seen Ashley suggest that students who arrive at college without any CS experience feel at sea in intro courses and those students are more likely to be be women and minorities. Students who feel lost in the intro are less likely to continue. And while I know plenty of universities and colleges working to make intro less intimidating for novices, wouldn’t it be nice to have fewer novices? Like in most math classes? Or science classes? I like that it’s required up through 8th grade in our school, which I think increases the number of students who want to take the class in high school. I have the highest numbers I’ve had since I began the program 4 years ago. 24 students are enrolled in intro next year. But that’s only about 1/3 of the class and only about 10% of the whole school (and I’m at a small school). To meet future needs in CS, it seems like we need to increase the pipeline sooner.
So, while I understand all the pitfalls and challenges of making CS required and my own school even is not ready to do that at the high school level in the near future, I still think requiring CS is a good idea. We just need to recognize the obstacles and challenges and work to overcome them.