Courses

Most courses can come in lab or lecture versions. Not all courses have lab portions.

Course Title Length Labs
Available
Table of
Contents
Learning Perl (Llama course) 5 days Yes PDF
Intermediate Perl (Alpaca course) 4 days Yes PDF
Mastering Perl (Vicunas course) 2 days No PDF
Test Driven Development 1 day Yes
Beginning Catalyst 2 days Yes
Learning CGI with Perl 3 days Yes  
Secure CGI Scripting 1 day   PDF
Learning XML with Perl 2 days Yes  
Code Review 1/2 day    
Databases and Perl 1 day Yes PDF
Practical Web Programming 1 day Yes PDF
P is for Practical 1 hour    
custom courses varies Yes  
open enrollment varies    

We generally recommend the lab form, since it gives students more time to practice and retain material. It also gives the trainer the opportunity to personally interact with each student.


Learning Perl

by Randal L. Schwartz and Tom Phoenix

This course is based on Randal and Tom's popular O'Reilly Nutshell book, Learning Perl. The course presumes no prior knowledge of Perl, and exposes the course participants to the most important parts of Perl -- those items that are needed to accomplish many common tasks, and to lay the groundwork for more advanced study on an as-needed basis.

The lab version of Learning Perl runs approximately 4-1/2 days. We can shorted the class to four days by skipping some of the material. A Learning Perl lecture requires 12 to 15 hours over 2 days.

This course is not for non-programmers. Participants are expected to understand fundamental programming concepts -- for example, "What is a subroutine? What is an array?" -- and be able to edit text files. A knowledge of Unix shell scripting and/or C programming is also very helpful, but not necessary.


Intermediate Perl (Alpaca course)

by Tom Phoenix and Randal L. Schwartz

This Alpaca course, sometimes known as PROM, uses O'Reilly's Alpaca book, "Intermediate Perl" by Randal L. Schwartz and brian d foy with Tom Phoenix. It's suitable for students who have completed the Learning Perl (Llama) course, or who otherwise have a good background in the basics of Perl.

Using the appropriate data structure can greatly simplify development and maintenance of programs. This course covers advanced data structures in Perl.

Large programs — whether written by a single programmer or a team of programmers, each working on discrete yet interdependent libraries, modules, and other program sections — require special programming techniques. The Alpaca course will show you how to keep your Perl program running smoothly even when it must grow past the 100-lines-of-code barrier.

The Alpaca course runs four days when complete with lecture and lab time. Some material may be omitted to compress it to


Mastering Perl (Vicunas course)

by brian d foy

The "Mastering Perl" course uses "Mastering Perl" by brian d foy. It's suitable for students who have completed the Learning Perl (Llama) and Intermediate Perl (Alpaca) courses, or who otherwise have a good background in the intermediate aspects of Perl.

The course covers the skills students need to write or maintain enterprise-level programs in Perl, including configuration, logging, error handling. The students learns more about the practice of programming Perl rather than more syntax or features.


Beginning Catalyst

by Jonathan Rockway

This class is based on Jonathan Rockway's Catalyst: Accelerating Perl Web Application Development book. Catalyst is a Perl web application framework. "Beginning Catalyst" covers basic application in Catalyst, including creating a new application, developing a database schema through an object-relational model, and creating different views of the application information.

To be successful in this class, students should be comfortable with everything in Intermediate Perl, including module creation and object-oriented programming. Students should have some exposure to databases, SQL, and at least one templating language such as Template Toolkit or Mason. This class requires some advanced skills including module installation, subclassing, and basic web development skills.

For more information on Catalyst, visit the project website.


Test Driven Development

by Joshua McAdams

Test Driven Development (TDD) is more than just a catchy phrase, it's actually a movement that's sweeping the development world from the smallest one-man project to large teams on lengthy corporate initiatives. The practice is very simple to understand, but takes a large amount of skill and determination to master. This course will walk you through real examples of TDD in practice while introducing you to the tools that you need to drive your development practices with tests in Perl.

To be successful in this class, students should be comfortable with everything in Intermediate Perl, including using and creating object-oriented modules.


Learning CGI with Perl

by brian d foy

This class covers the basics of CGI programming with Perl. The standard presentation presumes that students are familiar with the material presented in the Learning Perl class. The lab version of this course is very programming-intensive and should not be attended by students with a shaky foundation in Perl.

The entire course takes about 2 days to present as a lecture, and about 4 days as a lab. The course can be shortened to a single day (lecture) or 2 days (lab) by omitting some of the advanced material.


Secure CGI Scripting

by brian d foy, Tom Phoenix & Randal Schwartz

This course assumes that you already know CGI programming but want to watch out (or look for) security problems in the design or implementation of your code.


Learning XML with Perl

Coming Soon. Please contact us for more details.


Code Review

by Randal L. Schwartz

This half-day course covers what programmers and quality control managers should look for while examining Perl code for bugs, such as maintainability and security issues. Some clients combine this course with a day of code review consulting from Stonehenge.


Databases and Perl

This two-day course covers database access from Perl using the DBI module, starting from flat-files and ending with relational databases that use SQL. The course assumes that students already know SQL.


Practical Web Programming

Perl is useful for much more than just handling CGI scripts. This course shows many of the other uses of Perl for web-related applications, mostly by walking through some of the interesting small (but useful) Perl programs. CGI scripts are mentioned in passing, but only in combinations with other web techniques. Examples include using Perl as a web client, a web server, in combination with CGI strategies, parsing and generating HTML, and database interface, as well as summarizing log files.


P is for Practical

This hour-long talk covers everything a non-technical manager or new programmer needs to know about Perl to make a decision about whether or not Perl is the right tool for them.


Custom courses

We also offer custom-designed courses in Applied Perl. Please contact us for more details.


Open enrollment

If an on-site class doesn't match your financial or logistical needs, consider one of our open-enrollment courses. See our schedule for upcoming dates and contact information.