Quantcast

edu-sig in Pythonia

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

edu-sig in Pythonia

kirby urner-4

A few of us at Pycon were nodding heads (+1ing)
over the idea that our subculture / ethnicity could
evolve these "canned talks" that different people
deliver in their personalized style.  More than that,
they demonstrate new "teaching techniques" such
that the audience might appreciate how advances
in pedagogy -- and in andragogy -- still occur.

Consider the O'Reilly 'Head First Into...' series.
Like 'for Dummies', it explains up front that there's
psychology at work, smart cookies have baked a
new mix of graphic art, sound bites, who knows
what's coming, and you, the reader / student are
in for a treat.  But then books, like videos, are a
somewhat passive medium.  Once you jump on
that gym equipment, that treadmill, that weight
pump, you know there's more to the educational
experience than having your butt in a chair.

Among the canned topics would be ArgsKwargs.
Everyone learning Python needs to keep spiraling
through the ArgsKwargs literature, wherein we do
what in other languages might be called gathering
and scattering.  The star and double star, which
C-language readers are used to seeing anyway
in function headers etc., have become scavengers,
accepting / liberal "all may pass" type guards at the
gate (function entrance), and yet still there are rules
(positionals before keyword).  Used when passing
arguments, the star and double-star are "exploders"
(scatterers), setting free their tuples and dicts to
mingle as individuals.

>>> def baby(skin="soft", noise_might_be = "crying", **blahblah):
    print ("Hey baby, I notice the {} skin, and the {} noise you're making".format(skin, noise_might_be))
    print(blahblah)

   
>>> random_keys = {"safe":"12-15-44", "skin":"purple", "tomorrow":"wash car"}
>>> baby(**random_keys)
Hey baby, I notice the purple skin, and the crying noise you're making
{'safe': '12-15-44', 'tomorrow': 'wash car'}

Another canned talk -- could be lightning format --
is IterStuff, beginning with the difference between
an iterator and an iterable, climbing through
generators (with plenty of send use) to iterator
defining classes, to itertools more generally, and
a discussion of "just in time" versus pre-stocking
memory with impossibly huge inventories.

Here I'd suggest a lore-based approach wherein
we go over how Python itself has become ever more
fascinated with iterators.  How is it that a range class
object is a sequence (indexable) whereas the
dict_items object is not (not indexable)?

>>> dict(a=1,b=2).items()[0]
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    dict(a=1,b=2).items()[0]
TypeError: 'dict_items' object does not support indexing
>>> range(2)[0]
0

Then there'd be the protocol talks i.e. lets talk about
interfaces in the abstract.  The iterator is our first example,
in being about having __iter__ and __next__.  Then
comes the descriptor and its interface / protocol.

The point being:  we should always have these talks.

There will always be people new to Python (in this
model), or people wanting a refresher and (here's
the kicker) people needing practice in their teaching
techniques in front of an audience that's already very
much in the ballpark (already at a Pycon, not just
casually dropping by to see what this might be about).

Also:  the people most interested in teaching Python,
such as here on edu-sig, should be most involved in
organizing this track. 

The track of standard topics, things we all need to
know -- but how best to share?  That track and that
question are one of our angles / self-chosen
responsibilities, along with the poster session.

I would extend this philosophy to say edu-sig types
should also take some 3rd party modules under their
collective wing, by which I mean to include such worthies
as:  Visual Python, I-Python, matplotlib, numpy, Blender
and web frameworks (including Google App Engine).

OK, now that's starting to sound like a complete Pycon,
not just a track.  Fair enough. 

The edu-sig "base" is around a track of core topics. 
Then each topic is conceived to "branch off" into
various "worlds" or "namespaces".  E.g the IterStuff
branches off into Twisted and asynchronous techniques
such as David Beazely has specialized in inventing and
teaching.  We'd need more diagrams, roadmaps, to
show the "lay of the land" (Pythonia).  Seeing it one
way doesn't preclude also seeing it in other ways too.

Kirby


_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: edu-sig in Pythonia

DeanG
+1

Regarding the  Args Kwargs, Matt Harrisons "Guide to: Learning Python
Decorators" was a great read for this topic.
http://www.amazon.com/Guide-Learning-Python-Decorators-ebook/dp/B006ZHJSIM


On Mon, Apr 2, 2012 at 11:52 AM, kirby urner <[hidden email]> wrote:

