Mark Guzdial at ACM (Association of Computing Machinery) writes:
I have three reasons for thinking that learning CS is different than learning other STEM disciplines.
- Our infrastructure for teaching CS is younger, smaller, and weaker;
- We don't realize how hard learning to program is;
- CS is so valuable that it changes the affective components of learning.
The author makes compelling arguments to support the claims, ending with:
We are increasingly finding that the emotional component of learning computing (e.g., motivation, feeling of belonging, self-efficacy) is among the most critical variables. When you put more and more students in a high-pressure, competitive setting, and some of whom feel "like" the teacher and some don't, you get emotional complexity that is unlike any other STEM discipline. Not mathematics, any of the sciences, or any of the engineering disciplines are facing growing numbers of majors and non-majors at the same time. That makes learning CS different and harder.
(Score: 1, Interesting) by Anonymous Coward on Thursday January 11 2018, @01:36AM
This is a tangent of computer programming and engineering ("I want to make a program where you can click a button and an image of a smiling cat appears") rather than computer science ("is P = NP?" and "Is there any way to sort a list of N objects in faster than N(log N) time?").
However, taking the bait...
Compare...
Civil Engineer: "If this bridge cannot carry 20 tons of weight, then it will potentially break when if 5 trucks cross over it."
Software Engineering: "If the homepage of Google loads 0.1 second slower, then... uhh... what?"
Agreed that all engineering has trade spaces. I'd suggest that Computer Programming has fewer hard requirements and thus a much more sophisticated and harder trade-off discussions than most fields of Engineering.
It also hurts that software is so much more abstract, so harder to relate to for untrained people. Everybody can relate to "put fire onto chemical and it blows up." They'll get details wrong, but they intuitively grasp it, the advantages and risks of this effect. Few people without special training can think of "this abstract mathematical construct causes this other abstract mathematical construct to transform, which causes this secondary effect and this tertiary effect." It's part of why mandatory XKCD [xkcd.com].