A suggestion for tutorial-makers
Phil | March 13, 2009A hundred years ago, if you wanted to own and operate a car, you had to know a lot about what was going on under the hood (or regularly pay someone who did). Ideally, you’d also know how to run a mill, a lathe, and other shop tools if a part had to be replaced or improved. There were more than 200 car makers in the United States alone, and there wasn’t a parts store just around the corner.
The experience of learning how to build a full-function, data-driven website from scratch is somewhat comparable today. Typically, if you’re learning web development, you will download and install WAMPP or XAMPP, various code-editing tools, and configure it all correctly before you’re ready to build that first "Hello World" page. At this point, you might try to learn coding with a how-to book in your lap or while logged on to a tutorial site. If you do everything perfectly, your new code will run as intended. But if something goes awry during the configuration process, or a semicolon shows up where a colon should be, you can spend hours if not days trying to find the source of the problem.
One of the greatest advancements in learning about web development and web design is the huge growth and availability of online tutorials, both free and paid. The paid sites such as lynda.com are well worth the investment, but they all pretty much take the same approach: video tutorials, sometimes with exercise files to help you along. You can study of even re-create the exercise files, but it’s not the same as having someone or something to tell you what you’ve missed. And while some programs offer code-hinting, debugging tools, and many other helpful features, they’re geared for the builder, not the learner.
Here’s an idea I haven’t seen implemented, but it’s something I’d definitely pay for: truly interactive tutorials. I envision going to a website to learn about php, for example, and being able to code right on the page, while being led by an audio file. Click a button to check whether the code was properly formed before going on to the next part of the lesson. No need to download exercise files, upload completed files or even save them (although that might be a nice option), much less install a web server to test the files. By eliminating some parts of the learning process, or at least making it modular and thereby deferring it, the student’s experience could be a lot closer to a live classroom situation.
The closest to this approach is probably w3schools.com, which has a ton of excellent examples. I’ve learned much of the [admittedly limited] stuff I know from these, but I know I learn best and retain the most by actually typing out the code myself and hearing an instructor’s comments, suggestions, and corrections while I do it. I can’t afford to hire a private tutor, and I don’t have time to enroll in a semester-long class in scripting. Classroom training can be costly, and whether I retain the lessons depends on a variety of variables, including my familiarity with the subject going in, the instructor’s ability to effectively communicate, and my mood at the time.
Anyone who wants to build a full-fledged web 2.0 site should learn how to do it all, deploying a web server, learning javascript, SQL, xml, and so forth, but they shouldn’t have to try to learn it all simultaneously.





