Training, Open Source Programming Languages

This is page ... dule-.html

Our email: • Phone: 01144 1225 708225

For 2023 (and 2024 ...) - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
After Course Resources - do we publish sample answers. Example from Java Exceptions module.

At the end of each module on our courses, there's an exercise for the delegates. It lets them make use of many of the elements they've learned about to consolidate their knowledge. And it helps me evaluate, as they work through the exercise, how they are progressing; I can "mop up" any major elements of the module just taught which they would like me to go into deeper, or explain from another angle. Some delegates complete exercises much faster than others - they may be naturally quicker (some folks are), but it's more likely that they'll be quicker because they already have prior experience in a related subjects. So many of our chapters have additional exercises at the end that provide a deeper opportunity to explore for the more advanced people.

Should we publish the answers in the notes? Well - firstly the word "the" is wrong. There isn't just one answer to most programming jobs - even short exercises, so we could do no better that provide "an" answer. So I would be worried about giving something that the print would give the aura of being near perfect. And I would also be concerned at the too-tempting ease with which people could look down or turn the page too early - when a little bit of thought would gain them rather more than the cop-out of copying. So - no - there aren't answers in the notes that delegates use to accompany the course.

But ... delegates want to look back at the courses they attended, and see sample answers. The delegates who only complete the first exercise in a section want to learn a little from the second exercise (in just a few minutes) by looking at a sample answer. And I want to have pre-written answers to hand so that I can review the question, and solution(s) before we move on to the next module. So we have the sample answers on our web site, indexed module by module, and delegates used to how to look them up during and after the course. We're almost alwasy on line during courses these days - ALWAYS at Well House Manor, and usually through mobile broadband when running a private course at your office. And I carry a full backup / development copy of our website with me so that we can look stuff like the examples up even if we're out of Internet range / not allowed to use it on a secure site.

How to find the source of an example that's in the notes from a course you attended

1. Look at the top of the page in the notes ... and you'll find the module number. That's a letter followed by a three digit number - and I'm going to take the Java Exceptions module as an example - it's J712.

2. Go to the page named from the module in our resources directory - so that's
in my example.

3. In the notes, you'll find a sample of how each program runs and that will include the program name. You'll find the resources lists out all of the blog articles on the subject in question, then below that list you'll find each of the source and sample (and usually data ...) files by name, and with a one line title too. Simply follow the link to the source!

Our notes, and the source, remains our copyright. However, you are welcome to cut and past examples to see how they function, and to make use of what you learn from them in your work - we exist to teach you, and to help you move forward, after all. There are just two "proviso"s to this:

a) It is up to YOU to ensure that a sample from our web site shows and does what you need - they come without any form of warranty, and indeed many of them show examples which the notes will tell you are not ideal solutions. After all, we have to provide examples in early chapters which make use of a very limited subset of what a language can do, which makes for very clunky code. Input validation is often lacking too, as this could double or treble the size of a piece of code, turning it from a short demonstration of the key points into a longwinded example in which you couldn't see the wood for the trees.

b) We specifically require, within the granting of a very liberal set of reuse rules, that you do NOT use our material for teaching yourself, without out prior written (emailed OK!) permission. The examples and course notes are our livelyhood, we have a huge investment in them, and we ask that you respect that ... and we're happy to present the course almost anywhere in the world - see [here] for country by country details. If you're a past delegate and want to give a quick presentation within your company and use a handful of our examples - please ask. I'll almost certainly be delighted to grant permission!

How to find the sample answers

1. and 2. - same steps as above

3. The question in the notes will usually show you an example of the sort of results you're being asked to acheive, and that will include the program name ... the sample answer will be included within the list of examples, below the list of associated blog articles.

Finding other related examples, articles, etc

The resource index page for each module lists the technical articles, blog entries, examples (and even in some case pictures) that support the module. And in the right hand column, you'll also find a listing of other modukles on the same subject so that you can move forward and backward through the 'book'. In front of J712 - Exceptions in Java - you'll find J711 - Java in the Web Page and behind it you'll find J713 - More input and output

When you are displaying an individual sample from the notes, you'll see that all the other examples in the same section are listed down the right hand side so that you can move around easily, and each example also has a link back to any technical article(s) that link to it, so that you can find further documentation.

Where you're reading a technical article in the archive (that's where most people find them!), you'll find that there's a list of the modules that we feel they are relevant to after the main text of the article, with links to the index of that module, and also to other technical article in that module.

Our navigation scheme's not perfect - in fact, you'll often find that a Google search, limited to our site, will work wonders for you:
Search Google for [add keyword please]:

Our own search box may help you too - that uses a context based algorithm too - but (as I write) the Google folks have something that's so much better and you should make use of it. Their technology is licensable too - and it's something for us to consider using in the future.

But I'm not a past delegate - can I access / use your resources?

Yes - to a very great extent you can. And indeed you are welcome to do so. You'll not have the printed materials / training notes available to link the articles and materials together into a complete course, but we'll be delighted if our resources help you answer those questions that you've found so difficult to resolve. And - who knows - if you find our answers helpful, you may decide that you would benefit from attending a full public course or having us run a course at your office for you and/or your colleagues.

And Finally

