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
_______________________________________________ Edu-sig mailing list Edu-sig@python.org https://mail.python.org/mailman/listinfo/edu-sig