As covered in Part #1, two weeks ago was the New York City Department of Education’s CSEdWeek, which is an extension of their CS4All initiative that they claim “will ensure all NYC public school students learn computer science” and help students develop “computational thinking, problem-solving, creativity, and critical-thinking skills.“
There are a few issues with this, however. Firstly, there is no subject anybody can teach that will make any student better at anything simply by having been taught. It all depends on what is taught, how, and how much the student actually learns. Requiring a computer science class in the hopes that it will make students better at math, or more employable, or better at lacrosse, will not work any better than providing students with training in those areas.
Of course, teaching a student computer science in a way that lets them understand logic and algorithms might help them with algebra, and learning more algebra might help them with computer science. But, just as I doubt that requiring music classes to improve mathematical performance would be a cost-effective way to improve students’ performance in math – although music classes can do so – teaching computer science would not be an efficient way to improve student performance either. Students will not benefit from a Computer Science course any more than they would from any other class.
Declaring that everyone should read the constitution wouldn’t suddenly make people understand their government any better, if they don’t actually try to understand it. (I am often surprised by the amount of information people manage to miss entirely in various assigned readings.) Similarly, stating that everyone should try CS won’t suddenly make people understand computers.
The DOE says, “These skills will be key to student success in higher education, the 21st-century job market, and beyond,” and “Not only is computer science required for most modern careers and fields of study, it is also fun!” It is fun, but not necessarily the way they teach it. I found computer programming to be fun because I was allowed to explore it on my own. When my entire grade was being taught Scratch in 4th grade, I was very unhappy and bored until the teacher let me disregard the entire class and program independently. My classmates didn’t appreciate the class very much either, and I can assure you that they did not become better students by virtue of having been forced to use Scratch.
Introducing a new class, with a vague topic and no agreed upon standards, is a way the DOE hopes to convince people they are doing their duty while simultaneously making no substantial effort, just like every student who, hunched diligently over their desk, is, in fact, playing Flappy Bird on their phone.
Computer science will have very few applications for most people later in life. One of the only ways in which I think CS education is useful in the context of everyday life is in understanding how information is kept safe. All encryption on the internet relies on the fact that factoring the product of two large prime numbers is impractical. Because I understand that the computational complexity of factoring large numbers makes doing so nearly impossible, I feel more secure and safer when I use the internet. This, however, is hardly a requisite for my doing anything online, including programming.
Computer science is something that is a nice-to-know, not a need-to-know. There are so many more need-to-know subjects on which the DOE is failing to educate students that the fact that they are trying to put computer science in that category is a cheap attempt at misdirection and an affront to our intelligence as observers.
The DOE defends their CS4All initiative by saying, “Computer science is also where many jobs are. Over 50% of all STEM (science, technology, engineering, and math) jobs deal with computing.” This gives the false impression that one needs to understand CS in order to do jobs that are only tangentially related to computing. If your job requires programming, you should definitely study computer programming, and probably computer science. If your job requires that somebody make programs in coordination with or for you, then you do not need to understand CS, that other person does. If you think you know anything about computer science while trying to communicate with an expert, it will be frustrating for the both of you.
According to the DOE, “Students with computer science degrees are some of the highest-paid college graduates.”
You know what else is a very useful skill for jobs and graduating college? Reading comprehension and basic mathematics skills.
When over 80% of black students are not performing at grade level in mathematics, the problem isn’t a lack of computer science. The problem is that the DOE cares more about unnecessary, flashy, and tasteless initiatives than actually giving students what they need to succeed.
I don’t think that students or adults should not study computer science. If anybody wants to, nobody should stand in their way. I simply believe the DOE’s CS4All is an extremely inefficient and misleading initiative that will ultimately provide little benefit to the students. It simply distracts from the real problems that prevent students from developing “computational thinking, problem-solving, creativity, and critical-thinking skills.”