"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.
(written 2011-07-21)
2c94
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
J703 - Java - Variables [3917] BODMAS - the order a computer evaluates arithmetic expressions - (2012-11-09)
[3278] Do I need to initialise variables - programming in C, C++, Perl, PHP, Python, Ruby or Java. - (2011-05-05)
[3041] Java - basic rules for arithmetic, variables and conversion - (2010-11-10)
[3038] Setting up individual variables, and arrays, in Java - some commented examples - (2010-11-09)
[2153] Class Loading and Variable Conversion in Java - (2009-05-02)
[2148] Variable scope in Java Servlets and other web applications - (2009-05-01)
[1448] Question on division (Java) - Also Perl, PHP, Python ... - (2007-11-28)
[127] Conversion and coercion in Java - (2004-11-22)
G300 - Well House Consultants - Public Courses [4015] Upcoming courses and availabiity - (2013-02-22)
[3983] Upcoming courses at Well House Manor - Ruby, Python, Perl - (2013-01-19)
[3964] What is coming up from Well House in 2013 - public Open Source / IT courses. - (2012-12-28)
[3924] The bedrooms at Well House Manor - (2012-11-16)
[3911] How well do you know Perl and / or Python? - (2012-11-04)
[3903] Python Programming class for delegates who have already self-taught the basics - (2012-10-25)
[3876] October to December 2012 - Public Courses - (2012-09-30)
[3829] Training courses - rest of 2012, 2013 and January 2014 - (2012-08-06)
[3823] Know Python or PHP? Want to learn Perl too? - (2012-07-31)
[3637] April, May and June 2012 - Public Open Source Programming Courses - (2012-03-04)
[3573] New in Java 7 - and why we are not running public Java 7 courses - (2012-01-08)
[3559] Well House Consultants - Open Source Programming Courses for 2012 - (2011-12-21)
[3528] December courses - PHP, Python, Perl - and a weekend Lua course - (2011-11-24)
[3401] Open Source Training Schedule - learn a programming language - in Autumn 2011 or 2012 - (2011-08-20)
[3358] Upcoming Programming courses ... High Summer, 2011 - (2011-07-15)
[3219] How do I become a Linux System Administrator? - (2011-03-28)
[3205] Open Source (Public) courses - PHP, Tcl, SQL, Python, C and C++ in Melksham, Wiltshire, UK - (2011-03-18)
[3160] Extra courses - Advanced PHP, MySQL and Lua - (2011-02-07)
[3129] Extra courses - C and C++ - (2011-01-12)
[3078] Royal Wedding. How William and Catherine have changed our schedule - (2010-12-02)
[3074] Running a course ... what if the tutor isn't well? - (2010-11-29)
[3071] Well House Price list, January to March 2011 - (2010-11-25)
[3021] Courses for late 2010 and early 2011 - (2010-10-30)
[2965] Testimonials - Well House Consultants Open Source courses - (2010-09-21)
[2942] Open Source Programming - Training Course Schedule - (2010-08-31)
[2928] Public (scheduled) or private course? Book direct, or through a third party? - (2010-08-19)
[2927] Announcing 2011 Open Source Training courses - dates and prices - (2010-08-18)
[2881] Tailoring of courses to meet customers needs - how it works - (2010-07-21)
[2839] Software versions used - June 2010 - (2010-06-30)
[2736] Perl Course FAQ - (2010-04-23)
[2558] Happy new decade - and course and hotel prices for 2010 - (2010-01-01)
[2341] Koulutus, Open Source tietokone kielillä - (2009-08-09)
[2340] ldning, Open Source dator språk - (2009-08-09)
[2339] Opplæring, Open Source datamaskinen språk - (2009-08-09)
[2338] Uddannelse, Open Source computer sprog - (2009-08-09)
[2337] Opleiding, Open Source computertalen - (2009-08-09)
[2336] Formação, Open Source computador línguas - (2009-08-09)
[2335] Ausbildung, die Open-Source-Sprachen - (2009-08-09)
[2334] Formazione, Open Source computer lingue - (2009-08-09)
[2333] Formación, de los lenguajes de código abierto - (2009-08-09)
[2332] Formation, des langages Open Source - (2009-08-09)
[2048] Learning to program in PHP, Python, Java or Lua ... - (2009-02-19)
[1968] Review of 2008 - (2008-12-31)
[1929] 2009 - Hotel, Meeting, Training Course prices - (2008-12-07)
[1857] November and December Public Course Schedule - (2008-10-27)
[1836] Next in the sequence - courses next year (2009) - (2008-10-12)
[1751] Public Training Course Dates until July 2009 - (2008-08-13)
[1693] July to December 2008 - Open Source training schedule - (2008-07-01)
[1615] PHP training courses every month - (2008-04-18)
[1565] Languages compared - based on developer community size - (2008-03-05)
[1420] The Learning Perl crew, October 2007 - (2007-11-03)
[1414] What we teach - expained for the non-technical - (2007-10-28)
[1035] Longer hours and better value courses - (2007-01-15)
[933] Course Joining package - updated - (2006-11-20)
[845] Course scheduling and Geekmas - are they traditions yet? - (2006-08-26)
[646] PHP - London course, Melksham Course, Evening course - (2006-03-14)
[387] Training course plans for 2006 - (2005-07-23)
[181] Maximum number of trainees on a course - (2005-01-18)
[172] Public courses in London - (2005-01-07)
3a97
Some other Articles
Local Council leads bans on many activitiesWell House Manor hotel, Melksham - recommended to you by our customersGoogle +1 - what is it?Specification, Design, Implementation, Testing and Documentation - stages of a (Java) programming projectTurning bright delegates into bright and knowledgable onesDogs Legs on the DoglegShould we take sponsored adverts on our site?Swindon, Chippenham and Melksham to Weymouth - Sunday Train Service StartsBlowing our own trumpet - MySQL resourcesMelksham Carnival, 2011 - pictures