Tim,

I agree with you in some parts, teaching something that "should be
useful later on" is neither use nor ornament, but as Paul has said with
this and source control they're concepts you need to introduce at the
beginning, then demonstrate throughout.

I would say that teaching a language using BDD makes a lot of sense. If
you *know* how your code is supposed to behave and you write something
to do that, the meaning becomes clear much more quickly.

To be honest you probably wouldn't even have to explain the concept of
BDD/TDD in the first place if you just dive straight in and start doing
it. The biggest hurdle I've found with it is, what I like to call, "The
HeadFuck". It's changing your approach to coding, and mindset. Diving
straight in, possibly with the rant about the benefits, will allow the
student to see the benfits for themselves and get into the swing of it.

Most of the Ruby books I've read teach with TDD, I remember some
examples from PickAxe and Peter Cooper's book "Beginning Ruby".In my
opinion rspec is a fantastic tool which lends itself to teaching as well
as improving development.

Gemma Cameron
Software Engineer
 
BAE Systems Integrated System Technologies Limited
Registered Office: Warwick House, PO Box 87, Farnborough Aerospace
Centre, Farnborough, Hants, GU14 6YU, UK
Registered in England & Wales No: 3456325 

-----Original Message-----
From: [email protected]
[mailto:[EMAIL PROTECTED] On Behalf Of Tim Waters (chippy)
Sent: 08 October 2008 11:15
To: [email protected]
Subject: [NWRUG] Re: Rails training - what would you want?

               *** WARNING ***

This mail has originated outside your organization, either from an
external partner or the Global Internet. 
     Keep this in mind if you answer this message. 


One of the things that has always bothered me about training courses is
when trainees get taught to do something that "will only make sense
later, when you do it".

For example, TDD, BDD - a newcomer to testing, in rails or whatever,
would see very little value on adding tests to the Build-A-Blog
application the class makes during the training - to them, it's a waste
of time, the code gets written, the tests do not help.

Sure, you could inform them about the importance of writing tests, "just
use your imagination!", "I always write them, so should you!", and how,
with a complex application tests actually help you write code, make sure
things don't break, and all the other verbal words of wisdom - but very
rarely would they get to use and see this importance first hand.

That's the tricky part - if you want to train people about TDD and BDD,
and the importance of it, in a *practical setting* - then you absolutely
need *practical exercises* - and not just add a few tests to the three
basic models of the example simple application.

Now, I'm guessing because I've never seen such a thing, but perhaps,
shove a complex application, with existing tests, and get them to add
some additional functionality?

Tim

I'd also be up for guinea pigging too.




********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"NWRUG" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/nwrug-members?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to