Agree with what Josh has said; it is nice to separate the concepts from technique (like readability) while also beginning to teach ideas like giving variables and functions descriptive rather than throwaway names.
Also, I think the process of reëxamining what you have experienced so far that has been presented as 'programming' is enough to ensure that you will not confuse the differences between, say, Netlogo and TNG. That is to say, it may be a problem to remember whether a mental rule for a parenthesis or the word 'if' or whatever belongs to the model you made in your head when you learned Lisp versus when you learned Python versus Javascript and so on, but typing and connecting blocks is different enough so that seeing one or the other will unavoidably remind you of what it was like to program in that context (if that makes sense). The downside to block-like languages is that, because the underlying code is more complex than your average text language interpreter, sometimes it glitches or behaves unexpectedly - of course, you get this in typed language, but it is when you mistyped something or your model of how you expected something to work turns out to be inaccurate or imprecise. But then, I am basing a lot of this upon watching other people rather than my own experience. -Arlo James Barnes
============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com