Lambda the Ultimate

inactiveTopic Best PL tutorials?
started 9/15/2003; 10:47:02 AM - last post 9/16/2003; 1:14:28 PM
Ehud Lamm - Best PL tutorials?  blueArrow
9/15/2003; 10:47:02 AM (reads: 19299, responses: 3)
Best PL tutorials?
For pedagogical reasons, I've developed a habit of collecting programming language tutorials and introductions. I'm curious to know, then, which ones LtU readers have found most (and least) illuminating, interesting, accessible, insightful, (physically) attractive, professional, etc. and for what reasons.

Frank asked this in the discussion group, as since I am a great fan of language tutorials, I thought I'd share the question with those that (still) only follow the links from the home page.

My mind is elsewhere as the moment (we are planning a little vacation), but I second the recommendation for Teach yourself Scheme in Fixnum days. Another favorite (no flames please) is "A Tutorial Introduction" from K&R's The C Programming Language.

Not esoteric enough? Take a look at the J Dictionary (though one can argue that this is the language definition, and not a tutorial).


Posted to teaching/learning by Ehud Lamm on 9/15/03; 10:59:01 AM

Ehud Lamm - Re: Best PL tutorials?  blueArrow
9/15/2003; 12:12:31 PM (reads: 711, responses: 0)
Writing a tutorial is one of the options for the final project in our programming languages course. Here are some of the tips I give students attempting to write a tutorial.

  • Traget audience. Be very clear about who the target audience is. Be explicit about any prior knowledge you assume.
  • Examples. Tutorials make use of many examples. Usually it is best to give many small examples, and present the material gradually. In many cases there's also room for one or two final examples that show how features can/should be combined.
  • Clarity of writing. Clarity is, of course, always important. It is especially so when the reader is trying to learn something completely new. Simplicity is often the best strategy.
  • Exercises. A few at the end of each chapter or section.
  • Scope. To help the reader it is recommended to define the scope of the tutorial in the introduction, and to state which related and close subjects are not covered.
  • The next step. In a short final section reiterate the scope of the tutorial, and specify what topics the reader will likely want to explore next. Advise where to find information about these topics.

Adam Vandenberg - Re: Best PL tutorials?  blueArrow
9/16/2003; 11:37:53 AM (reads: 551, responses: 0)
Maybe it goes without saying, but examples when teaching languages should always, always be correct and in the mode of the language.

The first things someone learns about a topic tend to stick with them, and are often hard to unlearn.

For instance, do not introduce operator overloading in C++ by having the students write a Bit class, complete with overloaded logic operators. Because when you overload logic operators they stop short-circuiting, which is bad.

One corollary is that API sample code should also always be correct. Sample code is often thrown together as a quick hack... and then people copy and paste it hundreds of times as if it was a "best practices" doc.

Ehud Lamm - Re: Best PL tutorials?  blueArrow
9/16/2003; 1:14:28 PM (reads: 544, responses: 0)
Another nice J tutorial is Introduction to J Using Statistics (postscript).