Should a private course that's being booked run for 2 days or 3? Or on a longer subject for 5 days or 4? I'm often left having to make a recommendation. Budget constraints, and more critically the constraints on the length of time that people can be released from their other tasks, favor a shorter course. The ability to go into things deeper, the ability to have time to go off the immediate topic and fill in associated subjects, the chance to re-explain some of the topics that are hard to grasp in their full glory in one bite, and the ability to release delegates to check email / do other daily tasks also come in to play.
But if a course is "rounded up" rather than "rounded down", it also allows for longer practical sessions - allowing the students to really try out the things we're talking about, and to do so thoroughly. Now you may suggest that's making my life easier as they're working on their own - but actually they're not. I'm then spending time with delegates on a one on one basis, helping them through their own specific questions, issues. For those who finish quickly, it's also a change to talk through there own data, or for me to show them extras and other useful things I can optionally include with the course for the more advanced candidates.
Last week's course was "rounded up". And it made for a much more relaxed course from which the delegates gained a very great deal. It also gave me a chance to conclude the course with something which is a bit of a luxury - the icing on the cake ...
... we concluded the course with a "put it all together" practical.
If you have come across "Extreme programming", you'll have heard all about things like spike solutions
and multiple stories
. And you'll be familiar with frequent testing and integration
and perhaps pair programming
. And this end-of-course exercise was an excellent vehicle to apply these, as well as helping my delegates get to grips with the application of Lua.
With eight widely varied delegates, how could I set them all the same practical? How could I manage / tutor all 8? Easy - I turn them into four pairs, and set up four projects not eight:
• The weaker one types, the stronger one advises.
• Two programmers discuss, plan and iron out issues early.
• The specifications and stories are robust.
• Multiple inputs ensure that 'way out' solutions do not prevail.
• One plays Devil's advocate to the others hypotheses
• Test data comes from two minds not one - obvious doesn't get missed.
• I have more time to give per project.
and in real life
• The customer has an author available for backup and support rather than finding that (s)he is on holiday / maternity / off sick / left!
I'm delighted to report it went really
well! The room was abuzz with conversations between the various pairs and code was thought out so well ahead of time that it worked crisply and cleanly - very few experimental "spike" solutions were actually needed.
The story(ies) set related to the customer's requirements and so what they were doing was really very much their necessary thing. "We came on a course, and the exercise turned into learning on the real job".
I was really chuffed when the delegates carefully copied their final session's work onto memory sticks - with that session being the spike solution that will be refactored and reworked into their real data extraction task. (written 2010-09-11, updated 2010-09-14)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesG400 - Well House Consultants - Private course 
Training around the world - easy payment in pounds Sterling - (2013-05-10) 
Running a course ... what if the tutor isn't well? - (2010-11-29) 
Well House Price list, January to March 2011 - (2010-11-25) 
Testimonials - Well House Consultants Open Source courses - (2010-09-21) 
Public (scheduled) or private course? Book direct, or through a third party? - (2010-08-19) 
Tailoring of courses to meet customers needs - how it works - (2010-07-21) 
After the Perl course in Nurnberg - (2010-06-11) 
Review of 2008 - (2008-12-31) 
2009 - Hotel, Meeting, Training Course prices - (2008-12-07) 
Advanced Python, Perl, PHP and Tcl training courses / classes - (2008-02-25) 
What we teach - expained for the non-technical - (2007-10-28) 
Tcl training - often for a larger group - (2007-02-24) 
Training on Cascading Style Sheets - (2006-12-17) 
Training course plans for 2006 - (2005-07-23) 
Sales - the alternative close - (2005-05-23) 
Maximum number of trainees on a course - (2005-01-18)Q907 - Object Orientation and General technical topics - Object Orientation: Design Techniques 
Using object orientation for non-physical objects - (2013-05-22) 
Teaching OO - how to avoid lots of window switching early on - (2013-01-17) 
Storing your intermediate data - what format should you you choose? - (2012-11-20) 
Inheritance, Composition and Associated objects - when to use which - Python example - (2012-10-10) 
From Structured to Object Oriented Programming. - (2012-10-02) 
Rooms ready for guests - each time, every time, thanks to good system design - (2012-08-20) 
When you should use Object Orientation even in a short program - Python example - (2012-07-06) 
Spike solutions and refactoring - a Python example - (2012-06-13) 
Why you should use objects even for short data manipulation programs in Ruby - (2012-06-10) 
Designing your application - using UML techniques - (2012-02-11) 
Your PHP website - how to factor and refactor to reduce growing pains - (2011-09-24) 
Ruby - a training example that puts many language elements together to demonstrate the whole - (2011-04-23) 
Object Oriented Programming for Structured Programmers - conversion training - (2010-12-14) 
Comments in and on Perl - a case for extreme OO programming - (2010-11-21) 
What is a factory method and why use one? - Example in Ruby - (2010-09-30) 
Should Python classes each be in their own file? - (2010-07-27) 
Program for reliability and efficiency - do not duplicate, but rather share and re-use - (2010-07-19) 
Relationships between Java classes - inheritance, packaging and others - (2010-07-10) 
The Light bulb moment when people see how Object Orientation works in real use - (2010-05-28) 
Containment, Associative Objects, Inheritance, packages and modules - (2010-04-30) 
What is a factory? - (2010-04-26) 
The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11) 
Plan your application before you start - (2009-12-02) 
Simples - (2009-11-12) 
Object Oriented programming - a practical design example - (2009-08-27) 
Planning! - (2009-08-08) 
Designing a heirarcy of classes - getting inheritance right - (2009-05-11) 
When should I use OO techniques? - (2009-05-11) 
Teaching Object Oriented Java with Students and Ice Cream - (2008-02-12) 
Object Oriented Tcl - (2008-02-02) 
Object Oriented Programming in Perl - Course - (2007-11-18) 
Object Relation Mapping (ORM) - (2007-06-09) 
What are factory and singleton classes? - (2007-06-04) 
Maintainable code - some positive advice - (2007-01-21) 
Build on what you already have with OO - (2006-08-17) 
Comparison of Object Oriented Philosophy - Python, Java, C++, Perl - (2006-08-13) 
The Fag Packet Design Methodology - (2006-06-06) 
Think about your design even if you don't use full UML - (2006-03-24) 
Design - one name, one action - (2005-12-19) 
Introduction to Object Oriented Programming - (2005-11-27) 
Tapping in on resources - (2005-03-05) 
OO - real benefits - (2004-10-09)
Some other Articles
Welcome to Countrywides new Melksham storeOn site course - travel and accommodation expensesMelksham Railway Station - new information pointRailway meetings, trips and meetups this autumnTurning an exercise into the real thing with extreme programmingConcluding the interview processLots of way of converting 3 letter month abbreviations to numbersCamilla, Duchess of Cornwall, turns first sod in Melksham Link CanalLua - variable function arguments and selectMelksham shamefully makes the national headlines