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: 5, Informative) by Thexalon on Wednesday January 10 2018, @09:46PM
Computer science is, strictly speaking, a branch of applied mathematics, and uses the techniques and standards of mathematics. That said, computer science also can be tested out via experiment. This leads to Donald Knuth's classic line: "Beware of bugs in the above code; I have only proved it correct, not tried it."
Computer programming is to computer science as construction is to the study of engineering.
The only thing that stops a bad guy with a compiler is a good guy with a compiler.