[Edu-sig] The fate of raw_input() in Python 3000

John Zelle john.zelle at wartburg.edu
Thu Sep 14 22:15:21 CEST 2006


On Thursday 14 September 2006 9:57 am, Arthur wrote:
> John Zelle wrote:
> >I _think_ I'm all for this, but again I'm not sure I know exactly what you
> > are saying. If you are saying that students might get interested in
> > programming through exposure in math (or some other "domain") and then
> > want to turn to CS classes to learn more, that sounds like a good thing.
> > But it's still curious to me that the implied tone here is one of
> > denigrating teaching introductory programming in CS classes because it is
> > "divorced from any domain" and then at the same time suggesting the thing
> > to do is teach programming in the context of math.
>
> I have a hard time digesting being told by a CS professor that there is
> no special relationship between mathematics, algorithmics, and the roots
> of computer science.
>

no, No, NO. I never said this. At least I didn't intend to. Please see the top 
of the message where I ask (virtually beg) for clarification on what you are 
saying. I thought you were saying that it's OK to teach programming in a math 
class, because it's being used there to motivate and illustrate mathematical 
concepts. Hence it is "grounded" in that material in some sense. If what you 
were saying is that we need to teach CS (and also programming) from it's 
historical mathematical roots, that's an entirely different position, and one 
that I'm quite at ease with, although it may not have exactly the same 
implications for you that it does for me.

My fault; I didn't understand the point you were making. I thought you were 
stating the position of the camp that students will only learn programming if 
it's about something that matters to them, and I was having a hard time 
figuring out how the math class context would help (it being just 
another "artificial" domain). Note also my comment about "some other domain." 
If I had understood your point (CS is mathematics) that would make no sense. 
It sounded to me like you were saying CS-types should not be teaching 
programming, at least not in programming classes. 

So, I think we both agree that CS is all about a kind of mathematics, and 
programming itself _is_ a kind of mathematics in the sense that formal logic 
is a branch of mathematics. We are translating "knowledge" into a formal 
system. In our case, the formal system is defined by a programming language 
syntax and semantics. Given that agreement, I still don't understand why, in 
your mind, an introduction to programming class is less worthy than an 
introduction to algebra class. Or perhaps a better example, does a Calculus 
class have to also pay homage to linear algebra? Does a formal logic class 
need to be about calculus? Why isn't programming itself a legitimate entree 
into the "world of mathematics?" There are many subfields of mathematics that 
are commonly taught and largely independent. Once we agree to the 
mathematical roots of CS/programming and assume that the subject is being 
taught from a perspective that appreciates those roots, I don't see any 
reason that programming can't be taught in a programming class. What exactly 
are you objecting to?  Are you saying is a better way to teach programming? 
If so, what is it?

> Being told that by John Zelle I will try to think harder about it.  But
> I find it hard to even find a way to put this in the "maybe there is,
> maybe there isn't" category.

Once again, your paraphrase was _not_ what I told you. It may be what you 
heard, but that was not its intent. Please look at the rest of the post to 
see how that paragraph was framed. In my mind, when you teach programming, 
you _are_ teaching mathematics. It doesn't matter if you call it that. Now 
I'm just trying to figure out what we are disagreeing about.

--John

-- 
John M. Zelle, Ph.D.             Wartburg College
Professor of Computer Science    Waverly, IA     
john.zelle at wartburg.edu          (319) 352-8360  


More information about the Edu-sig mailing list