Lambda the Ultimate

inactiveTopic Inhouse training
started 1/22/2003; 2:10:47 PM - last post 1/24/2003; 7:47:44 AM
Ehud Lamm - Inhouse training  blueArrow
1/22/2003; 2:10:47 PM (reads: 377, responses: 5)
I was asked to consult on a training program for programmers maintaining and developing in house language tools (DSLs and such).

The programmers will hopefully have some programming experience and a computer science degree, but may not necessarily have taken any relevant courses (e.g., compilation etc.)

Aside from sending them to audit university courses, I want to build an in house traning program (using people from the organisation that have the relevant experience). So basically we are talking some kind of OJT/in house tranining program, which must be fast paced (i.e., short) and pragmatic.

Obviously, I have my ideas about doing this, but I'd appreciate hearing any experiences or relavent references.

Noel Welsh - Re: Inhouse training  blueArrow
1/23/2003; 3:45:26 AM (reads: 393, responses: 1)

I've done a bit under the guise of the Scheme UK meetings. It's made me realise just how much skill there is to teaching, and just how badly I need to learn those skills!

Two bits of advice:

  1. Keep it relevant. If you start bringing in aspects not directly related to the task at hand many people will decide you're an academic egghead with nothing useful to say.
  2. Don't expect anyone to do homework/other reading/etc. This will unfortunately limit how much you can teach. The best way around it to keep you work directly relevant to problems they have now (see point 1).

You might find useful stuff on CS-ED.org. Hope that helps.

Ehud Lamm - Re: Inhouse training  blueArrow
1/23/2003; 3:52:26 AM (reads: 411, responses: 0)
Well, since I teach quite a bit I agree with your observations. Point one is well taken, and indeed this is going to influence who will do the teaching and how.

But I will find a way to make the do some homework...

Frank Atanassow - Re: Inhouse training  blueArrow
1/23/2003; 4:53:01 AM (reads: 393, responses: 2)
Ehud, at least in this situation you have the advantage that your students are motivated! Which is, in my experience on both sides of the teacher's desk, not so often the case in CS curricula...

As for advice, I don't know what to say, but here are some DSL links just for the hell of it:

http://www.math.chalmers.se/~rjmh/Combinators/

http://compose.labri.fr/documentation/dsl/

http://www-sal.cs.uiuc.edu/~kamin/dslresearch.html

http://www.hh.se/staff/vero/DSL/

Oh, and I hear they have a few links to DSL-related stuff on a site called "LtU" or something... :)

Ehud Lamm - Re: Inhouse training  blueArrow
1/23/2003; 4:57:15 AM (reads: 431, responses: 1)
Oh, and I hear they have a few links to DSL-related stuff on a site called "LtU" or something... :)

Great site, that

I don't really need to teach them about DSLs. I need to cover the basics (parsing, semantic checking, code generation etc.). DSLs are simply the context and goal.

Ehud Lamm - Re: Inhouse training  blueArrow
1/24/2003; 7:47:44 AM (reads: 425, responses: 0)
All this reminds me of one of my pet peeves. Software engineering textbooks don't mention DSLs as a way to manage software complexity.

University level textbooks that are more practical, and contain code examples, never give examples of building DSLs, unless you regard SICP as a software engineering textbook, which you might.