Daniel Ajoy schrieb:
But the criteria of "relevant problems, easily solved with a quickie
program" is tough to meet.
...
And another point is that some problems cannot be solved using algebra or trig. 
I believe this is one:

http://neoparaiso.com/logo/problema-triangulos.html

It asks the student to determine the values of the segments a and b.
This is a nice problem, which could also find an easy solution in Python, not only in Logo, of course ;-)
Like the on attached one, for instance.

I'd only like to add a few remarks to the problem discussed in this thread - which I also know very well as a high school teacher in Vienna, Austria.

(1) One root of the problem seems to be that whatever "relevant problem" we pose, there are *a lot* of different adequate tools to approach it in these modern times and it is by no means clear that programming is the 'natural' approach. See for instance

http://www.rg16.at/~glingl/triangle/

for a different solution to Daniel's problem.

(2) To profit from beeing able to program needs continuous practice. So as a teacher of a math class you had to convince *all* of your students to do it continually.

(3) This - at least here in Austria - seems to be impossible as long as programming is not part of the official math curriculum (like for instance the appropriate use of a pocket calculator). Even core math is not done by *all* students on their own free will, because they enjoy it, or they are interested in it, but by some of them often only because they *need* it for their gradutation. And I suppose that programming will never be part of the standard curriculum, even if only because only a small part of the maths teachers are proficient in programming. So they naturally would oppose such a change.

(4) Moreover it seems to me, that even in the area of computer science or computer technology the part which is occupied by programming is getting smaller. 25 years ago, if you wanted to do some interesting things with a computer, you *had* to be able to program, while nowadays there are so many interesting things you can do without programming. For instance what do you think, which part of the people working in the comuter game industry are programmers? I suppose, this trend also diminishes the young people's interest in programming (as well as the school authorities interest in putting programming into the mainstream curricula.)

(5) Despite all of this I'd also like to contribute a problem, I stumbled over yersterday, incidentally. It might not be 'relevant' but it's also one that most probably couldn't be solved without computers and which without doubt has the potential to stimulate the student's interest in math as well as computing:

Christian Goldbach (1690-1783), stated several number theoretical conjectures, among them the famous Goldbach conjecture, concerning the set of even numbers > 2.

An other (similar) one is the following: every odd positive integer could be written in the form p + 2*a**2, where p is a prime (or 1, then considered a prime) and a >=0 is an integer. Example: 23 = 5 + 2*3**2 (to use Python notation). Euler checked this conjecture for odd numbers up to 2500 and he didn't find a counter example. Only a century later two counter examples were found in the range below 10000. What are these two numbers? The curious thing is, that to this day these two numbers remain the only ones found.

Regards

Gregor




Daniel

_______________________________________________
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig


# Daniel Ajoys triangle problem
# from Edusig, 10. 12. 2008

from turtle import *

def triangle(wx):
    penup(); home(); pendown()
    forward(130)
    left(180-38)
    forward(wx)
    setheading(180 + towards(0,0))
    forward(70)
    right(180-101)
    forward(88)
    #stamp()
    return ycor()

setup(500,250)
mode("world")
reset()
fd(250)

triangle(80)
triangle(50)

# no-frills graphical solution
# of course one could play around with colors etc...

wx1 = 80
wx2 = 50

epsilon = 0.1

while True:
    wx = (wx1 + wx2)/2.0
    y = triangle(wx)
    if abs(y) < epsilon:
        print "Solution:", wx
        break
    if y > 0:
        wx1 = wx
    else:
        wx2 = wx


setworldcoordinates(190, -2.5, 200, 2.5)
write(str(pos())+" for wx = " + str(wx))




_______________________________________________
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig

Reply via email to