For the better part of two decades, I taught Computer Science courses at local universities. As part of my doctoral thesis, I unearthed every piece of research I could find that looked into predicting success in a computer programming course. The dropout rate for computer science majors is really horrible – estimates indicate that only 15% of the freshmen who start out to be computer science majors actually graduate as computer science majors. Ouch! A lot of that results from the roughly 40% of students who quit the major before the end of their first computer programming course. It would seem to save everybody a lot of wear and tear if we could identify which students would successfully complete a computer programming course.
I found only one reliable predictor of success in a programming course. It wasn’t Math SAT scores, or GPA, or expected major, or sex (males and females succeed at about the same level), or anything you might expect.
The only predictor of success in a programming course appears to be a success in a previous programming course. That’s it. People who are good at programming will be good at programming. Not much help, but I can attest to the difficulty of identifying students who will be good at computer science. Some of my best students have been art majors, English majors, and music majors. Granted, others have been the math geeks that we would expect to do well, but a lot of math students and engineering students seemed to find computer programming a difficult hurdle.
Which leads me to one of my pet peeves with Computer Science Department requirements: far too many of them seem to require one or two semesters of calculus. Not even the applied calculus that some future non-mathematicians might find useful, but full-bore theoretical math. What a waste of their time! While calculus might be a way to find students with a solid affinity for mathematics, it is not related to computer programming in any way, shape, or form. Understanding binary arithmetic and discrete math, sure, those are important to understanding how computers work and help programmers write efficient code, but understanding how deltas and epsilons help us identify continuity is, quite frankly, a waste of time for almost all computer programmers. And requiring the ability to deal with calculus to complete a Computer Science degree means you will drive away the art and English and music majors who might be very good at computer programming.
I sometimes see people arguing that people should all learn basic calculus. I feel time in school could be better spent teaching them how compound interest and mortgages work. I spent over 30 years working as an actuary, one of the few fields where applied mathematics is actually useful. There are perhaps as few as 5,000 actuaries in the country; most of them work calculating premium and claim rates for insurance companies, and those who specialize in health insurance are rare creatures. While calculus may have been instrumental in deriving some of the formulas actuaries use, in all my years as an actuary I only used calculus once. Another actuary questioned where a formula came from, and I simply pulled out a sheet of paper and jotted down the steps that calculus required to derive the formula. He just sat there, either stunned at my brilliance (probably not!) or simply trying to recover from a flashback to college math. Even though he worked with that formula frequently, it never mattered to him that calculus was at the root of the formula.
Do you know how to build an internal combustion engine? Of course not, but you can still push on the petals in your car and get it to go. Learning and knowing calculus to be a computer programmer is like learning how to build an engine to burn gasoline to move a car forward before you’re allowed to drive. It isn’t necessary.
Stop requiring calculus! You may be driving away people who are potentially your best programmers.
This year saw the death of Walter Becker, one of the two primary members of Steely Dan. The group’s members changed radically over time, but he and Donald Fagen were always there. The group was nominated for 12 Grammy awards and won three of them. They currently reside in the Rock and Roll Hall of Fame as a result of their unique jazz-rock fusion creations. Here they are insisting they’re never going back to their old school, possibly due to bad memories of math class.