Congratulations, you've completely missed the point. We should teach CS majors calculus not so they can write numeric-integration code (which they'd be better off getting from Numerical Recipes instead), but so they learn how to analyze and solve problems in the context of formal rule sets. Programming fits that description.

I've taught undergraduate programming labs for the past three years: very concrete, applied stuff (the course is an introduction to software engineering; we teach them how to write programs, not how to write code that compiles). The classes are very eclectic: many CS majors (some interested in theory, some in practice), many engineers, and a strong minority of other Science, Arts and Business majors. The students who've taken courses involving more abstract formal reasoning (Math, Philosophy, Physics, etc) are consistently better able to understand the concepts and do much better on the coursework than the ones who focus on nuts and bolts. The best student I've had in that course was an English major with a minor in Philosophy.

Then what are they doing at a university?

You can't teach someone how to debug or optimize code. (Glub knows I've tried.) The best you can do is teach them how to think logically and abstractly about the code, which involves teaching them how to think logically and abstractly.

Math tends to be better at that than software engineering.

(CS theory/algorithmics is also good, but that's just another math course, really.)

The problem, in my experience teaching students and in the private sector, isn't that people know calculus, but not how to code: it's that they can't think abstractly about the code. They can catch syntax errors, but can't solve logic errors to save their lives (or jobs). With a very few exceptions, the people whose code has to be rewritten are the same ones whose reply to required math courses was "when am I ever going to have to use this?"

--
The hell with paco, vote for Erudil!
:wq


In reply to Re(4): (OT) Should math (or adv. math) be required in CIS degrees? by FoxtrotUniform
in thread (OT) Should math (or adv. math) be required in CIS degrees? by japhif

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.