On Mon, May 25, 2015 at 10:36 PM, Rustom Mody <rustompmody@gmail.com> wrote:
If you think the separation of these two worlds is unnecessary then you have the mess of C's 'expressions' like ++
And you will have students puzzling over the wonders of nature like i = i++ whereas the most useful answer would be "Syntax Error"

A good reason NOT to teach C as a first language ;-)
 
And finally all this is rather OT.  I am talking of a framework for a teacher to chart a course through python, not any changes per se to python itself.

I would argue that you are actually not talking about teaching Python, per se -- but using a (subset) of python to teach programming in the more general sense.

If you want to teach Python, then I think it is a mistake to teach a truncated version first -- it will just lead to confusion later.

But having a "functional" version of Python for teaching functional programming concepts makes some sense.

Though I think one woulc create that as a monkey=patched version of python wihtout hacing into the core pyton implimentaiton:

i.e. replace map(), etc, with versions that return tuples, rather than lists, that kind of thing.

though maybe replacing list comprehensions with tuple comprehensions would be a bit tricky...

Though I'm still not sure you'd need to -- sure you CAN mutate a list, but if you use functional approaches, lists won't get mutated -- so where is the source of the confusion?

-Chris



--

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker@noaa.gov