[Edu-sig] what is ~fluent Python?

kirby urner kirby.urner at gmail.com
Tue Feb 2 04:28:55 EST 2016


Nobody wants to admit to not having some command of a language, just people
need to use languages to different levels, human as well as computer
(language).

In saying "workaday" or "everyday" Python I suppose I'm circling the word
"mundane"?

We remember that Scheme (PLT version in particular) came with "levels" i.e.
one could actually set a global that predetermined which features would be
usable.

In Python we might imagine, but never had:
from __level1__ import *

That's more just a figure of speech anyway.

Here's what our head instructor considers "yellow belt Python" (like first
level from none):


The outline of what she wants covered (with my additions in red for the
accelerated course) is:

The concepts the core programming concepts students are expected to know
> and be comfortable with on completion of the intro course are:
>
*-* variables
> *- *strings (*ascii vs. unicode*)
> *- *(*bytes*)
>
*-* ints (*floats, Decimal, Fraction*)
> *- *basic string concatenation (*str.format method*)
> - basic int math
> - *datetime and calendar math*
>
- Boolean conditionals
> - what a loop is
>
> Students should have exposure to and some practice with, in order of
> familiarity:
> - if/elif/else
> - while loops
> - for loops
> *- *functions
> - Lists (*tuples*, *namedtuples*)
> - Dictionaries (*sets*)
> - Classes
>

This 45 minute Youtube, Python in 45 Minutes, covers about everything
covered in the Intro Class:

http://mybizmo.blogspot.com/2016/01/code-school-syllabus.html  (my blogged
review)

I've added in red-bold what I consider to distinguish the "accelerated"
class I'm teaching versus their conventional Intro course (they decided to
do something more experimental in my case -- good show of flexibility).
However in the edu-sig archives that coding won't be in the default view.
No big deal.

Missing from the above?

Quite a lot of course, starting with generators and decorators.  Also
missing completely is file i/o, which we have to add (the outline was just
a back of the napkin thing, nothing hard-coded, open to suggestions...).
The point is to set levels, i.e. expectations.  I think a lot of teachers
would drop out classes whereas our guidelines say to get there, but not
right away (I tend to jump the gun).

I think namedtuples are especially good at bridging the gap from a
primitive tuple, which we all understand (some "we" that applies), to an
object that accepts dot notation.  With namedtuple P = namedtuple('Point',
'a b c d') one may have p = P(1, 0, 0, 0) and get p.a and p.b, as well as
string 'Point' in the __repr__.

Kirby
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/edu-sig/attachments/20160202/bf1f0fe5/attachment.html>


More information about the Edu-sig mailing list