[omaha] Python Workshops @ DoSpace Group

Wes Turner wes.turner at gmail.com
Thu Jan 7 11:58:00 EST 2016


awesome-python-testing
https://westurner.org/wiki/awesome-python-testing#python

* https://learnxinyminutes.com/docs/python/
* https://www.class-central.com/search?q=python

*
https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks
  ( pip install -r requirements.txt [docker [ nbspawner  ] )
  * https://github.com/jupyter/jupyterhub/wiki/Spawners


...

SoftwareCarpentry

* http://software-carpentry.org/lessons/
* | Site: http://swcarpentry.github.io/python-novice-inflammation
* | Src: https://github.com/swcarpentry/python-novice-inflammation

* https://swcarpentry.github.io/slideshows/teaching-tips/index.html

  * #ActiveLearning


On Thu, Jan 7, 2016 at 10:51 AM, Wes Turner <wes.turner at gmail.com> wrote:

>
>
> On Tue, Jan 5, 2016 at 8:35 PM, Burch Kealey via Omaha <omaha at python.org>
> wrote:
>
>> I apologize for the delay.  We release a new version of our software on
>> Friday - switching to a C# harness with Python code when we need to be
>> brilliant!
>>
>>
>> I don't disagree with anything said below.  I just wanted to be sure to
>> advocate for the person who does not want to be perfect - just get
>> something done.
>>
>> Here is an example of something that I think underscores the issues
>>
>>
>> http://stackoverflow.com/questions/34603348/how-to-add-a-key-value-list-to-a-json-dict/34603502#34603502
>>
>> I am Pynewbie.  So ShadowRanger is ignoring the fact that it takes a ton
>> of knowledge to even think of the word parser.  Further, I went and looked
>> at the links and tried to read the example and I was feeling overwhelmed.
>> So I get the best solution would be ShadowRanger's but second best works
>> often.  If you are building production code then developing an parser might
>> be worth the investment but if you have this messy file you need now and
>> you are a scientist then second best is probably your path.
>>
>
> *Scipy-lectures, Python Documentation, awesome-python-testing*
>
> Rosalind.info has a number of introductory Python exercises and
> algorithms. The glossary is really helpful.
>
> * | Glossary: http://rosalind.info/glossary/
> * | Docs: Rosalind Python Village problem list view:
> http://rosalind.info/problems/list-view/?location=python-village
>
> * http://rosalind.info/problems/ini3/ #  solved by 11511
>   * Click to Expand
> * http://rosalind.info/problems/ini6/ #  "Dictionaries" solved by 5565
>
>
> * http://www.scipy-lectures.org/intro/language/python_language.html
> * https://docs.python.org/2/tutorial/datastructures.html#sets
> *
> http://www.scipy-lectures.org/intro/language/basic_types.html#dictionaries
> * https://docs.python.org/2/tutorial/datastructures.html#dictionaries
> *
>
>
> *Set Theory*
> * | Wikipedia: https://en.wikipedia.org/wiki/Set_theory
> * | Wrdrdocs:
> https://wrdrd.com/docs/consulting/knowledge-engineering#set-theory
> ** | *RosalindProblem: Introduction to Set Operations:
> http://rosalind.info/problems/seto/
>
> *Graphs*
> * | Wikipedia:
> * | Wrdrddocs:
> https://wrdrd.com/docs/consulting/knowledge-engineering#graphs
>
>
> *Topological Sorting*
> * | Wikipedia: https://en.wikipedia.org/wiki/Topological_sorting
> * | Wrdrddocs:
> https://wrdrd.com/docs/consulting/knowledge-engineering#topological-sorting
> * Rosalind.info > Glossary > "Algo: Topological Sorting"
>   http://rosalind.info/glossary/algo-topological-sorting/
>
>
>
>> We will talk more about this at the meeting.  I will observe now and talk
>> about this in the meeting that ppt slides are not so good for kids - okay
>> for adults but not for kids.  I make my kids write down anything that I
>> think I want on a slide.
>>
>
>
> *Jupyter and Learning*
> * | Wrdrddocs:
> https://wrdrd.com/docs/consulting/education-technology#jupyter-and-learning
> * | Wrdrdtools: https://wrdrd.com/docs/tools/#jupyter
> * | Wrdrdtools: https://wrdrd.com/docs/tools/#jupyter-drive # GDrive
> storage
>
>
> *nbgrader*
> * | Wrdrdtools: https://wrdrd.co* m/docs/tools/#nbgrader
> * | Wrdrdtools:
> https://wrdrd.com/docs/consulting/education-technology#nbgrader
>
> *RISE*
> * | Src: https://github.com/damianavila/RISE
>
> RISE: "Live" Reveal.js Jupyter/IPython Slideshow Extension [ live_reveal ]
>
> Reveal.js
> * | Homepage: http://lab.hakim.se/reveal-js/#/
> * | Source: https://github.com/hakimel/reveal.js/
>
>
>> Please understand, I am not being critical I just want to make these
>> observations because I am a cranky middle aged man.
>>
>
> Are you preparing students for a problem-solving business-like scientific
> context and/or for creative problem solving?
>
> * Linked Curricula Graphs
>   #RDFa #JSONLD
>   https://westurner.org/opengov/us/ne/index#linked-curricula-graphs
>
>
> * *schema.org/Course <http://schema.org/Course>*
>   #RDFa #JSONLD
>   https://westurner.org/opengov/us/ne/index#schema-org-course
>
>
>
>
> .. index:: Graphs
> .. _graphs:
>
> Graphs
> ````````
> | Wikipedia: `<https://en.wikipedia.org/wiki/Graph_(abstract_data_type)>`__
> | Wikipedia: `<https://en.wikipedia.org/wiki/Graph_(mathematics)>`__
> | Wikipedia: `<https://en.wikipedia.org/wiki/Graph_theory>`__
> | Docs: https://en.wikipedia.org/wiki/Conceptual_graph
> | WikipediaCategory: `<https://en.wikipedia.org/wiki/Category:Graphs>`__
> | WikipediaCategory: `<https://en.wikipedia.org/wiki/Category:Graph_data_structures>`__
> | WikipediaCategory: `<https://en.wikipedia.org/wiki/Category:Graph_theory>`__
>
> A graph is a :term:`system` of nodes connected by edges;
> an abstract data type for which there are a number of
> suitable data structures.
>
> * A node has edges.
> * An edge connects nodes.
>
> * Edges of **directed graphs** flow in only one direction;
>   and so require two edges with separate attributes
>   (e.g. 'magnitude', 'scale'
>
>   | Wikipedia: https://en.wikipedia.org/wiki/Directed_graph
>
> * Edges of an **undirected graph** connect nodes
>   in both directions (with the same attributes).
>
>   | Wikipedia: `<https://en.wikipedia.org/wiki/Graph_(mathematics)#Undirected_graph>`__
>
> * Graphs and :ref:`trees` are **traversed** (or *walked*);
>   according to a given algorithm (e.g. :ref:`DFS`, :ref:`BFS`).
>
> * Graph nodes can be listed in many different *orders*
>   (or with a given *ordering*):
>
>   * Preoder
>   * Inorder
>   * Postorder
>   * Level-order
>
> * There are many :ref:`data structure <data structures>`
>   representatations for :ref:`graphs`.
>
> * There are many data serialization/marshalling
>   formats for graphs:
>
>   * Graph edge lists can be stored as adjacency :ref:`matrices <matrix>`.
>   * :ref:`NetworkX` supports a number of graph storage formats.
>   * :ref:`RDF` is a :ref:`standard semantic web <semantic web standards>`
>     :ref:`linked data` format for :ref:`graphs`.
>   * :ref:`JSON-LD` is a :ref:`standard semantic web <semantic web standards>`
>     :ref:`linked data` format for :ref:`graphs`.
>
> * There are many :ref:`Graph Databases` and :ref:`triplestores`
>   for storing graphs.
>
> * A cartesian product has an interesting graph representation.
>   (See :ref:`compression algorithms`)
>
>
> .. index:: NetworkX
> .. _networkx:
>
> NetworkX
> ~~~~~~~~~~~
> | Wikipedia: https://en.wikipedia.org/wiki/NetworkX
> | Homepage: https://networkx.github.io/
> | Source: git https://github.com/networkx/networkx
> | Docs: https://networkx.github.io/documentation.html
> | Docs: https://networkx.github.io/documentation/latest/
> | Docs: https://networkx.github.io/documentation/latest/tutorial/
> | Docs: https://networkx.github.io/documentation/latest/reference/classes.html
> | Docs: https://networkx.github.io/documentation/latest/reference/algorithms.html
>
> NetworkX is an :ref:`open source` graph algorithms library
> written in :ref:`Python`.
>
>
>>
>> ________________________________________
>> From: Omaha <omaha-bounces+bkealey=mail.unomaha.edu at python.org> on
>> behalf of Jeff Hinrichs - DM&T via Omaha <omaha at python.org>
>> Sent: Tuesday, January 5, 2016 12:42 AM
>> To: Omaha Python Users Group
>> Cc: Jeff Hinrichs - DM&T
>> Subject: Re: [omaha] Python Workshops @ DoSpace Group
>>
>> @Steve, given the enthusiasm for youth programming at the last meeting,
>> the
>> first course I thought we'd work on, py100, for beginning / new
>> programmers
>> who are interested in learning Python with a class time of 2 hours (1.5
>> actual) with a goal of a lab/student exercise every 12 minutes.  I figure
>> on average 8 minutes per lab giving 4 minutes of lecture and slides per
>> lab.  All of which is complete speculation at this point but I believe the
>> twice as much lab as talk is a valid starting point. *wink*    It is a
>> very
>> fundamental programming with Python where one of our goals should be to do
>> no harm if an attendee wants to go farther.
>>
>> @adam, There is absolutely no reason why we couldn't create classes for
>> other categories of students.  My working idea is PySchool, some courses
>> (if we get there) can have pre-requisites others ,like py100, will have no
>> pre-reqs.
>>
>>
>>
>> On Mon, Jan 4, 2016 at 6:12 PM, Steve Young via Omaha <omaha at python.org>
>> wrote:
>>
>> > Adam brought up a good point to consider.  Are you aiming for people
>> with
>> > little to no programming experience (which is what I was thinking) or
>> > experienced programmers wanting to learn python?
>> >
>> > Steve
>> >
>> > On Mon, Jan 4, 2016 at 8:04 AM, Adam Schaal via Omaha <omaha at python.org
>> >
>> > wrote:
>> >
>> > > *I should clarify this terrible sentence:*
>> > > "For example, if you have defined methods/functions and tell them to
>> > create
>> > > their own, I think it's far more likely that they'll copy the way
>> you've
>> > > created a method/function, then to fill our it's inner workings. "
>> > >
>> > > *What I meant to say was:*
>> > > "For example, if you have defined methods/functions and tell them to
>> > create
>> > > their own, I think it's far more likely that students would enjoy
>> copying
>> > > the way these are already created in the file then filling our the
>> inner
>> > > workings of one created for them."
>> > >
>> > >
>> > >
>> > >
>> > > On Mon, Jan 4, 2016 at 8:00 AM, Adam Schaal <adam at scha.al> wrote:
>> > >
>> > > > When I go to a workshop like this, I tend to have more fun/interest
>> if
>> > > I'm
>> > > > challenged.  While I appreciate the fact that you'd like to
>> introduce
>> > > > excellent coding practices by having a majority of the file coded, I
>> > > > encourage you to leave a good chunk to the user.  For example, if
>> you
>> > > have
>> > > > defined methods/functions and tell them to create their own, I think
>> > it's
>> > > > far more likely that they'll copy the way you've created a
>> > > method/function,
>> > > > then to fill our it's inner workings.  Perhaps, that's already what
>> you
>> > > > were thinking, but I just wanted to clarify.
>> > > >
>> > > > Learning Python was extremely applicable when I was solving ACM-like
>> > > > algorithm challenges - I like the idea of converting programmers
>> into
>> > > > python devs - maybe even in other fields.  I think that a
>> > > challenge/problem
>> > > > like that where a programmer can clearly see python's advantages
>> over
>> > > other
>> > > > languages would be a valuable asset to the class.
>> > > >
>> > > > With all this said, I'm still a relative beginner - maybe even your
>> > > target
>> > > > demo - so take what I say with a grain of salt.
>> > > >
>> > > > Adam Schaal
>> > > >
>> > > >
>> > > > On Sun, Jan 3, 2016 at 11:11 PM, Jeff Hinrichs - DM&T via Omaha <
>> > > > omaha at python.org> wrote:
>> > > >
>> > > >> Burch,
>> > > >> I think you are hitting the nail on the head. And it is good that
>> you
>> > > are
>> > > >> pointing out that the goal might appear to be too geared to a
>> > > programming
>> > > >> as a profession.  I am glad that you said something, because I am
>> > > looking
>> > > >> to approach this the other way round.  That is to inspire
>> programming
>> > in
>> > > >> other professions.   With the current push on in the sciences for
>> > > >> repeatable results in data analysis, I would think that within the
>> > next
>> > > >> decade that anyone who works with data for a profession (not
>> > > programmer's
>> > > >> but analysts, scientists, etc.) would be ill equipped if they can't
>> > > >> wrangle
>> > > >> data.
>> > > >>
>> > > >> To that end, many just like you and myself (when I attended
>> college,
>> > you
>> > > >> only received 1 credit hour for a language class.  They were
>> > graduating
>> > > >> Computer Scientists not programmers.) pick up a language or other
>> > tool,
>> > > >> based on our ability and the reference material that we have at
>> hand
>> > (or
>> > > >> online).  And that first exposure sits like concrete, as you
>> stated.
>> > The
>> > > >> example you sited about file handling is very insightful and I
>> think
>> > > lends
>> > > >> credence to my goal of making the first contact for those new to
>> > > >> programming as positive as we can.
>> > > >>
>> > > >> My goal is to have the examples that we show to the class be as
>> good
>> > as
>> > > we
>> > > >> can make them.  Be written in a way that lends itself to good
>> > convention
>> > > >> and best current practices.  So that when we show students example
>> > code
>> > > --
>> > > >> it is of good quality, not a questionable example that was thrown
>> > > together
>> > > >> to demonstrate one thing while completely ignoring all other good
>> > > >> practices.  I believe the examples we pick for use in these still
>> > > >> fictional
>> > > >> classes should show not only what we want to demonstrate on the
>> micro
>> > > >> level
>> > > >> but also be a good example on the macro level.  So that if a
>> > > >> student/attendee used one of our examples as a starting point for
>> > > >> something
>> > > >> bigger, they would be on good footing.   When people first start
>> > > >> programming we don't write code as much as borrow it from other
>> > places.
>> > > >> *wink*   My goal is to create the best quality code examples, that
>> > they
>> > > >> can
>> > > >> borrow for other things.
>> > > >>
>> > > >> Also, for beginners a blank file is too much.  The examples I've
>> come
>> > up
>> > > >> with so far require that they fill in the missing pieces,
>> concatenate
>> > > some
>> > > >> strings here, finish out the function body there, but the rest of
>> the
>> > > code
>> > > >> should be stellar because we wrote it for them.  Doc strings where
>> > they
>> > > >> belong, conventions followed for naming variables (no more i, j, k
>> > which
>> > > >> dominate in Fortran or x and y like it is a math problem)with
>> > > descriptive
>> > > >> names.  So that when the time comes for a student to create a
>> variable
>> > > out
>> > > >> of thin air they will be more likely to be descriptive too.  But
>> even
>> > if
>> > > >> they don't use descriptive names students won't be berated, what
>> > matters
>> > > >> is
>> > > >> that code does what is intended.
>> > > >>
>> > > >> As for testing, I am not going to try and sell you on it.  (Like
>> > backup
>> > > >> and
>> > > >> restore, most are not concerned until the ugly happens.) I am not
>> even
>> > > >> planning on talking about it in these opening workshops.  However,
>> > that
>> > > >> doesn't mean I am going to favor code examples that are not
>> testable.
>> > > Far
>> > > >> from it.  Everyone of my current example exercises has associated
>> > tests.
>> > > >> The students won't run the tests but my agent, sam will.  When they
>> > > finish
>> > > >> an exercise I'll know, as sam will let me know their code is
>> running
>> > and
>> > > >> passing the tests.  That also requires that the creator of the
>> > specific
>> > > >> lab
>> > > >> write in a way that is testable.  However, none of this is a
>> burden to
>> > > the
>> > > >> student as they are not going to be running the tests or even
>> thinking
>> > > >> about creating testable code but they'll be learning it
>> subliminally.
>> > > >>
>> > > >> And now that I've used the word, subliminal -- I just realized that
>> > was
>> > > my
>> > > >> goal all the time.  In each example, given on a slide or as an
>> > exercise
>> > > >> there is the part that you are talking about discretely.  Focusing
>> on
>> > > that
>> > > >> topic.  However, the surrounding and supporting code is also
>> teaching
>> > > and
>> > > >> informing the student.  That is the part that needs more love in
>> just
>> > > >> about
>> > > >> every example I've seen on the internet.
>> > > >>
>> > > >> If none of this made sense or you still don't agree (However, I
>> think
>> > > that
>> > > >> I'm tripping over myself agreeing with you.) please say so.  The
>> point
>> > > of
>> > > >> this thread is to have a conversation where we can flesh out some
>> > > >> reasonable goals and then see if we can meet them.  So if you are
>> > > reading
>> > > >> this and have an opinion, a point, a question then please, please
>> > chime
>> > > >> in.
>> > > >>
>> > > >>
>> > > >>
>> > > >>
>> > > >> On Sun, Jan 3, 2016 at 8:36 PM, Burch Kealey via Omaha <
>> > > omaha at python.org>
>> > > >> wrote:
>> > > >>
>> > > >> >
>> > > >> > I will make an observation - this is not meant to be critical
>> but I
>> > > want
>> > > >> > you (collectively) to chew on it.  If I want to learn to be a
>> > > >> programmer I
>> > > >> > would look for a well structured learning path.  If I want to
>> learn
>> > to
>> > > >> do
>> > > >> > things to make my life easier I am not sure I want to take the
>> same
>> > > >> path as
>> > > >> > if I wanted to learn to be a programmer.
>> > > >> >
>> > > >> > This note is sent in response to both Jeff's and Wes's posting.
>> > > Please
>> > > >> I
>> > > >> > am not trying to be critical but you guys are programmers by
>> > training
>> > > >> and
>> > > >> > vocation I am not.  I don't have the time to learn to be a
>> > programmer.
>> > > >> > Unit Tests, what the heck are those?  Why do I care?
>> > > >> >
>> > > >> > I ask a question on SO and a bunch of idiots jump up and are
>> > critical
>> > > >> for
>> > > >> > the fact that my code is not PEP 8 compliant - okay it makes them
>> > feel
>> > > >> good
>> > > >> > but it does not help me.  For example, for the longest time (
>> say 5
>> > > >> years)
>> > > >> > when I opened and read a file I would do this
>> > > >> >
>> > > >> > mydata = open('some file path','r').readlines()
>> > > >> >
>> > > >> > That is not PEP 8 compliant (I don't think), but when I first
>> > Googled
>> > > to
>> > > >> > learn how to open a file and read the contents into a list - I
>> think
>> > > >> this
>> > > >> > is the webpage I found
>> > > >> >
>> > > >> > http://openbookproject.net/pybiblio/tips/wilson/loadingfile.php
>> > > >> >
>> > > >> > It was only this year that I took the time to learn the right way
>> > > >> >
>> > > >> > with open('some file path','r') as f_handle:
>> > > >> >     data = f_handle.readlines()
>> > > >> >
>> > > >> > Why did I not bother learning the right way before this year, I
>> was
>> > > too
>> > > >> > busy learning how to do other things and it was working for me.
>> Why
>> > > >> did I
>> > > >> > even bother learning the right way, because I got sick of the way
>> > the
>> > > >> > conversation would get channeled if I had a question or comment
>> > about
>> > > >> > something and the pros would say well you are not opening the
>> file
>> > > >> right.
>> > > >> > My response is who gives a drat, that is not the problem, but
>> they
>> > are
>> > > >> > stuck on that issue.
>> > > >> >
>> > > >> > I am probably not explaining this well - certainly you want to
>> teach
>> > > >> > people the right way but I would be careful about how far you
>> take
>> > it.
>> > > >> Our
>> > > >> > software is used by over 5,000 people and I have never written a
>> > unit
>> > > >> test
>> > > >> > (have no clue).  I know that is not a big number but it is the
>> > amazing
>> > > >> > thing about Python.
>> > > >> >
>> > > >> > Don't cringe, drink some OJ!
>> > > >> >
>> > > >> > Just an observation.
>> > > >> >
>> > > >> > Happy New Year
>> > > >> >
>> > > >> > Burch
>> > > >> > ________________________________________
>> > > >> > From: Omaha <omaha-bounces+bkealey=mail.unomaha.edu at python.org>
>> on
>> > > >> behalf
>> > > >> > of Wes Turner via Omaha <omaha at python.org>
>> > > >> > Sent: Sunday, January 3, 2016 8:12 PM
>> > > >> > To: Omaha Python Users Group
>> > > >> > Cc: Wes Turner
>> > > >> > Subject: Re: [omaha] Python Workshops @ DoSpace Group
>> > > >> >
>> > > >> > https://wrdrd.com/docs/tools/#python
>> > > >> > * http://learnxinyminutes.com/docs/python/ # ./git
>> > > >> >
>> > > >> > "[omaha] For Python beginners"
>> > > >> > https://mail.python.org/pipermail//omaha/2015-May/001816.html
>> > > >> >
>> > > >> > * http://docs.python.org/tutorial
>> > > >> > *
>> > > https://scipy-lectures.github.io/intro/language/python_language.html
>> > > >> > * https://github.com/audreyr/cookiecutter-
>> > > >> > <https://github.com/audreyr/cookiecutter-pypackage>pypackage
>> > > >> > <https://github.com/audreyr/cookiecutter-pypackage>
>> > > >> >
>> > > >> >   *Create and test a package w/ git[hub] and CI"
>> > > >> >
>> > > >> > * Rosalind [Bioinformatics] exercises are outstanding
>> > > >> >   1. they're already set up for online grading/points
>> > > >> >   2. you get to learn about the domain
>> > > >> >   * | Homepage: http://rosalind.info/
>> > > >> >   * https://wrdrd.com/docs/consulting/data-science#rosalind
>> > > >> >
>> > > >> > * "How to create and *test* a package for your Rosalind
>> solutions"
>> > > >> >
>> > > >> >    * "Testing as a core scientific process #126"
>> > > >> > https://github.com/scipy-lectures/scipy-lecture-notes/issues/126
>> > > >> >
>> > > >> >    * TDD first!
>> > > >> >       [null] hypothesis, code, test!, [commit]
>> > > >> >
>> > > >> >       *
>> > > >> >
>> > > >>
>> > >
>> >
>> https://westurner.org/wiki/awesome-python-testing.html#workflow-evolution
>> > > >> >
>> > > >> >          *
>> > > >> >
>> > >
>> https://wrdrd.com/docs/consulting/education-technology#jupyter-and-tdd
>> > > >> >           *
>> > > >> > https://wrdrd.com/docs/consulting/education-technology#nbgrader
>> > > >> >
>> > > >> > [omaha] November 18 Meeting - Celebrate and Plan!
>> > > >> >
>> https://mail.python.org/pipermail/omaha/2015-November/001943.html
>> > > >> >
>> > > >> > > The software carpentry lessons are great (and designed for
>> group
>> > > >> > instruction IIUC):
>> > > >> > > * https://software-carpentry.org/lessons.html
>> > > >> >
>> > > >> > ...
>> https://westurner.org/opengov/us/ne/#cs-skills-for-stem-fields
>> > :
>> > > >> >
>> > > >> > *
>> > > >>
>> > https://wrdrd.com/docs/consulting/software-development#computer-science
>> > > >> > To all of who offered to help in any form with giving Python
>> > > workshops @
>> > > >> > DoSpace,
>> > > >> >
>> > > >> > I've been hammering out some ideas for a class targeted at those
>> new
>> > > to
>> > > >> > programming in particular.
>> > > >> >
>> > > >> > We should probably start a conversation about it and see what we
>> can
>> > > put
>> > > >> > together.
>> > > >> >
>> > > >> > Here are some goals, because we need to have something to measure
>> > > >> against:
>> > > >> >
>> > > >> > * should allow for students to do something with Python as soon
>> as
>> > > >> possible
>> > > >> > - don't want them bored and inattentive.
>> > > >> >
>> > > >> > * The See/Do affect of examples should have the following
>> qualities:
>> > > >> >
>> > > >> >   * be pep8 compliant (only deviating when we are teaching a
>> > specific
>> > > >> > topic.)
>> > > >> >
>> > > >> >   * be easy to test.  No example has print or input in the middle
>> > of a
>> > > >> > function other than main or one designed to deal with user
>> > > interaction.
>> > > >> > Too many examples mix I/O with processing leaving students with a
>> > > knack
>> > > >> for
>> > > >> > writing hard to test code.  (All example code and problems should
>> > have
>> > > >> an
>> > > >> > associated test suite [py.test] to accompany them.)
>> > > >> >
>> > > >> >   * Should emphasize DRY and only deviate when showing them undry
>> > > >> > situations and how to correct.
>> > > >> >
>> > > >> >   * Early coding problems are often quite boring, so there
>> should be
>> > > >> some
>> > > >> > sort of setup for them, a backstory, to get the students
>> invested in
>> > > >> their
>> > > >> > solution.  For Example - learning comparison operators -- "Sam
>> is a
>> > > >> young
>> > > >> > AI with untrained neural nets and we need to write a module to
>> help
>> > > >> train
>> > > >> > him had to organize two things so he can put them on a shelf in
>> > > order."
>> > > >> >  Sounds a lot more interesting than write a function that
>> compares 2
>> > > >> things
>> > > >> > and output them in order from smallest to largest. *yawn*
>> > > >> >
>> > > >> >
>> > > >> > So what are your ideas?  What are you willing to help out with?
>> > We'll
>> > > >> need
>> > > >> > material reviewers, testers and trainers and TAs for actual
>> classes.
>> > > >> >
>> > > >> >
>> > > >> > I believe someone has offered to be our DoSpace ambassador.
>> Sorry,
>> > > but I
>> > > >> > didn't write down your name at the meeting.  Would you speak up
>> once
>> > > >> again.
>> > > >> >
>> > > >> >
>> > > >> > --
>> > > >> > Best,
>> > > >> >
>> > > >> > Jeff Hinrichs
>> > > >> > 402.218.1473
>> > > >> > _______________________________________________
>> > > >> > Omaha Python Users Group mailing list
>> > > >> > Omaha at python.org
>> > > >> > https://mail.python.org/mailman/listinfo/omaha
>> > > >> > http://www.OmahaPython.org
>> > > >> > _______________________________________________
>> > > >> > Omaha Python Users Group mailing list
>> > > >> > Omaha at python.org
>> > > >> > https://mail.python.org/mailman/listinfo/omaha
>> > > >> > http://www.OmahaPython.org
>> > > >> > _______________________________________________
>> > > >> > Omaha Python Users Group mailing list
>> > > >> > Omaha at python.org
>> > > >> > https://mail.python.org/mailman/listinfo/omaha
>> > > >> > http://www.OmahaPython.org
>> > > >> >
>> > > >>
>> > > >>
>> > > >>
>> > > >> --
>> > > >> Best,
>> > > >>
>> > > >> Jeff Hinrichs
>> > > >> 402.218.1473
>> > > >> _______________________________________________
>> > > >> Omaha Python Users Group mailing list
>> > > >> Omaha at python.org
>> > > >> https://mail.python.org/mailman/listinfo/omaha
>> > > >> http://www.OmahaPython.org
>> > > >>
>> > > >
>> > > >
>> > > _______________________________________________
>> > > Omaha Python Users Group mailing list
>> > > Omaha at python.org
>> > > https://mail.python.org/mailman/listinfo/omaha
>> > > http://www.OmahaPython.org
>> > >
>> > _______________________________________________
>> > Omaha Python Users Group mailing list
>> > Omaha at python.org
>> > https://mail.python.org/mailman/listinfo/omaha
>> > http://www.OmahaPython.org
>> >
>>
>>
>>
>> --
>> Best,
>>
>> Jeff Hinrichs
>> 402.218.1473
>> _______________________________________________
>> Omaha Python Users Group mailing list
>> Omaha at python.org
>> https://mail.python.org/mailman/listinfo/omaha
>> http://www.OmahaPython.org
>> _______________________________________________
>> Omaha Python Users Group mailing list
>> Omaha at python.org
>> https://mail.python.org/mailman/listinfo/omaha
>> http://www.OmahaPython.org
>>
>
>


More information about the Omaha mailing list