4 ms·
As everyone has an opinion, here is mine: From teaching programming, my take away is LOGO works best as a first programming language. The visual feedback helps
by Uchikoma 14y ago
As everyone has an opinion, here is mine:
From teaching programming, my take away is LOGO works best as a first programming language. The visual feedback helps with understanding commands, procedures/functions, breaking down larger problems (house) into smaller problems (square) and helps with understanding reuse (square).
Used Java, Perl, Python and C as alternative first languages, LOGO worked best.
- muyuu 14y agoThe Turtle Graphics module ships in the standard library. http://docs.python.org/library/turtle.html http://docs.python.org/library/turtle.html That said... it really didn't do a big difference for me. As a kid, just having "circle", "line", "ellipse", "plot"(point), etc in BASIC were more intuitive than LOGO, and I tried both around the same time. Keeping track of the turtle and the pen state were a nuisance for me, instead of helping with the world model as teachers claimed. I also found silly text games a lot more fun to both make and play, I guess I was a bit less of a "visual" person than the average kid. I did love sprites and interaction though. As for Python vs Processing, I don't think the difference is massive as a first language. I'd pick Python so then the student has a wider spectre of development afterwards. Processing if I intended to introduce Java later on. But I won't.
- Uchikoma 14y agoI have no personal experience, my first things were POKEing machine registers and after some GOTOs writing assembler.
- muyuu 14y agoThat was the second natural step after BASIC in 8-bit times. Looking back I think it was quite a sensible learning path. Nowadays we waste a massive amount of time discussing philosophy and nuances instead of getting sh*t done.
- gailcarm 14y agoTo 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.
- muyuu 14y agoBut is it any simpler than other more open-ended tools? Python+pygame is really popular for prototyping little game ideas, for instance. I think the point about choosing Processing, for most people, is the simple and well-established path to do: 1 - graphic-oriented apps 2 - stuff that can run in the browser (although Java applets are a massive PITA, sadly, and are slowly but steadily being phased out) 3 - not much else (actual feature: the excess of choice is overwhelming for a beginner) And then I have this concern that many students, when already proficient in an "introductory language" never quite find the motivation to jump to another language with significantly different structure and syntax. Since proficiency in an introductory language is achieved rather early, it becomes a dead end before they can develop a "real taste" for advanced programming. This has happened to a lot of people I know. Many of my friends started in the 80s with Sinclair BASIC or some other BASIC (C64, C128, Oric, MSX, etc). These have, for the most part, enough built-in graphic primitives to toy around a lot and make simple games with little experience, even with the limited hardware of the time. But then, the next step in order to overcome these nice but slow interpreters was usually assembly or complex compiled languages (usually proprietary implementations, expensive and with obscure support). So they stopped right there. It's not so bad now but the wall is still there.
- gailcarm 14y agoValid 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.
- gailcarm 14y agoI actually wish we talked about LOGO more often. I personally don't have experience with it, and that's probably because it seems to be somewhat of a lost language. This post makes me want to see it make a comeback though: http://computinged.wordpress.com/2012/04/07/we-used-to-know-how-to-teach-cs-in-logo/ http://computinged.wordpress.com/2012/04/07/we-used-to-know-...