Stories
Slash Boxes
Comments

SoylentNews is people

posted by Fnord666 on Wednesday January 10 2018, @09:10PM   Printer-friendly
from the does-it-count-as-a-foreign-language dept.

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.

  1. Our infrastructure for teaching CS is younger, smaller, and weaker;
  2. We don't realize how hard learning to program is;
  3. 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.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by Wootery on Friday January 12 2018, @01:50PM

    by Wootery (2341) on Friday January 12 2018, @01:50PM (#621363)

    Does the thought of trying to link together functions written in different languages make you cringe and whimper? It shouldn't be like that, but it still is.

    What about the way functions work in fundamentally different ways in different languages?

    For instance, in Java, int is defined to be a 32 bit integer. In C, it can be just about anything, as the language is intended to morph to fit the target architecture. You could insist on using int32_t instead, but it's not the ordinary C way of doing things. There are related issues such as that int64_t isn't guaranteed to exist.

    What about different object models? What about garbage collection? Availability of unsigned primitive types? Lazy vs strict evaluation? Dynamic types vs static types vs untyped? Existence of null? Some languages don't even have explicit parameters in the first place (Forth).

    Writing a good binding isn't always trivial busywork; resolving a genuine impedance mismatch is going to take real work. Where there is little impedance mismatch, binding-generator tools have been around for years (SWIG).

    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2