mdlbear: blue fractal bear with text "since 2002" (Default)
[personal profile] mdlbear
Since the kids have expressed an interest in learning HTML, website-building, and maybe even programming, I'm going to try to teach them. This should be interesting.

My plan is to start by having them set up home directories. We have three websites (internal, public, and the semi-public one on the DSL line), and I'll start by explaining the difference. Then I'll have them start on the internal site and create an index page using Emacs and html-helper-mode, which has menus and templates for all the common tags, and does indentation and syntax coloring. Let 'em play for a while.

Next I'll have them set up a home directory on gc, and show them how to use make (with my canned, spiffy, recursive upload makefile, which makes it easy) to upload. They probably won't want to get into the theory, which is OK -- it's only three keystrokes in emacs, given the household keybindings. Oh, and they'll have to have set up ssh keypairs at that point
It'll be a little harder to get them onto the public site, located at my ISP -- I'll probably just give them write access to the appropriate part of the local mirror tree, and set up a cron job for updating. Probably won't matter until the end of the summer, anyway.
There will probably have to be an advanced HTML lesson or two: tables, fonts, images; that kind of thing. And a little on CVS, the version-control system I'm using at the moment.

Then we get into programming. I really can't decide which would be better: javascript (which is ghastly, but you get immediate feedback in a web page), perl (great for server-side stuff, and I have plenty of sample code they can hack on, but it's ugly and finicky about syntax), python (said to be easy to learn, but I don't know it and disagree with many of its design features), smalltalk (known to be easy to learn), or lisp (trivial syntax -- I can teach it in ten minutes -- good debugger, and it's built into Emacs).

[Poll #309669] No flames, please, but suggestions will be welcome.

... edit 6/17 to correct spelling of Hackwarts (was ...orts)

Date: 2004-06-17 11:51 pm (UTC)
From: [identity profile] ravan.livejournal.com
You might want to consider adding pico/nano for quick and dirty editing. There is a version of EditPad for Linux (written in Delphi/Kylix) as well, if they want a cross platform editor. Regardless of all of that, they probably should learn basic vi - insert, save, and quit - just because it's ubiquitous, but not for serious web editing.

Date: 2004-06-18 01:33 pm (UTC)
From: [identity profile] johno.livejournal.com
I voted Perl and vi as they are available most everywhere.

Date: 2004-06-18 01:47 pm (UTC)
mithriltabby: Graffito depicting a penguin with logo "born to pop root" (Hack)
From: [personal profile] mithriltabby
It’s important to know vi for the times that Emacs isn’t available, but Emacs is IMHO a better programmer’s editor.

I’d recommend teaching C and assembly together: namely, writing simple C programs, compiling them, and looking at the assembly language output and single-stepping through them in a debugger. You don’t need to teach hand-coding of assembly at this point, but making it clear that C is a portable version of assembly language is a really good thing to have down.

C is also good because it teaches the grammar of a bunch of other languages. Once you know C, you can pick up Perl, Java, C++, and JavaScript without much culture shock. It’s important to go from the more minimal language to the ones with syntactic sugar rather than vice versa. It’s better to start with the discipline of memory management and then learn about garbage collection rather than starting with garbage collection and having to learn discipline when going elsewhere.

Most Popular Tags

Style Credit

Page generated 2026-01-24 09:24 pm
Powered by Dreamwidth Studios