Recommendations for intro to python+programming lecture to Humanities MA students

Nick Sarbicki nick.a.sarbicki at gmail.com
Wed Nov 20 12:41:13 EST 2019


Hi Goktug,

Firstly good luck, inspiring a crowd of people who have never learnt to
code (and probably never expected to) to want to code sounds like a
daunting task.

I think you have broadly the right idea in that you want to spend only a
little bit of time on the basic syntax before demoing what you can do with
the language. I would spend the beginning of the lecture focusing on how
readable code can be - an attempt to make it less scary to people who
haven't touched code before - and then spend the rest of the time showing
the fun things you can do with it.

I can't see trying to take students from no code to competent SciPy users
in one lecture as a possible feat. So it would be best to simply inspire
them to want to learn more themselves. In which case I'd encourage you to
have a think as to what would be the most inspiring examples? Are jupyter
notebooks on their own something that inspires? Probably not - although
they are nice for showcasing code in. Is ETL exciting? Maybe in extremely
rare cases... NLP, AI etc can be pretty fun and powerful. Graphing
libraries such as MatPlotLib as they are visual is always good as well. Can
demo some (probably useless) 3D charts or XKCD mode if you want.

RE Conda and distros - I'd forget about them, in my experience you may as
well learn to use pip and install what you need that way, in the long term
it is faster and more flexible. Python generally supplies a perfectly good
installer for most operating systems at python.org - no need for anything
else. Keeping it to just standard python (+ some libs you don't explicitly
need to explain) makes it less complex. Also - as biased as it sounds
coming from a Python developer - I'm not sure I'd want to discuss
alternatives (R, SPSS etc.) as it just provides more confusing choices.

In summary I'd aim to inspire not to teach - so show some basics at the
beginning to show how accessible it can be, and then feel free to jump off
into advanced python land to showcase what is possible using whatever you
are most comfortable with. Essentially show them they can learn python, and
then inspire them to want to learn python.

Feel free to ignore all of these thoughts, they are highly subjective.


On Wed, Nov 20, 2019 at 5:07 PM Andrew Z <formisc at gmail.com> wrote:

> Goktug,
>   Im not clear what is the objective of the lecture? I understand it is an
> intro, but what are you trying to achieve?
>
> I didnt read all the details, but maybe you can look into creating a
> docker/virtual box image with everything preinstalled.
> Good luck.
>
> On Wed, Nov 20, 2019, 11:54 Göktuğ Kayaalp <self at gkayaalp.com> wrote:
>
> > Hi all,
> >
> > I am responsible of giving my colleagues in from linguistics MA
> > programme an intro to Python, and programming, with a focus on
> > statistics.  It’ll be a single lecture, and I probably won’t be able to
> > do more than give some demos and then some pointers to actually properly
> > learn how to use the tools.
> >
> > The problem is I’m a rather techie power user and my audience the exact
> > opposite, so I feel like I could make use of some guidance as to how to
> > bridge the gap and be useful.
> >
> > I want to stick to Python 3, demo them a few basics of programming, then
> > how to use matplotlib, Jupyter notebooks (is this what IPyNBs became?),
> > and some descriptive statistics.  All this needs to happen within the
> > span of a single lecture (tho if people are interested I’ll offer to do
> > a few more in our own time), so 45min~1h.
> >
> > The first problem is installation: apart from me, a Debian user,
> > everybody has Windows or Mac laptops, and IDK how you install Python on
> > them.  I feel like choosing one of the distros is a good idea: I could
> > just put the installers on a USB and hand it out, or just send them a
> > message with simple steps to follow and set themselves up beforehand.
> > Thing is, IDK nothing about distros.  Anaconda seems to be the best
> > options, but comes with complications like an IDE, as opposed to just
> > working with notebooks, and is huge.  Also, seems to include R stuff.
> > Spyder looks nice, but I don’t want to freak people out with such an
> > unfamiliar environment as an IDE just within the first few moments they
> > encounter programming.  These are all humanities people.  Another
> > problem is that Anaconda has ‘conda’, a non-standard package manager,
> > and I’m kinda vary of introducing that to people: should I talk of pip,
> > should I leave it out?  I feel like I should just stick to pip and leave
> > conda out, but IDK.  Python(x,y) is interesting, but it’s apparently
> > Py2k only, and that’s a no-no.
> >
> > So, am I better off telling people to install Anaconda, or plain Py3k +
> > a selection of packages (which maybe I make into a .zip or something)?
> >
> > Then, I need good pointers to hand out: links to good introductions to
> > Python, programming, and statistical use of Python.  Thing is, I’ve
> > always learned the hacker way, i.e. skip the docs, tinker with stuff.
> > Thus, IDK of any good resources out of experience, and I want to ask you
> > all for some recommendations.  I prefer free and tutorial-like stuff,
> > but I’ll teach them how to use the stdlib reference too.
> >
> > What are some good self-teaching material for those who are new to
> > programming and Python, and need to mainly do statistics with
> > experimental data?
> >
> > Finally, I’m looking for recommendations on what to show and how.  My
> > current master plan is
> >
> > - what’s the use of programming for a linguist
> > - an abstract idea of what programming is
> > - basic intro to Python syntax
> > - demo how to load and clean up some data
> > - demo matplotlib
> > - demo jupyter notebooks
> > - compare with alternatives: R, SPSS, other?
> > - briefly refer to libraries for
> >   - NLP
> >   - AI?
> > - lots of links on
> >   - how to learn enough coding for number crunching and plotmaking
> >   - how to make use of stdlib reference
> >   - how to find and utilise packages and their docs
> >   - ...?
> >
> > I plan to produce a handout with all this info neatly organised, and
> > just go with a (few) Jupyter notebooks for the rest (resisting hard the
> > urge to go in with Emacs Org Mode instead :)).
> >
> > I’m looking forward to any recommendations from youse.  The deadline is
> > about a month and a half away, and I really want to give people
> > something operationable.  People are stuck with BS like SPSS, too simple
> > and too pricy, when a few lines of Python (or R) is all they need.  I
> > came here because IDK teaching about this stuff, and I haven’t left the
> > comfort zones of a programmer ever before, so this is some new
> > experience for me and I don’t want to botch it.
> >
> > Thanks a lot in advance,
> >
> >        Göktuğ.
> >
> > --
> > İ. Göktuğ Kayaalp       <https://www.gkayaalp.com/>
> >                          024C 30DD 597D 142B 49AC
> >                          40EB 465C D949 B101 2427
> > --
> > https://mail.python.org/mailman/listinfo/python-list
> >
> --
> https://mail.python.org/mailman/listinfo/python-list
>


More information about the Python-list mailing list