Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

(OT) Should math (or adv. math) be required in CIS degrees?

by japhif (Scribe)
on Jul 25, 2002 at 18:33 UTC ( #185273=perlmeditation: print w/ replies, xml ) Need Help??

This question has been around a while, but I keep getting in arguments on whether math or how much math should be involved in getting CIS degrees. I'm looking for some more ammo to use in my argument. The university where I received my current BS degree only required Algrebra I, but the university where I'm about to do graduate study requires trig, discrete, and calculus for their BS degree.

I know programmers use varying degrees of math depending on the type of job they do (web programming, scientific programming, game programming, etc). But with web programming (which is what I do) is it totally out-of-the-norm to be able to apply advanced math web programming with perl? How much math do you guys use on the job and do you think math or advanced math should be a requirement for a CIS degree? I realize that CIS covers a broad range of degrees but I'm trying to be somewhat concise.

Also, I've noticed that many CIS students where I've attended lack analytical skills. If the college I attended would have required more math I think at least indirectly it would have helped the students by building better analytical skills (even if they didn't need the advanced math concepts to use directly in their programs.) But I would still like to know how (and if) people are using advanced mathematical concepts in web programming scenarios and if you think adv. math should be included in CIS degrees.

Comment on (OT) Should math (or adv. math) be required in CIS degrees?
For CIS, Math is good, but Philo is better.
by dragonchild (Archbishop) on Jul 25, 2002 at 18:57 UTC
    Short answer - yes (and yes).

    Longer answer - for the very reason you cite - analytical skills.

    Real answer:
    To learn how to think. Personally, I think that Philosophy, especially Logic, should be required for any sort of degree, let along CIS. But, it's especially important in CIS. Math, at least, is a quasi-related field that has logic pedagogy built in to the fabric of the subject. You'd think that this would be the case in a CIS degree, but it's not. In fact, I've noticed that analysis and design is the weakest skill for most CS professionals.

    This results in a "code-first, maybe-figure-things-out-later" attitude (for both coders and managers) that leads to demolished productivity and a bad name for the profession. In fact, a number of programmers I've met are afraid of analysis/design work. We fear what we do not understand. Had they taken Math, even something as simple as Linear Algebra or Advanced Calculus, they would be more secure in their capabilities to attack and solve problems.

    The reason why Philo would be better is that, unlike Math, you have to be able to handle problems expressed in English and parse them to their logical equivalents. This is the exact skill I use when handling customer-written requirements. Without that training, I would be lost.

    (For the record, I have a double major in both Math and CompSci, with a should've-been-completed minor in Philosophy.)

    ------
    We are the carpenters and bricklayers of the Information Age.

    Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.

      There would be, of course, a plus side for requiring Philosophy for a CIS degree. One who is versed in the philosophical way of thinking will always ask questions, and perhaps those questions would lead to answers that improve the code somehow.

      Not to mention the added bonus of improved ethics among coders. If the people with CIS degrees were seen to be very ethical, it might shine a new light on hackers in general, and present a role model for the developing script kiddies out there. (And maybe fewer good coders would go running off to code for the Empire. ;) )
Re: (OT) Should math (or adv. math) be required in CIS degrees?
by samtregar (Abbot) on Jul 25, 2002 at 19:16 UTC
    Yes, and no. I think that calculus and linear algebra should definitely be required for a CS degress (er, CIS? Is that the same thing?). This was the case where I studied (NYU) and I think it makes a lot of sense. How will you read Knuth without it? And how can you call yourself a CS grad without being able to read the defining texts of the field?

    NYU also required Numerical Computing if you wanted to graduate with honors. I skipped this class realizing that I was unlikely to be doing number crunching anytime soon. Since I already have the math background I figured it wouldn't be hard to pick up later if I needed it. I have yet to prove this assumption...

    So, will you use calculus in your job? Probably not. But a university degree in CS is only partially about job training. The other half is about engaging with an academic tradition which is, for better or worse, highly mathematical.

    -sam

      CS is Computer Science - CIS is Computer Information Systems. Are they different? Mostly yes: CIS is more about business/management and CS is more about science (theory and abstraction). The main programming language of CIS is still COBOL while C++ still rules CS (there are exceptions, of course). At the univerisity i graduated from (CS major), the CS drop outs usually became CIS majors. Both programs required higher math, but CIS had easier calculus courses. They also had/have better facilities and more money than the CS department. Damned managers. :D

      jeffa

      L-LL-L--L-LL-L--L-LL-L--
      -R--R-RR-R--R-RR-R--R-RR
      B--B--B--B--B--B--B--B--
      H---H---H---H---H---H---
      (the triplet paradiddle with high-hat)
      
Re: (OT) Should math (or adv. math) be required in CIS degrees?
by FoxtrotUniform (Prior) on Jul 25, 2002 at 20:04 UTC
      Should math (or adv. math) be required in CIS degrees?

    Oh hell yeah.

    For one thing (and this is something that you and the other respondents have touched on), university-level math builds strong analytic skills. Writing proofs is very much like writing code, and effort spent learning one will pay off in the other. (In fact, I'd add formal logic to the list you mention -- at the very least propositional and predicate calculi, with modal logic and metalogic as "recommended" subjects.)

    For another, math has an annoying habit of cropping up in the most unexpected places. Reachability checking for an even modestly complex web site will bring in graph theory (and woe to the programmer who doesn't consider it!), for example. Most varieties of simulation involve insane amounts of math. (And Every. Single. Programmer. should be familiar with De Morgan's Laws.)

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

      It's funny you mention graph theory - I have been working on a SQL generation tool that is a bunch of calls into Graph and little more. Without that training in Math, I would've been completely lost. (Heck, I was originally completely lost, but several Monks came to my rescue.)

      ------
      We are the carpenters and bricklayers of the Information Age.

      Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

      I shouldn't have to say this, but any code, unless otherwise stated, is untested

Re: (OT) Should math (or adv. math) be required in CIS degrees?
by Jenda (Abbot) on Jul 25, 2002 at 21:46 UTC

    Definitely. If for nothing else then to filter out the "walking code generators". For which also very nicely works teaching Prolog. You can't just sit down and start typing, you have to stop and think. Which is something ALL programmers should learn to do.

    Jenda

    P.S.: I do not remember when did I do anything math related for the last time, though to some people most of the stuff I do would look like math (or magic ;-).

Re: (OT) Should math (or adv. math) be required in CIS degrees?
by vladb (Vicar) on Jul 25, 2002 at 21:48 UTC
    First, how deeply assured are you that web programming is going to stay there for a long while? or alternatively, how long you think you'll be able or willing to keep doing the job? Personally, I classify myself as a kind of programmer who likes to explore things. I like to play not only with the web stuff but writing drivers in Assembly, C++ Libraries, graphical programming, etc etc. As a consultant, I get to do various types of projects. Some require C++ knowledge; whereas others are fine with Perl. Overall, however, ability to think analytically and be a good problem solver is paramount in any work I do.

    For one, I very much liked (and still do) Physics, Calculus, and Math. Naturally I did good in all of these areas (hack, my Physics teacher even suggested I pursue a career of a 'rocket scientist'; whilst my Calculus teacher insisted I pursue that of a statistician... ;). This, I believe, played out quite well for me in my work as a developer. Math/Calculus trains your brain to think in abstract fashion. Having a good grasp of precise sciences allows one to device better algorithms and data structures to employ in his/her code.



    _____________________
    # Under Construction
        First, how deeply assured are you that web programming is going to stay there for a long while? or alternatively, how long you think you'll be able or willing to keep doing the job?

      What you mention here and what you go on to mention are good points. I may drift off topic a little replying to it, but I will anyway and I'll go on to summarize what I've gained from the original post and the replies to it. I didn't mention in my original post that my BS was a double major in CIS/Mathematics, but I did make it noticable that I was biased toward math by my post (and it was listed on my home node). Before I started day one of college I took many weeks to research local and some not so local colleges so that I could plot a course that would take me up to 8 to 10 years to complete. The college I really wanted to go to was not an option to begin with because I couldn't afford it financially (at the time) and it was far to distant to travel to 4 nights a week (like is commonly required for full time AS and then BS studies.) I had to work full time during the day, so I could only go at night my first four years and is still the case now. But to make a long story short (whoops, too late) I realized the college that I wanted to do graduate study at requred very high math classes so that is the (1) reason that I chose to take a second major in Mathematics. The (2) reason is I've always enjoyed math and I thought it would be quite challenging. I have and always have had a hard time learning math so it turned out to be very challenging for me, but the challenge kept me interested so I didn't get bored with college. As a side note it seems I rarely had to think very much to complete all the CIS classes and I spent a lot of my CIS class time helping or tutoring other students. And the (3) reason I chose math which pertains to the quote at the top that I'm responding to is because I wasn't sure that I'd always be a programmer because of ambitions or market changes, etc. But I like almost anything to do with technology, and math in one form or another is part of the foundation of many other tech fields. I started out in electronics engineering (part time for 2 years), but I switched to computer programming after the technical school I attended cut the night program and lost all records that I had ever been there in the first place. But also, I noticed that there were a lot more programming jobs in the area than electronics engineering jobs. So to summarize all that I just said in response to the quote above, I'm not totally certain that web programming will be an option for me in the long term, but if it falls through, I'll switch to another programming system because I definitely buy into the "don't put all your eggs in one language err... I mean basket" club. And if there are no programming jobs, maybe I'll go back to electronics engineering.

      As far as my original post, I do believe that math (somewhere in between beg. and adv) should be required for CIS degrees. I think the Algebra I requirement (like the college where I got my BS degree)is far too low a requirement though. But I think they did that so they could have more market coverage (since many of the existing CIS students could hardly meet the Algebra I requirement). At my old college, "money" definetely out-ranks "education quality" on the priority list, but I guess it's only to be expected.

      Reasons for my belief that math should be required for the CIS program is what has already been mentioned.

      1) Builds analytical skills
      2) Some math concepts can be directly applied to programming
      3) A serving of medium to advanced math courses exposes the student to concepts that he or she can research further if needed in certain job situations
      4) Based on the same premise that applies to General Studies classes that makes for a more rounded student and gives all students a universal or common ground on which to think and communicate (or at least that was the execuse given to me as to why I had to take all those music appreciation and art appreciation, etc classes. I did finally accept it at one point and when it was all over I was glad that I took all those courses which made me think in a different way). But anyway, I think math to a certain extent carries that concept one step further and applies it to the technical and science fields. And to use a quote from one of my favorite movies, "Mathematics is the universal language of science."

      Thanks to all those who responded and I hope the discussion continues.
