As I’ve mentioned earlier, I’m trying to learn Python. Python is a high level programming language. Or as the Pythoneers themselves put it:
Python is an interpreted, interactive, object-oriented programming language. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes. Python combines remarkable power with very clear syntax. It has interfaces to many system calls and libraries, as well as to various window systems, and is extensible in C or C++. It is also usable as an extension language for applications that need a programmable interface. Finally, Python is portable: it runs on many Unix variants, on the Mac, and on PCs under MS-DOS, Windows, Windows NT, and OS/2.
The text above? Pure gobbledygook to me. And not the Harry Potter kind. Wikipedia is slightly less convoluted:
Python is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C. The language provides constructs intended to enable clear programs on both a small and large scale.
So what’s my point? My point is that it is very difficult to find teachers gifted with both the incredible skill to make something that is complex understandable, and with the ability to talk to people without wrapping stuff up in sentences like “interpreted, interactive, object-oriented programming language”. I mean, I understand what each word means. I just don’t get what it means when it’s strung together like this. And that’s my point. I know I have tendencies to become all jargon-y when I talk about game design or user interface design. And I know a guy at work who talks about diegetic interfaces for instance. Anyone not familiar with the word diegetic doesn’t stand a chance understanding what that is all about. The perk with having a specific language for a speciality is of course that you can be more precise, which is great. But that also requires an audience with access to the terminology you are using. Normally, programmers – not that easy to understand.*
I’m sure this seems pretty trivial to programmers. To me, as an outsider it is NOT. I’ve tried SO many times to learn different kinds of ways of talking to my computer or my browser in a way that they’d understand, but it’s been like learning a new language with a different syntax on my own. In that language. Meaning that I’ve never understood the lessons, much less the language.
In short – that tutorial? Good stuff. Also, I got a bunch of helpful hints from Mondi at work yesterday. He said three words (he said more, but these were the ones he wanted me to focus on):
I’m sort of looking forward to seeing how I can use all this stuff that I’ve learned. At the same time, I’m terrified that as I get to the more complex areas of Python, I’ll stop understanding each thing I’m doing and give up. Not yet though. So far, so good.
Now if you’ll excuse me, I’m settling down to a day of Python. I’ve got my Burn, I’ve got my Kraftwerk and I’ve got a matrix runny code desktop image. It’s important to set the mood.
Point? Everyone should have a shot at learning this stuff. It’s good stuff and despite my earlier misgivings, it’s actually not that hard once the teacher speaks your own language.
* This is not quite fair though, as I’ve met a lot of programmers who actually know how to talk to non-programmers (I LOVE YOU GUYS! *waves*). But I’ve also met a lot of texts that are trying to teach me stuff and fail due to jargon.
2014-02-15 at 13:32
I’m using Python in my basic Programing courses at work, teaching it to 16-18-year olds. I find it works pretty well. Thanks for the links; I’ll definitely pass those along to my students. My way of teaching works for some but not all; perhaps those who struggle can be helped by Learning Python the Hard Way or finds their creativity by using Kivy. We’ve been using pyGame to make graphics, but having other options is definitely a good idea.
2014-02-15 at 15:47
I usually learn better in the classroom, but unfortunately, there are no courses at Folkuniversitetet :).
I think we’re all different in the way we learn. Some need to figure out the basics first, others need something “real” to do with the stuff they learn. Me, I usually need a couple of weeks in a classroom or a good book. I can learn almost anything from a book. Provided I understand the language 🙂
2014-02-15 at 17:37
You can always try to install Ipython it is a python terminal that you can type small snippets into. It is like a python notebook, really cool stuff.
2014-02-24 at 00:25
Quic tip: The MOOCs at Udacity, particularly their Intro to Computer Science (cs101). Brilliant stuff. And if you’ve outgrown that, there is a nice progression of Python-using courses, until you get to Design of Computer Programs (CS212) which might well be subtitled “Watch the wizard at work” 🙂