I taught my little sister calculus last summer by essentially giving her a mini numerical analysis course using Python. This enabled us to focus on the concepts of calculus, understanding definitions, and seeing how the major theorems all worked (on a discrete approximation level), all without much algebra (which is the major stumbling block for most students).

We coded a function grapher, a numerical differentiator, a numerical integrator , an diff Eq. solver. We also coded approximations to the exponential, log, and trig functions by viewing these functions as solutions to diff Eqs, and solved a lot of "real world" problems using these tools.

We bounded the error of our numerical integrator so that we could specify a desired degree of accuracy to our integral. This is obviously useful in any applied context (we need to know how accurate our approximations are), and it means she really recognized the importance of the formal definition of a limit.

Only after we had all the major concepts of calculus down did we start to play the symbolic manipulation games. This part of the course was less interesting, but we saw that it sped up our computations a lot (instead of having to do thousands of operations to approximate an integral, I can do maybe 10 to get the exact answer).

The experience was very interesting for me because I realized how much of calculus can be seen through the lens of Euler's method. You can really explain pretty much everything.

I am very interested in making a sequence of guided programming exercises which would teach calculus this way on the web. I started making some using Khan Academies open source material, but have not gotten very far. It will probably have to wait until the summer.

P.S. The net effect? I would say that she is weaker at churning out integrals than most students (I don't think we ever even talked about trig substitution, etc). However if you ask her what a derivative is she can tell you. If you ask her to explain how the fundamental theorem of calculus works, she can explain it to you. If you give her a novel physical problem she is very well equipped to think about breaking it into easy small subpieces, and using a limiting process to get a good approximation to a solution. In other words, I think that she has a much deeper understanding of calculus than a "standard" student, and because of this she will be able to apply calculus when it naturally arises in her life. She also learned how to program, which has independent value. We also had a lot of fun.