Wolfram is very good about providing copies of Mathematica to students. I think I’ve been offered at least five free copies of the software for various reasons.
Hm? The (non-time-limited) student copy I see on the website is $139.
Many schools also have access to Mathematica or Maple or whatnot (although they presumably pay for it; but the students don’t).
That will be relevant when it’s true in India, China, and Africa, not just in America or Europe.
Furthermore, basing the course on specific software threatens to turn it into an explanation of the useful commands to use, rather than of the math involved.
This can also be used as an argument against teaching a programming language in a CS101 course.
Of course, CS101 courses do occasionally fall into the “commands not concepts” pitfall, (like courses that use C or Scheme, for instance) but IMO that’s still better (= more understandable for students) than teaching programming without teaching a language along with it. (… I think. Has that ever been tried?)
Mathematica is often given out at summer camps and math competitions and such. Not available to everyone, but then not everyone would be interested in such a textbook either. But actually I don’t think this was a very good point, sorry.
However, I think the places you mention that don’t have Mathematica available at schools also don’t have computers available at schools, so free software would hardly be a benefit there.
As far as teaching math using software without teaching a language: I’m basing this on my experience with a few classes that did use such a model. Notably, there was a number theory course which asked us to do things like send each other RSA messages manually, or test numbers for primality, using an unspecified CAS.
Of course, this is not quite the same as the suggestion in the post, because nobody currently makes students compute GCDs by hand for practice (or do they?) But I think that this worked quite well at the time and so it would work quite well for a calculus course. Instead of using a CAS to do modular arithmetic with large integers, you use a CAS for derivatives and algebra. In either case, you need only learn a couple of commands, and the syntax for entering in algebraic expressions (which is probably nearly the same across all such software).
Teaching a programming language in an introductory CS course is different, I think, because you need to run (and debug) actual code. I think an alternative does exist: occasionally teachers will explain everything in pseudocode, and expect pseudocode back. I don’t know if anyone does this for beginning CS students, though.
However, I think the places you mention that don’t have Mathematica available at schools also don’t have computers available at schools, so free software would hardly be a benefit there.
They do. Or rather, small tracts of them do (and that’s still millions of students) and governments are trying to get computers to the rest of them. And colleges everywhere definitely have computers.
As far as teaching math using software without teaching a language: I’m basing this on my experience with a few classes that did use such a model. … (the rest of the post)
You’re right, my analogy was off. If what you care about is the final output, (like in math) you can afford to be language-agnostic. On the other hand, if your concern is writing code that gets some specified output… well, of course you need to teach a language.
Hm? The (non-time-limited) student copy I see on the website is $139.
That will be relevant when it’s true in India, China, and Africa, not just in America or Europe.
This can also be used as an argument against teaching a programming language in a CS101 course.
Of course, CS101 courses do occasionally fall into the “commands not concepts” pitfall, (like courses that use C or Scheme, for instance) but IMO that’s still better (= more understandable for students) than teaching programming without teaching a language along with it. (… I think. Has that ever been tried?)
Mathematica is often given out at summer camps and math competitions and such. Not available to everyone, but then not everyone would be interested in such a textbook either. But actually I don’t think this was a very good point, sorry.
However, I think the places you mention that don’t have Mathematica available at schools also don’t have computers available at schools, so free software would hardly be a benefit there.
As far as teaching math using software without teaching a language: I’m basing this on my experience with a few classes that did use such a model. Notably, there was a number theory course which asked us to do things like send each other RSA messages manually, or test numbers for primality, using an unspecified CAS.
Of course, this is not quite the same as the suggestion in the post, because nobody currently makes students compute GCDs by hand for practice (or do they?) But I think that this worked quite well at the time and so it would work quite well for a calculus course. Instead of using a CAS to do modular arithmetic with large integers, you use a CAS for derivatives and algebra. In either case, you need only learn a couple of commands, and the syntax for entering in algebraic expressions (which is probably nearly the same across all such software).
Teaching a programming language in an introductory CS course is different, I think, because you need to run (and debug) actual code. I think an alternative does exist: occasionally teachers will explain everything in pseudocode, and expect pseudocode back. I don’t know if anyone does this for beginning CS students, though.
They do. Or rather, small tracts of them do (and that’s still millions of students) and governments are trying to get computers to the rest of them. And colleges everywhere definitely have computers.
You’re right, my analogy was off. If what you care about is the final output, (like in math) you can afford to be language-agnostic. On the other hand, if your concern is writing code that gets some specified output… well, of course you need to teach a language.