[Edu-sig] teaching Python etc.

kirby urner kirby.urner at gmail.com
Tue Jul 25 00:45:02 EDT 2017


I turned down a $600/day 3 day gig I might not have got anyway, because the
textbook goes twelve chapters with no 'class' keyword, and that would
define the full complement of our topics. My code of conduct forbids
teaching Python that way.

The whole point of OOP was here's a way we think in natural language:
about Things with properties and behaviors.  Maybe some people don't like
to be "objectified" and it's true, that can mean something bad, but in the
context of the Django ORM, it means an integrated object has the records.
The patient, the athlete, the student object, comes with a medical
history.  Lots of SQL behind the scenes.

Rollicking good debate over on math-teach as we exult over the huge numbers
turning out to take AP CS.[1]  The Learn to Code movement is succeeding,
has gained traction.  The Coding with Kids that I work for has likewise
spread to several more cities, and any successful business model attracts
imitators (CwK has a great website for faculty, lets us track everything,
including our hours).  Is code school the new high school?

https://medium.com/@kirbyurner/the-plight-of-high-school-math-teachers-c0faf0a6efe6
(an essay coming up on its first anniversary)

The $600/day gig was teaching adults (andragogy vs pedagogy), over the
wire, which is how I've been making ends meet.

Unfortunately for me, a truck pulled up across the street and started
moving wires from pole A (the old one) to pole B (the new one) and wouldn't
ya know, my Internet, which goes right through there, cut out.

The crew said "not us" (what are the chances?) and took off.  CenturyLink
is coming tomorrow, but will they have a long enough ladder?  I've gotta do
my wind-up session 10 of 10 for the Californians.  Patrick offered me his
office (Comcast). I'm tethered to Internet through my cell phone as I write
this (not enough bandwidth for live screen and audio though).

We introduce Python classes early because that's the promise of OOP.  To
sucker for that "ontogeny recapitulates phylogeny" thesis, that we need to
slog through a whole semester of procedural programming, before we make a
single instance of something, is impossible in practice, at least in
Python, as just about everything one touches is an instance of something.
This textbook seems to hearken from that era (fortunately receding in the
rear view mirror).

You'd think in Java at least it'd be classes right out of the gate as one
can't but extend a class to get anything done.

Python's the same way of course; I think of functions as another type,
canned (built-in), with their own syntax, but an instance of the
FunctionType nonetheless.

Out here in Code School world, the pressure is on to teach Python in two
main ways:  as a web development language, using projects like Flask and
Django, and as a Data Science tool, using pandas, numpy, Jupyter Notebooks
and mathplotlib -- but then when it comes to visualization tools, there's a
plethora of 2D options.  Great talk on this at Pycon2017.

I've always been more a 3D guy myself, writing to POV-Ray and later Visual
Python.  I had a good experience getting vpython over anaconda and
embedding same in a Notebook, but that was a while ago.  No one pays me for
3D stuff.

Maybe we should learn to do stats that way, using more 3D models than we
do.  Fly through.

Not just physics should have all the fun.  As it is it seems precious few
physics teachers take the "coding a physics engine" approach.  Maybe
Carnegie Mellon?  I'm far from omniscient.

Hey, TinkerCAD is loads of fun for simulating an Arduino, a great sandbox
if you don't have all the components.  I've made some screencasts showing
that. [2]

The Learn to Code movement is having a big impact, to summarize.

Kirby

[1]  http://mathforum.org/kb/thread.jspa?threadID=2870615

[2]  https://youtu.be/AB7fzNK6vjs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/edu-sig/attachments/20170724/dd2edade/attachment.html>


More information about the Edu-sig mailing list