3 ms·
> Thanks for the comment. There's this weird notion in Calculus education that we need to start from first principles. Limits were invented a century after Newt
by claudius 12y ago
> Thanks for the comment. There's this weird notion in Calculus education that we need to start from first principles. Limits were invented a century after Newton died, yet they're taught first. "Oh, students won't understand calculus unless they can build it from first principles. I don't care if Newton worked out gravitation with his understanding, it's not good enough."
It depends. In high school, it certainly makes sense to start from an intuitive, rough idea, but in college/uni, I much preferred classes that started from first principles (axiomatic QM, sets → topology → metric spaces → calculus/algebra) etc. rather than the weird classes which define nothing properly and put in a “this is true, but I won’t tell you why :P” every other lecture. Which approach is preferable obviously also depends on your aims, but I found it hard to get a thorough understanding of a topic without a first-principles-based derivation at least at some point.
- kalid 12y agoI definitely agree -- context matters. For a potential math major [i.e. people for whom metric space refers to a measure and not a flat in Europe :)], you definitely want the ground-up understanding. In CS it's similar, where you learn about transistors, logic gates, ALUs, CPUs, machine code, compilers, along with high-level languages. But, some people just need the HTML "Hello World" to make their webpage. (In the math field, we have students who need calculus primarily to find the min/max of a function, and are wasting time worrying about epsilon-delta definitions of continuity. Limits are interesting, but I'd prefer to ignite curiosity with higher-level topics then dive into the details, instead of forcing someone to learn organic chemistry before being able to drive a car.)
- hibikir 12y agoThat's how they taught CS at your school? Where I studied, we did have classes on all the low level stuff, but we didn't start there: I took a class taught using a high level language every semester. CS-100 was intro to how computers worked, but right along with it, you had 101 teaching C. If you are going to end up teaching software engineering material, compiler design and such, you just can't have people that have barely done any programming for a year or two, or all they are going to learn is boxes next to each other, instead of being able to actually write a simple compiler in the compiler class.
- kalid 12y agoWhoops, I probably wasn't clear enough in my reply -- the classes on transistors, logic gates, etc. are available to CS majors but are definitely not a requirement for programming. I completely agree that trying to teach about digital logic, etc. without the general context of programming is backwards. Drive the car, build your interest, then start taking classes in chemistry, physics, etc. to see how it works.