[Edu-sig] What to teach: sorting algorithms vs OOP?

kirby urner kirby.urner at gmail.com
Thu Aug 16 14:24:22 EDT 2018


I'm glad Tobias took the bull by the horns and didn't eschew  a deeper look
into the sorting algorithms.

As a big fan of animations, my reflex is to scour Youtube for graphical
renderings of the different strategies, but then another thought crops up:
lets get out of our seats and do choreography, Math is an Outdoor Sport!
(PR poster). I should explain.

The relationships between programming and scripting theater "programmes"
(old spelling) are deep. Give each student a postit with a number and have
them *enact* the sorting algorithm.  E.g. starting in a row, turn to person
on your left (if there is one) and swap places if your postit number is
higher...  have directors  and make a video.  Now choreograph (enact,
dance) in a different way.

Symphonies, plays, musicals, are so multi-track, so parallel, and yet we
fail to exploit those intuitions sometimes.

Let the Theater Department handle it, in consultation with CS.  Could go
under the heading of "Unplugged".  Likely the Hobbits are already doing
this in New Zealand (NZ has pioneered unplugged more than most, plus has
Hobbits).

Seriously, having lived in the Philippines where people routinely learn
group dancing, I'm worried about only acting as teams in three capacities
(a) cheerleader (b) athlete on the field (c) band.  Theater is being
eliminated in favor of competitive sports.  Perhaps CS could come to the
rescue and say "wait, we need Theater for our simulations".

More cerebral team-based activities might go a long way towards fighting
the stereotype that computer programmers  only live in artificially lit
basements eating pizza.  That's a physically damaging lifestyle, nothing to
do with writing code or even doing math.

===

Regarding last night's tele-class (real time, zoom.us), I worked through
"cloning a github repo" as the core exercise, a repeat from last week, then
went through the process of updating a notebook live, and pushing the
changes back to the repo.

The repo was of course the one with yesterday's Jupyter Notebook about
Ordering Polyhedrons by volume.

https://github.com/4dsolutions/SAISOFT

I tell them "cloning a github repo" is going to be important for when they
want like a Jake Vanderplas tutorial, i.e. when they want to study a topic
in more depth and the workshop is (A) on Youtube or similar service and (B)
the workshop materials are free via github (a common enough pattern).

I also reminded them how Google shares TensorFlow in the form of Colab
exercises (Jupyter Notebooks).

One students asked "R or Python, which is winning in Data Science"?

My answer:  pandas is a relatively recent development and there's already
lots of excellent curriculum based around R, which is likewise free / open
source. The business world is rushing into Python because of DL / ML and so
gains an R-like tool in the process, which enables better town-gown
relations i.e. Harvard can talk to Facebook about Pytorch thanks to already
teaching R in the stats department.

In other words, it's not either/or, more like two communities forming a
bridge via the common language of data science, which R and Python both
reflect (as do some other languages / ecosystems, not aiming for
comprehensivity here).

Kirby



On Wed, Aug 15, 2018 at 10:04 AM, Tobias Kohn <kohnt at tobiaskohn.ch> wrote:

> Hi Jurgis,
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/edu-sig/attachments/20180816/74802801/attachment.html>


More information about the Edu-sig mailing list