[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