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 -- https://mail.python.org/mailman/listinfo/python-list