To complete my example, here's a guide to the examples on "Java Exceptions" which inspired this article and explanation ... is an example that fails when you try to run it - it's designed to show you what goes wrong if you don't consider / catch exceptions. is the same program, but with additional code added to fix the problems illustrated by You can get the names of both of these fles from our training notes. We have also provided on the web site the following extra source files - which is an interface definition to provide commonallity to two other classes - and If you read the notes, or the source code of Neston / Wadswick, you'll find the calls to / need for these other classes.

At the end of the module, the exercise asks you to take a piece of code that will only work if you give it the sort of data it expects (an integer typed at the keyboard) and will crash otherwise ... the code is called - and asks you to complete it. There's also that sample answer that I told you about - it's [here] in the same directory.

Delegates on courses will - by this time - have become very familiar with our WellHouseInput class which is used on the first few days of our Java Courses; it provides easy user input for some of the earlier examples and exercies, celebrating Java's encapsulation ability to hide some of the more difficult things within easy to call classes and methods. Rather than repeat the file withing many different directories on our server (repetition would make for duplicated maintainance!), delegates will know all about it already - and if you're not a delegate you can get it [here].

The last two examples on the web site in J712 don't come from the notes at all - they're an extra example that I wrote during a course, and they showed sufficient new features to be worthy of being added. They're which includes the use of your own class of exception, multiple exception handlers on a single try, and a finally block - things which are only covered in passing in the notes - and which is the file in which we show you how to define your own exception. Of course - just dropping extra examples here, unannounced, would be something of a waste of resource, rather like hiring a phone line and offering anyone who calls it a free ticket to the new Harry Potter ... but then not publicising the line. So they're indexed, and they're listed by title, and they're commented about on the blog too. And when we revise the notes in due course, the new examples might appear there is they are mainstream.

As I write the article - that's all the examples that I've got on the web site in the Java Excpetion area. But that's not to say it will stay that way - as we run more courses (next public Java course - February 2011) more examples get written, and a selected few that are significant get added in. So - watch this space.

Link to Java Exceptions module index - [here]
Full list of modules - [here]
Link to Java courses - [here]

Illustrations - delegates on last week's Java course. Did I tell you that our course manuals are now full colour?
(written 2010-11-13)

Associated topics are indexed as below, or enter for individual articles
J712 - Java - Exceptions
  [1066] Final, Finally and Finalize - three special words in Java - (2007-02-05)
  [1875] What are exceptions - Python based answer - (2008-11-08)
  [2420] Exceptions in Java - why and how - (2009-09-24)
  [2622] Handling unusual and error conditions - exceptions - (2010-02-03)
  [2862] Fail Safe Error Handling in Java via Exceptions - (2010-07-09)
  [3048] String handling - from first steps to practical examples - (2010-11-13)
  [4350] Keyboard reader for Java programming newcomers - (2014-12-12)
  [4396] Java Utility class - flexible replacement for array. Also cacheing in objects and multiple catch clauses example. - (2015-01-16)

G305 - Well House Consultants - Post Course support
  [136] Please tell us - (2004-12-01)
  [199] Post course support - part of the service - (2005-02-02)
  [244] Getting your examples, my examples and the data files after your course - (2005-03-13)
  [248] Use me, but use me effectively - (2005-03-16)
  [293] Course follow-ups - (2005-04-27)
  [327] How far should our support go - (2005-05-28)
  [336] Targetted Advertising - (2005-06-05)
  [389] Tough Love - (2005-07-25)
  [509] Snippets from Geekmas - (2005-11-28)
  [516] Open source questions? Anyone can ask. - (2005-12-03)
  [569] Instructions for bright people - (2006-01-19)
  [609] Been on a course, but still not got it? - (2006-02-16)
  [651] Please Register with Opentalk - but just once! - (2006-03-19)
  [1245] Ensuring that our tutor answers YOUR questions - (2007-06-25)
  [1874] Is it worth it? - (2008-11-07)
  [2102] What do people think of our Apache httpd / Tomcat course? - (2009-03-24)
  [2732] Asking about Jesus - (2010-04-20)
  [3391] For programmers who use Internet Explorer as their browser - (2011-08-13)
  [3419] Data that we use during our training courses, and other training resources - (2011-09-04)
  [3701] Refresh and Revision training class days - Perl / PHP / Python / Lua / Ruby / Tcl / C / C++ - (2012-04-19)
  [3770] Sample answers to training course exercises - available on our web site - (2012-06-21)
  [4588] What teach you in a week stays with you for a decade - (2015-11-29)

Back to
Changing a Servlet - more that just editing and compiling
Previous and next
Horse's mouth home
Forward to
Java Beans, tag libraries and JSPs - what and why.
Some other Articles
Computer Graphics is fun - even if Java Applets are Old Hat
What is a universal superclass? Java / Perl / Python / Other OO languages
Java Beans, tag libraries and JSPs - what and why.
After Course Resources - do we publish sample answers. Example from Java Exceptions module.
Changing a Servlet - more that just editing and compiling
Gathering information - logging - with log4j. First steps.
Least Common Ancestor - what is it, and a Least Common Ancestor algorithm implemented in Perl
Java - basic rules for arithmetic, variables and conversion
Doing several things at the same time - Java threads
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page

This is a page archived from The Horse's Mouth at - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

© WELL HOUSE CONSULTANTS LTD., 2024: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: • WEB: • SKYPE: wellho

PAGE: ... dule-.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb