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

Göktuğ Kayaalp self at gkayaalp.com
Wed Nov 20 16:01:18 EST 2019


Nick Sarbicki <nick.a.sarbicki at gmail.com> wrote:
> 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’m lucky that when I introduced the idea, my peers were really excited
about it.  Readability is indeed a nice idea, because they are not
familiar with coding and don’t really know how straight forward a thing
it actually is, at least when all you’re trying to do is load some CSV
files and do some t-tests, chi^2, correlation, and plots.

> 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.

If I could demo say an NN, that’d be crazy interesting, but sadly IDK
nothing about the practicalities of AI in general.  It comes up a lot
and people know nothing about it.  If you have some pointers for a good
tutorial tho, I’d try my hand at it.

I haven’t used notebooks before, and I’m not really a fan: they look
heavy-weight and not much better than Org Mode codeblocks to me.  But I
can’t risk introducing these people to Emacs, they look at it in weid
ways when they see it on my laptop already :)

My plan is, mostly focus on graphs.  We’ll have just learned some
advanced-ish statistics stuff by the time I’ll present, so that’d
probably be very interesting to everybody.

> 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.

This was the confirmation I was looking for :) Then I’ll just install
SciPy packages on a plain Python and call it done.  Is there a way I
distribute an installer / a portable zipball that comes with these
packages?  Or do you think a non-programmer could follow the
instructions to install?  I have friends with Macs and PCs that I think
I can use for testing procedures.

W.r.t. alternatives, I’ve already heard the statistician that helps us
with learning stats mention it, so my idea was that I could introduce
some alts and explain why Python is a good choice.  But if that’s going
to be confusing, I can skip that.

> 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.

That’s kinda my goal: inspire, excite, and give good links so that they
can get on with learning quickly.

BTW, FWIW, I’ll make the material and code for these lectures available
on GitHub once I’ll have them prepared.  If anybody will be interested,
I may even try to make a video version and put it up somewhere.

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

Thanks a lot for your thoughts!  I really appreciate your help.

Cheers,

        -gk.

-- 
İ. 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