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

Göktuğ Kayaalp self at gkayaalp.com
Wed Nov 20 11:09:24 EST 2019


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


More information about the Python-list mailing list