I have decided to make a good push for Python post my Java adventures since most of the Udacity courses that I am actually interested in require Python, not to mention the practical application of this language. Since this text (i.e. the namesake of this post) keeps on coming up over and over again, I decided to give it a go.
From a pedagogical perspective, LPTHW is probably an approach entirely contrary to CS106A. That is, it gets you to start as small as possible and much of the mental emphasis is placed upon teeth-grinding patience rather than cute things like bouncing balls and colorful bricks (re CS106A’s famous Breakout! assignment). In other words, it’s perhaps more suited for disciplined adults than unruly children.
Despite the fact that each exercise progresses at rather minuscule increments, in some ways it feels very much more like the real world than CS106A. It sets out to show you how programming is really done– from setting up the right text editor, to becoming familiar with the terminal, to setting up the right software environment. This is a big contrast from the bubble that CS106A provides you with– even down to the packaged assignment files, without which you are lost for how to even begin the programming portion.
Yet, one distinct advantage of 106A is it gets you to program and think through the structure of syntax as well as problem solving. It forces the burden of the coding on you but with the scaffolding of proper guidance (for those unfamiliar with LPTHW, the main portion of its instruction is through copying code that Zed wrote– then it throws you into the deep end and tells you to write something similar yourself). This is not to say that people cannot learn to problem solve or design algorithms on their own in LPTHW– it is just that they are that much more on their own, it takes tremendous initiative to do a freeform exercise with no easily visible milestones. This works for certain types of people; for a great portion of the population though, I suspect they still want a bit more handholding (especially the kind carefully crafted to still give you a sense of achievement and creative freedom).