gailcarm
gailcarm on Hacker News
I just noticed this comment. It does indeed help teach programming. I use it to start students off in understanding booleans, if statements, loops, and variables. It's very fast to get going and to experiment with visual results, and the way the blocks snap together makes it easier to put the right types of expressions in the right places.
I admit I get used to writing with the assumption that my readers know where I'm coming from. This is the first link that has ended up here (I didn't even know it for a while!), and it's a good reminder for me to ensure I work the context in.
The easiest way to list the languages I know is to share this:
http://gailcarmichael.com/work/technical
Certainly a valid opinion. :) It's a good point that hiding the difficulty could cause problems later. But I would personally prefer to focus on the difficulty surrounding how to think when it comes to programming rather than issues with syntax.
Valid points. I wonder if stopping with a tool that does what you want or need is necessarily a bad thing? I personally hope we can get people into the more advanced stuff as well, but not everyone is getting a CS degree. So maybe it's ok if they don't continue. Then again, it is a shame if they stop programming at all because they have done all they can with the tool they learned.
To me it's more about how to hook people (especially non-traditional CS students) rather than ensuring they can continue using the tool later on, though that is a bonus. But on that thread, I don't doubt that Python can be useful even though I haven't made use of it myself quite yet.
I can say that I use Processing all the time because it's so easy to make simple graphical programs. It has been particularly useful for prototyping little game ideas and making applets to explain graphics concepts to students. Depending on what sort of career path someone has, Processing might be really useful far beyond being a pathway to Java.
I don't entirely disagree, though I don't think that something needs to be difficult for the sake of it (I also don't think that's what you were saying). I happen to have a keen interest in teaching beginners about CS and programming, and know that it can be especially easy to lose a non-typical student early on. How you approach the first attempt at teaching a programming language really does matter.
Good point about community. That's one of the things I really like about Scratch for the younger audiences (though I have also successfully used Scratch with adults as well!). Is there not much of a community with Python? I admit I haven't really looked yet.
I sometimes worry about starting with such forgiving languages, but I suppose it really depends on the audience, and how well things are taught.
I don't mind the tutorials myself since I have 10 years of experience (mix of undergrad, industry, and grad school), but I was trying to analyze the language from the perspective of a beginner. I figured it wasn't totally fair to see explanations in the experienced programmer's tutorials, hence trying out that book.
I actually am an experienced programmer - just not in Python yet. ;) I wrote the post from the perspective of someone with a keen interest in computer science education. My specialty is teaching beginners, whether it's a week-long course for eighth graders or non-major undergrads. This context is likely not clear in the post on its own.
When learning Python, I looked at it through the lens of someone just getting started with programming. While it's not really possible to do this in a completely unbiased way, that was where my musings came from.
In terms of your thoughts on programming: I find them interesting. I think it's a reasonable perspective. For the audiences I work with, it can be important to hook students early on with the cool stuff or else you might lose them too early. I personally hope we can then get them into what you define as programming, but even if we can't, at least they leave with something.