Main Content

Turning bright delegates into bright and knowledgable ones

Archive - Originally posted on "The Horse's Mouth" - 2011-07-21 07:21:59 - Graham Ellis

"Bright" does not mean "Knowledgable". Almost without exception, our delegates are bright or very bright. But, by definition, they arrive with us for a training course with a lack of knowlegde. And it's a real joy to be able to pass on that knowledge to them - empowering them so that they leave knowledgable, bright and inspired too.

Implanting knowledge for someone who's been using that knowledge for many years means going back to first principles, and explaining things that the someone usually takes for granted - automatically assumes.

On Monday, I started with a "first principles" program in Java - or rather, it was my second example after a program which does no more that print out a message saying "here I am" or some other constant message such as "Hello World".

The first principles program sets up some memory locations with names (for easy reference later) that are called "variables" because their value can be varied as the program runs. Having defined the name(s) or memory location(s) and desribed the type of data to be held in them (numbers or something else, whole numbers or ones with decimal parts too?), those locations have their initial values set. And this can be done in one or mutliple statements.

Multiple statement way:

  float height ;
  height = 1.78f;


One statement way:

  float weight = 76.5f;

Calculations and chamges can then be written with operators such as + - * and / (for add, subtract, multiply and divide). These are not always done from left to right - there are "precedence rules" which control the order of things, and these precedences can be forced by the use of round brackets which say "do this bit grouped in the brackets first".

An assignment statement - that's a code chunk with an "=" sign in it - says "work out the result of the expression on the right and save it to the variable named on the left:

  float bmi;
  bmi = weight / (height * height);


That's good - our calculation is done. But one small issue remains - the result is held in the computer's memory and isn't shown to the person running the program - we must output it somehow. Here's an example of how we might do that, adding a bit of text and some new lines too so that the result doesn't get lost into the other text being displayed:

  System.out.print("BMI is ");
  System.out.print(bmi);
  System.out.println();


For people who have programmed before, I've just written an awful lot of text which explains things they know so well that they assume. But for newcomers, this sort of thing is a revalation.

In all of the programming languages we teach, we offer a "LEARNING to program in xxxxx" course, which starts off with a day coving these basic principles and making sure that are delegates are really happy with them. And we also offer a "xxxxx programming" course for delegates who have written some programs before, but in different languages. Such delegates will be familiar with the principles described above (but not necessarily the syntax of the particular langauge) already.

By providing an alternative course that's got an extra day on the front for complete novices, we ensure that we provide vital grounding for newcomers, but at the same time don't make more exprienced coders waste their time and money (and get bored too) sitting thorough things they already know. It really works!




The complete source code example (program) from which I have quoted above is on our web site [here]. For a list of all our public training courses, see [here]. Courses last from 1 to 5 days, and run at our Melksham, Wiltshire, UK training centre. For delegates who don't live nearby, we have on site hotel rooms available so that they can stay with us during the course.