[Python-cuba] [RFC] Community-driven platform for running workshops to teach Python programming

kirby urner kirby.urner at gmail.com
Mon May 23 11:44:37 EDT 2016


On Sun, May 22, 2016 at 8:02 PM, Olemis Lang <olemis at gmail.com> wrote:

> Hi everyone !
>
> These days I'm planning to run another session of NodeSchool Havana
> [1]_ and I was wondering whether there is a similar community building
> a decentralized open source and collaborative platform to run
> workshops to teach Python programming . Do you know of anything
> similar ?
>
> .. [1] http://nodeschool.io/havana
>
> --
> Regards,
>
> Olemis - @olemislc
>


I've been polling edu-sig (@python.org) with similar questions, having had
three+ years with an in-house asynchronous so-called Nano, which allowed
Python students to submit programs and quiz answers for evaluation to
human evaluators (called mentors).

When every quiz submission is also an opportunity to ask specific questions
requiring customized sometimes researched answers, you're at one end of
the spectrum.  Everything robo-graded where the machine evaluates in
mere milliseconds, serving millions, is at the other end of said spectrum.

Providing one-on-one coaching through mentor services is not practical in a
real time tutorial or workshop setting.  Even with a one-to-one ratio (not
common), a difficult bug will not yield to scrutiny immediately, and some
concepts (such as 'yield' in Python) take time to digest.  The ideal of
always
sprinting is just not realistic.  A steady climb but with frequent rests is
more
how we develop any kind of muscles, including in a gym.  The mentor and
student need slack, i.e. the liberty to follow their own timelines, not in
lockstep.

The previous paragraph is a thinly disguised advertisement for more
asynchronous platforms coupled to live human mentors who may provide
customized feedback and field student questions.  The robo-grading parlor
is useful to students who also have access to live humans, but over-reliance
on robo-grading is not going to benefit students beyond a certain level.

What Nano did for us is organize student submissions in queues, time
stamped, but returnable in any order.  Our rule was three business days
max for any turnaround, with the average quite a bit less, sometimes
just hours or even minutes.  Sorting by project meant evaluating many
solutions to the same problem and that could be a more productive order
for a mentor, ditto quizzes.  Students could ask for clarification and more
background, and expect considered answers -- just not in real time.

I've also done real time workshops over the web, and that's a different
animal.  Assuming high bandwidth (not always a safe assumption), I've
led groups of 20-21 through 40 hour Python marathons where I talk on
the microphone and share my screen, and they listen and type comments
to a chat window in real time.  There's a place for such pedagogy
(andragogy)
just as there's still plenty of room for real time meetups and having
mentors
and students all in the same room together.

A potential pitfall is either/or thinking and imagining some contest
between
all these modes where in fact such a contest does not exist. They're all
with us to stay.  That being said, finding the right mix or sweet spot is
in
itself a skill and I think we're still in the initial experimental phase of
finding
out how client-server technology is going to change our learning strategies.

I say this in part based on our company's decision to discontinue with Nano
and try something else, disbanding the Nano-based team.  Given I was on
that team, I've continued to have in interest in how to best manage
workflows
in a "learning Python" situation.  Google Classroom was on my radar but I've
not made much headway on that score.  I'd be interested to find out about
more mentor-centric solutions especially (the robo-grader systems already
seem to be doing pretty well).

Kirby
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-cuba/attachments/20160523/00b0f604/attachment.html>


More information about the Python-cuba mailing list