Einstein probably did not say, "Everything should be made as simple as possible, but _no simpler_." However, somebody did, and somebody was right. One of the biggest problems in teaching programming is the constant pretense that we are not doing complicated mathematics, and the resulting attempt to hide the math.
There is a lovely little book called Mathematics Made Difficult, whose premise is that refusing to tackle topics of modest complexity makes understanding far more difficult. With examples, of course. I have a similar complaint about freshman college physics courses that attempt to get by with no calculus. One of my favorite matth examples is how the use of elementary differential equations and Taylor series simplifies the definition of trigonometry. Define the exponential function by the equation y' = y which says that the growth rate of the function is proportional to its current value. Bring in examples from compound interest, biological growth, inflationary cosmology,... The function we are looking for is exp(x) = sum_0^\infty (x^n)/n! or any multiple of it. If you know that d(x^n)/dx is nx^(n-1), then you can see that the derivative of the power series for exp is itself. Now solve y' = -y (negative of exp) y'' = y (hyperbolic sinh and cosh functions) y'' = -y (sin and cos functions) in the same way, and look at the relations among their power series. Now derive e^(i\pi)+1=0 from e^(i\theta) = cos \theta + i sin \theta, which follows directly from the power series above, and then switch to linear algebra to get the sum, difference, and other formulae, and geometry to get the solutions of triangles. If anybody has difficulty with any of this I can point you to textbooks using these methods. If you would like a bit more of a challenge, we can do this all over again in elliptic and hyperbolic geometry, where we don't have similar triangles. ^_^ On Wed, Mar 30, 2011 at 13:50, Kirby Urner <kur...@oreillyschool.com> wrote: > > What is a Python module? #========================== > Common answer is "a file containing Python source code?", > but I'm questioning whether that's sufficient definition. > How about an importable .pyc or .pyd, with no .py in the > picture. That's a module too, no? > ** Import Star #==================================== > When is > import * > a good idea? > There's all this righteous moralistic hoopla that gets built up > against specific idioms, to where eval( ) appears to be fighting > for its very existence... Mary wants to keep her little lambda. > So I'd rather phrase these in the positive, as in when IS it > a good idea... e.g. to use semi-colons between statements. > ** Another student question: #========================= > Why does all([]) return True by default? Is this a case > of half full versus half empty? > ** Correcting a misconception #======================== > No, docstrings do NOT have to be triple quoted. > Kirby > > _______________________________________________ > Edu-sig mailing list > Edu-sig@python.org > http://mail.python.org/mailman/listinfo/edu-sig > > -- Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://www.earthtreasury.org/ _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig