CS4Some

Incredibly relevant to this conversation is the previous discussion we had about what field computer science should fall into. Is it engineering, science, or art? Or something else? In my post on that topic, I describe how what most people think of as computer science can be categorized as engineering, science, or art, and it depends on what exactly you’re doing. The relevance to this topic is that each classification should be treated differently when it comes to primary/secondary education.

Software development has many similarities to art. Much like artists, developers work to hone a set of skills applicable to the type of work they want to produce. JavaScript or oil painting, Objective-C or pastels, C++ or sculpture, each category requires some practice and knowledge that can largely be developed by doing. As the developer creates a product, he iterates many times through different designs and tactics, testing on an audience along the way. Painters begin with a sketch (like a UML diagram?), then apply layers and layers of paint to the canvas, sometimes painting over old features to give way to new ones. Based on this comparison, I don’t believe software development should be required of all students, but I do think it should be offered, just like art courses.

Software engineering is, as its name indicates, a field of engineering. I think it can be lumped appropriately in with other types of engineering, especially in the sense that you do not really start taking classes for it until college. Math, chemistry, and physics courses in high school do prepare engineers for the college work to an extent, but at least at Notre Dame, engineers are required to take all of those classes at the college level (could be via AP), so there’s no real need to mandate them during high school. Again, I’d advocate the CS4All Schools approach, as opposed to CS4All Students.

Finally, we get to computer science – the real science-y stuff of proofs and hypotheses. In my experience, this is the most difficult section of the field to grasp. It certainly necessitates a higher level of thinking than software development or learning how to write a microcontroller in C as an engineer. So initially, I’d be inclined to say it shouldn’t be required of high school students, but most high schools do require chemistry and physics, which definitely get pretty science-y. It is difficult to argue that chemistry and physics are universally applicable, regardless of occupation. I can understand an argument for biology, but the vast majority of people won’t need to know about alpha and beta particles in radiation equations (I don’t even remember if those are the right terms).

In sum, and more directly addressing the questions from the assignment, coding is not the new literacy. It need not be required of all students. It should, however, be offered in its variety of forms to give young students the exposure to one of our society’s biggest fields of development.

A big concern of both anti- and pro-CS4All advocates is getting qualified teachers. I don’t find the argument that no one would want to teach high school CS because they can always make more money in the industry very convincing. With the volume of college graduates emerging with CS degrees, there are definitely some who are more interested in interfacing with people than just a screen. And there are plenty of people who aren’t motivated solely by money. The argument that adequately training CS teachers will be difficult is more important. I imagine there’s not much research about how students learn best in CS, certainly less than in other fields.

Addressing the last question, the camel paper seemed pretty convincing that some people just aren’t cut out for programming, but I really don’t have anything else to base an opinion off of. Regarding the second part, however, there is no need for everyone to learn to code. I thought Jason Bradbury made a nice point about how in X amount of years, human coding will be obsolete. It could be sooner than one might think based on the rapid development of AI…

Standard

Leave a comment