[Melbourne-pm] Australia's garbage computer training offerings

Jacinta Richardson jarich at perltraining.com.au
Mon Dec 29 03:52:54 PST 2008


John Thornton wrote:

>                         I have scoured the earth looking for any 
> Australian computer trainers that can meet my needs. I am a maths 
> graduate who’s starting programming as a beginner. I have messed about 
> with python, Java and Perl.

You have a fine skill-set to go on our courses.

>                        Cost is not a real issue. I am prepared to pay 
> for a good course taught by people who know their stuff. More important 
> is to do a course online that covers the specifics of programming: OOP, 
> applets etc. The language also isn’t that important.

You have a very specialised idea of what the specifics of programming 
are.  I would say that the really general concepts you need to know 
about are:

* variable types (depends on your language, but once you've done the 
basic type(s) you must also have a firm handle on lists/arrays and 
hashes/dictionaries)

* how to make more complex data structures (arrays of arrays, arrays of 
hashes, hashes of array, hashes of hashes, mixed hashes etc) and how to 
print them in a human readable form

* typical functions/concepts you should be able to rely on most 
languages to provide you with (print, string length, array length, hash 
keys etc)

* control flow (while, conditionals etc) and how to make appropriate 
decisions about structure, conditional choices etc

* function/subroutine declaration and usage (including why and when
you'd break things into such)

* creating libraries/modules, understanding name spaces and packages etc

* using existing libraries, and OO interfaces to those

* file input/output, directory interaction, system interaction, security

* problem solving in an imperative paradigm

Once you have a firm understanding of all of these concepts in one 
language, you have a very good chance of moving them across to another 
(imperative) language.  You will always have to remember that just 
because you learned it one way, doesn't mean that's the best way.  There 
are numerous things that Perl does better than C (for example), but 
there are also lots of things that Perl does that are an embarrassment 
which many are looking forward to losing in Perl 6 (most of the special 
variables for example).  Likewise you'll find that there are numerous 
things that Java does better than <new language> but if you know Java 
well enough, you'll be aware of it's flaws too and able to appreciate 
the things that <new language> does better than it.


I personally feel that object oriented programming is a paradigm better 
learned after you've got all the general concepts down.  In Perl you can 
use objects provided by other classes without having to understand much 
more than the synopsis and I think this is brilliant.  But even without 
Perl, I'd prefer teaching C before C++ or Java.  So I, as a trainer, 
would list OOP and applets as a nice extra in a course about 
programming, not as a key feature.

 > The learning style matters – those 5 day intensive
> things are no good for me. Rather, I prefer a course that is spread out 
> over time.

There are two possible styles of running a course.  An x-day intensive 
version or one which is spread out.  From a logistical point of view, 
x-day intensive courses are cheaper to run (lab hire is per day or half 
day not per hour (owning labs is even more expensive); trainers can be 
sent all over the country as required rather than being required to be 
in a given place every Thursday afternoon), involve a lot less 
organisation (people are either there or not there for the whole course, 
not turning up half way through or dropping out) and are easy to sell. 
When an employer decides they want their employee to know a language, 
they want that employee to know the language as soon as possible; not 
after a 6 month long course during which circumstances might make it 
impossible to keep giving that employee appropriate leave to make it to 
classes.

So commercial businesses have to run intensive courses.  The few times 
that Perl Training Australia has considered running evening or weekend 
courses (and especially the few times when employers have asked us to 
consider it) the interest from possible attendees has been nil.  People 
in 9 to 5 jobs would much rather miss a week from work to learn a new 
skill than give up their very precious evenings and weekends - even if 
that skill makes them more employable.  I don't blame them either.

This is fine, because we have the higher education sector to cover those 
who want to learn over time.

>                       TAFE is too vague in its course descriptors. 
> Postgraduate uni costs the earth and I don’t understand that fee help 
> business. I am reluctant to take a chance on a course for fear of not 
> getting what, I assume, is one of a very limited number of fee help 
> places.  

You say above that cost isn't a real issue but perhaps it is.  I doubt 
you'd really want to do a full postgraduate university degree anyway; 
chances are it would be overkill.  A TAFE diploma in programming should 
cover pretty much everything you need to know.  If their course 
descriptions are too vague do some more research.  Go in and talk to the 
lecturer about what the course will cover, or link us a few courses 
you'd consider taking and ask us for our advice.  Vagueness is a poor 
excuse; it'd be better just to say that you'd rather not go to TAFE.

>                       So, as a last resort I have had to look overseas 
> even with losses through exchange rates. There are no courses online in 
> Australia that meet my needs, as undemanding as I consider my needs to 
> be.

Online training is a whole lot of work for very little gain.  It's easy 
enough to video sessions and put them online, but for skills like 
programming it's important to be able to ask questions; get assistance 
when your program doesn't compile and you can't spot why; get feedback 
on why your solution is taking so long to run.  Even with that aside, 
customers expect online training courses to cost less than face to face 
courses; but that's only possible if you're getting sufficient demand 
for them.  I would hate to think of how long it would cost to recoup the 
initial time investment if I were to generate a high quality online 
course; yet alone the time required to keep the content up-to-date. 
Small businesses like mine can't afford it.  Even the bigger businesses 
like IIT can't afford it.  Don't underestimate the time required for 
keeping the course up to date; we spend between 1 and 2 days after every 
single course, adjusting our course notes so they'll be better for the 
next run.

Your needs aren't particularly demanding, but the Australian market is 
not big enough to make it efficient for Australian companies to meet them.

>                      I am both disappointed and surprised at the lack of 
> IT offerings in Australia. With all due respect to the people reading 
> this who teach Perl, you are not focused on people like me. Rather, your 
> market is corporate where the employer pays for the training and the 
> employee takes 5 days off work to do intensive Perl training. In itself 
> that is not objectionable since it’s a valid market. But it does zap out 
> people like me.

We don't see much evidence that there are masses of people like you.  We 
get less than 1 such enquiry a year (certainly less than 7 in the 7 
years we've been in business).  Since we're training about 150 people 
per year, it isn't cost efficient for us to adjust our course styles for 
that < 1%.  I'm fairly certain that most people with your requirements 
choose to learn from a book, online tutorial or - more often - a TAFE 
course.

We make our course notes available on line for precisely this reason. 
If someone wants to learn Perl, and is able and willing to do so from a 
book, then we'd rather they use our book than anyone else's.  We provide 
free support for our course notes and answer any questions people who 
are self-learning may have.  Although our exercises and answers files 
aren't available for download from our website, that's neither an 
insurmountable barrier to those learning Perl nor something that can't 
be overcome with a polite request to us.  ;)


John Thornton also wrote:

> I am  33. I wish that I got into programming when I was 12 or 20.
 > But it just never happened. I never played with a Commodore set or
 > an Atari. In fact I left school utterly computer illiterate; I
 > couldn’t put a disk in the disk drive. That era was a garbage era
 > for teaching kids computers. I wish that I had gone through the
 > era 5 to 10 years later.

A good many of us are the same age as you.  Some of us were lucky and 
didn't leave school computer illiterate, and perhaps others of us did. 
   I realise that that era had great diversity in the quality of 
"computer lessons" (all of mine were pretty bad too) but I'd never have 
thought of calling it "garbage".  When I left school I could use a 
computer to run applications (games and otherwise), but had very little 
other interest in them. Still I... bravely chose a Software Engineering 
degree and learned a whole lot more at university.

I don't view being 33 as much of a hurdle to your learning to program 
though.  The biggest issue is whether you can make the time to do so; 
finding free time is so much easier when you're younger and your parents 
or Centerlink will support your learning.

As you have stated that you're not a huge fan of Perl, I thought I'd 
point out that there are a whole host of other programming user groups 
in Melbourne which may be able to further assist you.  You can find the 
list of the ones I know about at 
http://perl.net.au/wiki/Melbourne#User_Groups_-_Software_Development

All the best,

	J


More information about the Melbourne-pm mailing list