Re: (OT) Should math (or adv. math) be required in CIS degrees?
by Anonymous Monk on Jul 26, 2002 at 00:00 UTC
    I will disagree with everyone else.

    I think that most of Calculus is useless for computer programming. Furthermore any subject which is taught because it teaches "analytical thinking" deserves to suffer the fate of Latin and Euclidean geometry. (If you have to think about what Proposition 1.47 is, then you didn't learn classical Euclidean geometry, no matter what delusions you may have to the contrary.)

    As for other areas of advanced math? Each area should stand or fall on its own merits. Linear algebra, graph theory, number theory and combinatorics all make sense for programming, if only to give people some background for understanding how scalability works. (Which is definitely applicable if you are trying to understand why your web application server is falling over!) Differential equations, analysis (complex and real), topology and the like generally are not as applicable to CS.

        I think that most of Calculus is useless for computer programming.

      That's nice.

      The entire field of machine learning is pretty much entirely applied calculus. Integer and real calcului are also rather important when it comes to solving constraint-satisfaction and constraint-optimization problems. Really abstruse, ivory-tower stuff with no real application to the real world. Like job scheduling. Oh, wait.... Many code optimization problems are NP-hard, like register sufficiency, code generation with unlimited registers, program equivalence or inequivalence, etfc... these kinds of problems are often best solved with constraint-optimization techniques. Is writing an optimizing compiler too theoretical and academic for you?

        Furthermore any subject which is taught because it teaches "analytical thinking" deserves to suffer the fate of Latin and Euclidean geometry.

      Why?

      Update: coreolyn, I didn't mean to imply that math was the only solution to the problem of teaching people to think analytically and abstractly, although I believe it's a good solution. The point is, though, that "good" software engineering practices are useless unless you know when and how and why to apply them, and you can't learn that merely by learning the syntax and semantics of a programming language. It's like knowing how to play an instrument, but not how to play in a given key or put together a chord progression.

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

        I agree with most of your examples. (The notable exception being constraint satisfaction, whose dose of Calculus can be largely replaced with an appeal to common sense.) And to your examples I would add that numerical modelling (applicable in lots of places) often uses calculus very intensely. Lots of areas in programming use calculus, shouldn't we conclude that Calculus should be core for CS?

        Not necessarily.

        It isn't hard to see that every area of knowledge could apply to any other area in some way. But no academic program can hope to teach more than a fraction of that information, and so needs to not only direct the firehose of knowledge at students, but also filter it. Trying to not filter is merely choosing to filter based on running out of time, and excess verbiage leaking out of apathetic brains.

        Given this reality, it is possible to validly disagree on which useful topics make the cut, but it isn't possible to disagree that something potentially useful will be cut. And when that choice comes, subjects that can offer no other reason for their being taught other than that they teach analytical thinking do not deserve to be spared the chopping block. After all, there are many places where students can be exposed to analytical thinking. Include one that does something else for you as well.

        Man do you sound like my brother... and niether of us can figure how the other functions to this day.

        While your in there solving constraint-satisfaction problems, some of us are left to make these systems work for people that can't spell scheduling. Your math skills enhance your relationship to the machine in the way that works best for you.

        Granted calling Calculus useless in a monestary full of math monks is like spreading your cheeks for the Bulls in Pompolona and it begs a response, however to imply that there is only mathmatical resolution to the problems surrounding application development is stretching things as well.

        coreolyn (Probably more directed at my real brother so please don't take offense ;)
        I think that most of Calculus is useless for computer programming. Furthermore any subject which is taught because it teaches "analytical thinking" deserves to suffer the fate of Latin and Euclidean geometry.
      From your comment, I infer that you think learning Latin is a waste of time. I disagree.

      If you're in the field of law, medecine, or science, you probably use Latin every day. If you're learning English, French, Italian or Spanish, Latin gives you a great basis for starting a vocabulary.

      Note that I included English in the list .. the English language is quite a mongrel, with words from lots of other languages inside it. Well-rounded developers should be able to document their work and communicate with others. That requires a decent vocabulary, something that learning Latin definitely helps with.

      --t. alex

      "Mud, mud, glorious mud. Nothing quite like it for cooling the blood!"
      --Michael Flanders and Donald Swann

          Well-rounded developers should be able to document their work and communicate with others. That requires a decent vocabulary, something that learning Latin definitely helps with.

        yes, people who use calculus in PERL scripts are the same people who would document their code in Latin.

        neither are necessary or even desired. people with CIS degrees are the people working on help desks and doing data entry. they are not developing cutting edge encryption algorithms.

        fine, when you're going for your doctorate learn calculus and latin. but for a BA in CS why not skip the higher math and try to teach them how to debug and optimise code. so that everything that they write for the first couple of years after getting their degree doesn't have to be re-written by someone with more experience.

        I am glad you disagree. Your disagreement hasn't changed my opinion.

        First of all learning Latin had a definite use. In an era where every educated person learned Latin, not knowing it shut you out of many areas. And even today if you need to access historical records, it is critical to know Latin. But as I said elsewhere, saying that a subject has a use doesn't mean that it is useful enough that everyone should go out and learn it. Quite the contrary, because of constraints on time we do not learn many useful subjects, and should choose wisely.

        It also doesn't mean that your examples are well-chosen.

        Law I cannot comment on, knowing Latin may be useful there. But people I have known in various sciences and medicine have told me point blank that learning Latin is not very useful for what they do. Yes, they use Latin-derived words. But most of what they have to know isn't those words, and learning the ones that they need to know is such a small part of what they do that it would make no sense to learn Latin first.

        So I have to decide whether to believe a random stranger on the net making sweeping claims about various professions versus accepting what PhDs and MDs have told me about what they do. I would that all my decisions were that easy!

        Going further, what you say about various Romance languages (and about English - which got a lot of vocabulary from French in particular) is definitely true. However it is a disingenuous argument since learning any Romance language for the same effort both teaches you a language used by millions alive today and gives you the same head start on other related languages. Which makes Latin an inefficient path to that result.

        And that is why Latin is no longer a basic part of our general education. Most of the reading and writing people do is in their own vernacular language(s), scholarly discourse takes place almost exclusively in them, and even Christian worship is no longer generally conducted in Latin (a process that took from Martin Luther to the late 1960's). Given this, learning Latin simply doesn't make very much sense for most people. It held on for a long time based on inertia and general acceptance that somehow someone who didn't know Latin wasn't really educated. Learning Latin taught, so the argument went, "analytic thought". Those declensions had to be good for something!

        That proved not to be enough. So eventually Latin was discarded, more useful topics replaced it, and life went on. As with the loss of Euclid's Elements as a basic textbook a few decades earlier, something was lost and on the whole rather more was gained.

        PS I know that spelling flames are silly, but I have to admit to finding it ironic when someone who is telling me the importance of developing a better vocabulary gets the spelling of "medicine" wrong...

Re: (OT) Should math (or adv. math) be required in CIS degrees?
by peschkaj (Pilgrim) on Jul 26, 2002 at 02:34 UTC

    I think that, in the field of web programming, one would be at quite the disadvantage not knowing math. I do a fair bit of work with SVG, and I often have to kludge a solution, go through google, or hope for the best when I am doing transformations and animations.

    I feel like I am at a horrible disadvantage, not having been forced to take math in college (admittedly, I majored in English, not CS). But I do feel that everyone should have a strong grounding in mathematics, not just arithmetic. But that is for reasons that I shan't go into here.

    Returning to the question at hand: Yes, I think it is important for geeks to have math skills. They help with GUI programming, graphics, algorithms and all that other fun stuff. However (there is always one of these) I feel it is up to the individual, ultimately, to make their choice to learn and use math. I'm re-learning, and it's alot harder than I remember it being.

Re: (OT) Should math (or adv. math) be required in CIS degrees?
by december (Pilgrim) on Jul 26, 2002 at 04:11 UTC

    Well. You asked for it.

    I studied CS at the university of Brussels (Belgium). The first 2 years consist mainly of maths (as you listed): algrebra, trig, discrete, calculus, ... In fact, until a couple of years ago, math students and cs students had the same classes those first 2 years.

    And I think it sucks. We had way too much math and other bullshit, while nobody ever tolds us how to program in a secure way, admin servers, basic hardware knowledge, or make comprehensible interfaces, etc; if I would have studied only the things I was supposed to know (for my classes), I wouldn't know much at all about the things I actually need to know. And the math, well, I forgot almost all about it. It's not like I will ever need it in anything I do (thank god, I hate it). I agree there are certain fields that require some mathematical knowledge, like encryption or performance analysis, but I had the feeling I was drowning in it, it put me off and made my life hell. Almost. :)

    I didn't enjoy to study CS at all, although I'd been programming computers by myself at a young age. It even had that much effect on me, that I still (only 1 year ago though) refuse to do any kind of programming work (C, Lisp, ... as opposed to 'scripting' in bash or perl) and only occupy myself with system administration and security.

    I think that especially in this country, the studies are _way_ behind the requirements of the market in fields evolving as fast as the computer hard/software industry. It's sad I never seem to have learned anything _in class_ of the things I wanted to know.

    Oh well... Win some, loose some. I have fun now as admin, in all peace and quiet, at a slow pace. I'll get over it. :)

    Eventually...


      I didn't enjoy to study CS at all, although I'd been programming computers by myself at a young age.

      Unfortunatly that seems to happen quit often. But many young students forget to think wether CS is really the subject they want to study. Often the "I have done programming since I was 8 years old" guys horrible fail in CS. CS is not about programming but about algorithms, analytical thinking, etc. You could become a genius computer scientist without knowing any programming language.
      So if ones wants to study CS one should really think twice. If one just likes programming, CS is the wrong place. Probably a vocational school or some polytechnic college is a much better way to go. Or ask yourself, "what would I like to study if there was no CS?" ...Then if you think "Linguistics", "Legal Studies", "Literature" etc. pp. would be real cool, join the appropriate school and use your computer knowledge there. Probabably you will be much more satisfied to do legal computing or whatever.

      I think that especially in this country, the studies are _way_ behind the requirements of the market in fields evolving as fast as the computer hard/software industry.

      While I cannot speak for America, this is at least a European phenomen called "Universities are for academic research and education, but not for vocational trainig". Thats fine, because if you want to study something which the market requires you can go to vocational schools, polytechnical schools, etc. pp.

      If you want to learn Spanisch don't study Hispanic studies but go to Berlitz.

      hardcore academically yours,
      Hanamaki

        Often the "I have done programming since I was 8 years old" guys horrible fail in CS. CS is not about programming but about algorithms, analytical thinking, etc.

        Indeed. I fell into precisely this trap in college. I wanted to learn programming so I became a CS major. While I did manage to pick up and do well enough with the algorithms and analytical thinking, but my university required what seemed to me to be too much electrical engineering as part of CS. Since I had neither the interest nor the aptitude for that, I promptly failed out and returned as a German major. ;)

        Lesson Learned: Find out what you're getting yourself into before you commit to it.

        -rattus

        __________
        He seemed like such a nice guy to his neighbors / Kept to himself and never bothered them with favors
        - Jefferson Airplane, "Assassin"

        Unfortunatly that seems to happen quit often. But many young students forget to think wether CS is really the subject they want to study.

        That's very true. If I would have had better knowledge of the exact contents of the CS studies, I don't think I would have started them. It's hard to know how things will turn out when choosing studies or more ahead, jobs. Hindsight is always 20/20, but I would have better started something else. You are right about the "what would I like to study if there was no CS?" Probably nothing scientific at all, I don't like numbers. I like to be creative, more to the artistic side, quite the opposite of scientifical studies and especially CS, it seems...

        So, to return a bit to topic and not bore y'all to death, yes, I think there should be basic math in CS degrees, but in proportion to what is useful to the average graduate. The point that they might have to write seriously mathematical software is rather invalid, in my personal opinion. Why don't you require medical/legal/linguistic/... knowledge too, then?

        It would be better to provide specialization options in each specific type of study, e.g. math degree with a cs option, med degree with cs option, etc. This will be more useful since computers are used in about every profession these days, and CS majors can't be expected to understand all of these fields just because they might have to program for it. By using people who studied something more relevant to the type of specialized software being written, the specific needs and problems will be easier to capture, analyze and solve.

Re: (OT) Should math (or adv. math) be required in CIS degrees?
by abaxaba (Hermit) on Jul 26, 2002 at 04:16 UTC
    Perhaps I afford a different perspective on this, as I don't have classical training as a computer scientist, outside of a year of Pascal. However, I do have training in Mathematics and Philosophy, as well as Economics.

    Currently, IMHO, most American collegiate education serves as little more than high-priced vocational training. This stems, I believe, from the shortcomings of our nation's ejukashun system. To Wit:

  • I recently read that approximately 1/3 of college freshman from the state of Ohio require remedial education in either mathematics or english. I suspect this is not unique to the Buckeye State, nor do I believe Ohio's public school system to be grossly underachieving when compared to the national averages.
  • Christine Pelton resigned from her position as a biology teacher in Piper, Kansas. Why? The school board, with the backing of many local parents, forced her to give credit for a semester-long project to 28 students who would otherwise have failed as a result of their plagarism on said project.
  • Even in our nation's hollowed halls of academia, an Ivy-League University has recently faced allegations of grade inflation, and, I believe, has had to put a "quota" on the number of "honor" degrees that is issued each year
  • .

    I don't think that "analytical thinking" can be taught. It can be honed in a classroom setting, and, to that end, I don't believe that there exists a "magic class" that affords such an opportunity.

    In college, I had a symbolic logic class (Philosophy Dept) that spent approximately 1/2 a semester covering prepositional calculus, three weeks of which amounted to memorizing truth tables The same material was covered in about 5 hours of discrete mathematics, where the ability to calculate truth table values by sheer intellect was assumed.

    I also had a class in abstract algebra, where the lectures, homework assignments, and exams were based totally on the rote memorization of proofs.

    Coursework that I had in Constitutional Law and Advanced Microeconomics proved rigorous enough to stimulate the grey matter, where two semesters each of Pascal, Calculus and Physics did not.

    You want good collegiate coursework to sharpen your analytical thinking skills? Bag it. Get yourself a book of Logic Puzzles, and complete that instead.

    ÅßÅ×ÅßÅ
    "It is a very mixed blessing to be brought back from the dead." -- Kurt Vonnegut

Re: (OT) Should math (or adv. math) be required in CIS degrees?
by Ryszard (Priest) on Jul 26, 2002 at 11:11 UTC
    I personally think could be a part of CIS courses. I say this because (typically) in Australia a young grad student may really not know where they want to go in their career as a programmer.

    I like the idea of math subjects to be elective in any resprctive course, and not mandatory.

    For me as a mature age (22y.o) student I had a reasonable idea where I wanted to go in my career. Math didnt play a big part in my choices.

    From experience (part way thru' my career) I've found I've needed to be more analytical while developing financial models, websites etc... My university course gave me a good grounding in accounting, as well as the tools to build extensible programmes.

    So if a career path of a student heads toward some hard core game programming, weathing forecasting etc, then a high level of math may be a good choice. If a student wants to move in a direction that involves "less complex" algorithms then perhaps high school level math will suffice.

    IMHO, CIS, CS courses should have copmponents centred around structured program design, security and problems that will develop ones analytical ability (not necessaryily math based).

Re: Should math (or adv. math) be required in CIS degrees?
by Abigail-II (Bishop) on Jul 26, 2002 at 11:41 UTC
    Yes, most definitely. You might say "I don't need math to do web programming", and you are probably right. But then, you don't need a degree to do web programming to begin with. You do need to know how the kidneys and the liver work to get a medical degree, even if you don't need that knowledge to do volunteer work for the Red Cross.

    Here's an example of how you would be using math while programming. Suppose you have to shuffle an array. You can just grab a module or cut and paste the FAQ, but what if you want (or need) to know that the algorithm is correct, fair and efficient? You do need math. Mostly discrete math in this case, but to do discrete math well, you need to have your foundations in algebra and analysis.

    I got a fair bit of mathematics when I did my masters in CS. And I'm very glad I had it. It doesn't mean I'm constantly busy proving new theorems, but the mathetical way of thinking makes me write better programs, if only by easier spotting flaws or holes in the programs.

    Abigail

Re: (OT) Should math (or adv. math) be required in CIS degrees?
by thewalledcity (Friar) on Jul 26, 2002 at 14:27 UTC
    At my University, CIS is the name of the department (Computing and Information Sciences) and they offer both CS and IS degree options. Here CS majors are required to take 2 courses in Calc, Matrix Theory, a course in numerical analysis, combinatorics, and a mid level statistics course. They also require an intro-ish course on logic.
Re: (OT) Should math (or adv. math) be required in CIS degrees?
by coreolyn (Parson) on Jul 26, 2002 at 16:13 UTC

    Personally I think it's the math emphasis in programming that scares so many away from learning about programming and computers. When I was in college Fortran/Cobal were just about the only computer courses available. That had about as much appeal (as a Music Performance Major) as being a CPA.

    Math and I are mentally opposed to each other and yet compared to the general public I have a symbiotic relationship with the machines and the industry. How can this be if Math is so important? Simple, I don't let the math get in the way of my creativity or vision. My music background provides the logic required. Math people have a hard time understanding this. But music (Sheet Music) has much more in common with programming than equations.

    Sheet music is the assembly of timing from chaos into an order that can be interperated in a logical fashion. Which is programming! By placing such an emphasis on Mathmatical/Analytical logic Universities and the Industries limit the fields capability and creativity. Logic, as Mathematicians use the term, is finite, while logic from a Musicians standpoint is an abstraction and works just as well at comprehending what is required to create the desired programatic result.

    Math should only be a requirement if specialty IT degrees are sought for math intesive industries.

    coreolyn
  • One doesn't need to know how a regex works, only how to implement one.
Re: (OT) Should math (or adv. math) be required in CIS degrees?
by Popcorn Dave (Abbot) on Jul 26, 2002 at 17:06 UTC
    Yes and maybe.

    Math is very important if you're doing things like games and accounting. But if you're doing game programming so is physics, so would you include that as a CIS req too?

    To me, the bottom line is simply this. If you're going to teach someone programming, what they need to learn first is step by step problem solving. Whether that's mathematical or philisophical in nature, I don't believe makes a difference.

    If you can't see how to solve something in steps, you're doomed to hack and peck programming, which will cause you and anyone else looking at your code no end of headaces.

    Not to say that we all haven't been guilty of that once or twice... : )

    Some people fall from grace. I prefer a running start...

        Math is very important if you're doing things like games and accounting. But if you're doing game programming so is physics, so would you include that as a CIS req too?

      Point of order: it's not terribly difficult to pick up physics from scratch if you have a good grounding in math. The reverse is more difficult. (And physics is far less important for game programming than math, especially on the graphics side.)

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

        Yes, but away from the graphics side, I prefer games that have at least somewhat realistic physics. I would contend that physics is just as important as math (esp. since there are good 3d engines on the market that can be licensed, eliminating some of the headache of coding the graphics all yourself)
Re: (OT) Should math (or adv. math) be required in CIS degrees?
by beretboy (Chaplain) on Jul 27, 2002 at 14:37 UTC
    I feel my Math and Code abilities are intricately linked. I get better a math I get better at perl and vice versa. Not only that but Math improves understanding of EVERYTHING. There is no subject on earth that can't be explored mathmatically.

    Note: I like math, but I'm not really good at it

    "Sanity is the playground of the unimaginative" -Unknown
Re: (OT) Should math (or adv. math) be required in CIS degrees?
by Steve_p (Priest) on Jul 29, 2002 at 18:07 UTC

    Math is the basis of much of the CS out there. Many schools seem to think that CIS students don't need much math because they are just going to be analysts and designers anyway. The problem is that much of the logic and problem solving skills needed for higher level math (Discrete, Abrstract Algebra, etc.) are a necessity for programmers.

    Being a programmer that has been doing a lot of refactoring before there was such a thing, one of the first things I always look at is long "if-else if" statements. I can't believe the number of times that I've gone through a long "if-else if" only to find that the last several conditions would never be reached. DeMorgan's Laws are also a necessity that I see people messing up all the time at work that I learned in the first week of Discrete Math.

    If I would make a recommendation to any programmer, it would be to take more math. I think that it is a bigger help than any other courses you could take.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://185273]
Approved by footpad
Front-paged by dragonchild
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2014-09-21 05:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (166 votes), past polls