From: Vincent Manis Date: 2011-04-15T08:03:11+09:00 Subject: Re: Ruby for beginners (was: Re: Hello) On 2011-04-14, at 15:12, Phillip Gawlowski wrote: > In your experience: Did newcomers to programming achieve good results > with Notepad? When I taught people introductory programming, I never covered any more than what happens to be offered in Notepad. To write small-ish programs (say < 100 lines) you need to be able to load and save files, delete and insert text (including maybe cut and paste), and search for text. Global replace comes about the top of the skill set. > It wouldn't be much of a problem to write a quick batch file that > opens an editor as well as shell (properly linked to from the Start > Menu, too), to provide something like a "Ruby environment" to start > with, after all. Yes...set up the paths, ask for what directory is wanted, and away you go. Such a thing could be shipped as an installable file, and let the (tiny) installer add it to the Start menu. > 1) I don't think we should get too hung up on the editor question. I > mean, it'll turn into a holy war sooner rather than later about which > is the One True Editor. That's why I listed four editors that are likely to be found with each of those OSes. None of them is my favorite, but all are usable for editing small programs. > 2) Since the prospective Ruby user will be perusing a guide already, > teaching "ancillaries" like saving a file as "myscript.rb" really > *isn't* that big of a deal. They'd be following the guide anyway. Agreed. >> 3. I would not care to say that *ix users are more or less sophisticated than any other users. It's certainly true that most unsophisticated users who go out to buy a computer come back with a Windows box, but unsophisticated users might be running on any system. > > Point taken. Though, I doubt that less sophisticated users will use a > *nix flavour at home, but rather at work. I think we forget that people who buy `white-box' computers because they're cheap often don't take a Windows license. Often they propose to use Windows illegally, but some use GNU/Linux *because* it's cheap. This particularly applies to high-school students, a group I'd think we particularly want to attract into Ruby programming. > So, as a refinement on your proposal: the guides could "split" into > pages for different operating systems (how to get up and running on X, > familiarizing the user with the environment), and then merge back into > a "This Ruby, that's what you can do!" guide, if at all feasible. Agreed. > I wouldn't teach "high-level systems", like OOP immediately, but once > complex-ish tasks come up, nor would I teach anything that would > require a gem or something like that: Just using the core and standard > library should be sufficient, I think. Totally agreed. In fact, pedagogically, the current CS craze for `Objects First' is basically teaching students rituals that in fact get in the way of teaching concepts. That's why I like the Table of Contents of Chris Pine's _Learn to Program_. It matches the way I think students learn. Start with something simple that does something useful, and work up from there. I would not conceive of this newbies' page as being a tutorial on programming. When it gets to that point, a pointer to Pine's book (not the out-of-date first edition) gets inserted. (I verified that it is in at least two suburban Vancouver-area public libraries, so I expect a lot of libraries would have it, in keeping with the `low-cost' notion.) Having said that, your list of `tasks' (along with perhaps example solutions) is a great idea. That really adds value to the whole thing, and would be relatively easy to build. This feels like it's ready to move forward. I volunteered to draft the main page, and I'm feeling like I know what that should look like. I'll circulate something in the next few days. -- vincent