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: 4, Interesting) by TheRaven on Thursday January 11 2018, @09:27AM
In systems research, at least, it tries hard to. You observe a problem (network has low throughput, distributed system fails due to this cause, whatever) and hypothesise the root cause. Then you construct an experiment that addresses what you hypothesise the root cause to be and measure whether that affects the issue.
The big problem is not that we don't follow the scientific method, it's that a lot of people conducting this kind of research lack even a basic understanding of statistics. You can win the best paper award at CGO, for example, with no error bars on your graphs. The better papers have error bars but use a completely inappropriate method to calculate them (e.g. standard deviation without looking at distribution at all, or Student's T-Test when they know that it's not a normal distribution).
Even when they get the statistics right, they don't look at other sources of error. For example, you can have a widely cited paper describing a 5% speedup from the compiler, except the variation from random changes to linking are around ±20%, so your entire measurement is in the noise and you've presented no evidence that your change does anything other than perturb code layout. This is starting to change, but slowly.
sudo mod me up