>
> A few of us at Pycon were nodding heads (+1ing)
> over the idea that our subculture / ethnicity could
> evolve these "canned talks" that different people
> deliver in their personalized style.  More than that,
> they demonstrate new "teaching techniques" such
> that the audience might appreciate how advances
> in pedagogy -- and in andragogy -- still occur.
>
> Consider the O'Reilly 'Head First Into...' series.
> Like 'for Dummies', it explains up front that there's
> psychology at work, smart cookies have baked a
> new mix of graphic art, sound bites, who knows
> what's coming, and you, the reader / student are
> in for a treat.  But then books, like videos, are a
> somewhat passive medium.  Once you jump on
> that gym equipment, that treadmill, that weight
> pump, you know there's more to the educational
> experience than having your butt in a chair.
>
> Among the canned topics would be ArgsKwargs.
> Everyone learning Python needs to keep spiraling
> through the ArgsKwargs literature, wherein we do
> what in other languages might be called gathering
> and scattering.  The star and double star, which
> C-language readers are used to seeing anyway
> in function headers etc., have become scavengers,
> accepting / liberal "all may pass" type guards at the
> gate (function entrance), and yet still there are rules
> (positionals before keyword).  Used when passing
> arguments, the star and double-star are "exploders"
> (scatterers), setting free their tuples and dicts to
> mingle as individuals.
>
>>>> def baby(skin="soft", noise_might_be = "crying", **blahblah):
>     print ("Hey baby, I notice the {} skin, and the {} noise you're
> making".format(skin, noise_might_be))
>     print(blahblah)
>
>
>>>> random_keys = {"safe":"12-15-44", "skin":"purple", "tomorrow":"wash
>>>> car"}
>>>> baby(**random_keys)
> Hey baby, I notice the purple skin, and the crying noise you're making
> {'safe': '12-15-44', 'tomorrow': 'wash car'}
>
> Another canned talk -- could be lightning format --
> is IterStuff, beginning with the difference between
> an iterator and an iterable, climbing through
> generators (with plenty of send use) to iterator
> defining classes, to itertools more generally, and
> a discussion of "just in time" versus pre-stocking
> memory with impossibly huge inventories.
>
> Here I'd suggest a lore-based approach wherein
> we go over how Python itself has become ever more
> fascinated with iterators.  How is it that a range class
> object is a sequence (indexable) whereas the
> dict_items object is not (not indexable)?
>
>>>> dict(a=1,b=2).items()[0]
> Traceback (most recent call last):
>   File "<pyshell#0>", line 1, in <module>
>     dict(a=1,b=2).items()[0]
> TypeError: 'dict_items' object does not support indexing
>>>> range(2)[0]
> 0
>
> Then there'd be the protocol talks i.e. lets talk about
> interfaces in the abstract.  The iterator is our first example,
> in being about having __iter__ and __next__.  Then
> comes the descriptor and its interface / protocol.
>
> The point being:  we should always have these talks.
>
> There will always be people new to Python (in this
> model), or people wanting a refresher and (here's
> the kicker) people needing practice in their teaching
> techniques in front of an audience that's already very
> much in the ballpark (already at a Pycon, not just
> casually dropping by to see what this might be about).
>
> Also:  the people most interested in teaching Python,
> such as here on edu-sig, should be most involved in
> organizing this track.
>
> The track of standard topics, things we all need to
> know -- but how best to share?  That track and that
> question are one of our angles / self-chosen
> responsibilities, along with the poster session.
>
> I would extend this philosophy to say edu-sig types
> should also take some 3rd party modules under their
> collective wing, by which I mean to include such worthies
> as:  Visual Python, I-Python, matplotlib, numpy, Blender
> and web frameworks (including Google App Engine).
>
> OK, now that's starting to sound like a complete Pycon,
> not just a track.  Fair enough.
>
> The edu-sig "base" is around a track of core topics.
> Then each topic is conceived to "branch off" into
> various "worlds" or "namespaces".  E.g the IterStuff
> branches off into Twisted and asynchronous techniques
> such as David Beazely has specialized in inventing and
> teaching.  We'd need more diagrams, roadmaps, to
> show the "lay of the land" (Pythonia).  Seeing it one
> way doesn't preclude also seeing it in other ways too.
>
> Kirby
>
>
> _______________________________________________
> Edu-sig mailing list
> [hidden email]
> http://mail.python.org/mailman/listinfo/edu-sig
>
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: edu-sig in Pythonia

kirby urner-4
On Mon, Apr 2, 2012 at 10:07 AM, DeanG <[hidden email]> wrote:
+1

Regarding the  Args Kwargs, Matt Harrisons "Guide to: Learning Python
Decorators" was a great read for this topic.
http://www.amazon.com/Guide-Learning-Python-Decorators-ebook/dp/B006ZHJSIM



I'm quite tempted to buy a Kindle.  I had no idea there was a whole Kindle book on decorators.

Yes, decorators would have to be another one of those Standard Gotta Have It track talks we edu-siggers are focused on.

ArgsKwags, IterStuff, Decorators, Metaclasses, Introspection... Dialectical Differences

Library:  talks always welcome, standard usergroup fare (Portland's groups always has Module of the Month)

3rd party:  IDEs (e.g. I-Python), VIsualization (e.g. Blender, VPython, Pygame, matplotlib). Web (Django, web2py, Google App Engine)

Python plays well with others, so a lot of Design Patterns stuff relating to OO in general would could push off to those OSCON type events where we have Java, Python, Ruby, Perl, C++ all under one big tent.

There should be like OO track topics that don't count against the Python quota, if ya know what I mean.

Kirby
 


_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: edu-sig in Pythonia

Matt Harrison-4
Dean-

Thanks for including me on this topic. (Just subscribed to the list).

Rest-

As the author of said book, tutorial presenter at PyCON and co-wrangler of the local Python group, I think it is important to remember the newbies. My Intermediate Python tutorial has consistently been one of the top PyCon tutorials. It doesn't have really anything new, but condenses a lot of information that I wish someone had provided to me. It is nothing sexy, but is a stepping stone for more advanced stuff. My short books are an attempt to provide these stepping stones in a condensed format. The assumption that all attendees are experts at PyCON, local user groups, etc is not true. There are quite a few people interested in the stone stepping.

-matt

_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Loading...