Characteristics of a Good Perl Course
Hands-on instruction is one of the most effective ways to learn a new subject. Learning Perl from a knowledgeable instructor can improve your skills in a short time. Similarly, an ineffective course, class, or tutorial may waste your time and money.
How is a novice to evaluate the efficacy of training without the knowledge that training will impart? Fortunately, good Perl training tends to demonstrate the same characteristics.
Quality of the Instructor
A good instructor can make even the most technical material exciting.
A great instructor is well known throughout the Perl community. We can recommend without reservation several companies with experienced and effective instructors, including (but not limited to):
- Tom Christiansen Perl Training
- Stonehenge Perl Training
- Perl Training Australia
- Perl School
- Pacific Systems Design Technologies
Apart from these companies, a good trainer will often be connected to a Perl Mongers group, as a member or through a recommendation from a group. A good trainer will often contribute to the CPAN and participate in Perl forums such as PerlMonks or the Perl Beginners mailing list.
A good instructor can give references from previous students. All of the instructors from the linked companies can give myriad references from other well-known Perl programmers.
Quality of the Materials
Perl has a long and storied history. It also has a sharp focus on ensuring that code written decades ago works just as well on new releases. This compatibility comes at a price: some tutorials and training materials have fallen out of date.
Good Perl training materials will deal with the Perl versions most commonly used, but they will also follow current trends and recommendations. Where it matters, a good Perl course in 2012 or 2013 should discuss the state of the art with at least version Perl 5.10, while Perl 5.12 is preferable.
A good Perl course should include a discussion of automated testing, with Perl 5's core testing tools.
Perl training for anything more complicated than a basic introduction to the language must deal with the CPAN, including how and why to reuse any of the tens of thousands of freely available libraries.
A great Perl training course will introduce the concepts of "Modern Perl" or "Enlightened Perl" and the related practices of building, verifying, analyzing, and deploying great software written in Perl.
Any Perl training course must limit its coverage. The most important question you can ask of a potential course is "How does this apply to me?" Reputable trainers will modify their courses to meet your specific needs. The nature of the training obviously governs the detail at which these concepts will be covered, but these concepts merit a mention in even the shortest Perl introductions.
Nature of the Training
The best Perl courses are interactive. If you are organizing training through your workplace or with an educational institution, the responsibility of reserving an appropriate workspace with computers and Internet access may be yours. Take this responsibility seriously!
Perl is a powerful language, and it rewards exploration and experimentation. A series of guided laboratory exercises with an instructor available to answer questions that arise from practical problems are invaluable.
A great Perl course will provide testing materials. The instructor may need additional time to set up the lab (or require you to do so), but this is well worth the effort.
In addition to any active teaching materials, the instructor may tailor the course to your organization's specific needs. Take advantage of this by preparing questions you would like answered.
Reviews and References for the Course
Great courses are given again and again. If references are available for the specific instruction, review them carefully.
Many of the best Perl trainers give their courses to Perl Monger groups and at Perl conferences and workshops. Reviews from well-known Perl developers are often a good sign.
Recommended Followup and Reference Materials
Ask the instructor for recommended followup and reference materials. Some courses provide books to attendees—the quality of the book is often a good gauge as to the quality of the course.
A good course will point to well-known Perl resources, including the CPAN and other forums mentioned earlier. A good course may provide more specific recommendations tailored to your organization, such as CPAN modules you may find useful or other projects to watch.
The quality of a Perl training course influences the quality of the results. You will learn more and use Perl more effectively given high quality training.