[omaha] Python Workshops @ DoSpace Group

Burch Kealey bkealey at unomaha.edu
Sun Jan 3 21:36:57 EST 2016


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


More information about the Omaha mailing list