| Instructor | Yiu Fai Sit |
| Office hours | MW 11:00-12:00, in TAY basement, or by appointment |
| yfsit@cs.utexas.edu | |
| Website | Use Blackboard, at http://courses.utexas.edu/ |
Perl is a programming language that combines the modern robustness of Java with the expedient pragmatism of scripting languages. It offers both the low-level system access of C and the high-level elegance of Lisp. One of its mottoes is, “There’s More Than One Way To Do It.” Its flexibility makes Perl a powerful tool, but its permissiveness can lead to incomprehensible code or mysterious bugs.
This course provides a brief introduction to the language for students who want to add Perl to their toolbox. It assumes familiarity with the fundamental elements of computer programming, but no prior experience with Perl or any other particular language is necessary. Brief weekly assignments will give students hands-on experience writing, debugging, and revising Perl programs. A final project will exercise students' ability to develop a slightly more involved program, integrating concepts familiar from the weekly assignments.
Learning Perl, Fifth Edition by Randal L. Schwartz, Tom Phoenix, and brian d foy. Published by O'Reilly Media, Inc., 2008.
Learning Perl is the only textbook necessary. The 4th edition of the book should also be fine, because we will only briefly cover features in the newest version of Perl, which as of this writing has not yet been installed on the UTCS machines.Students who like Learning Perl and who want more are encouraged to try Intermediate Perl, by the same authors. Students seeking a more in-depth presentation of material from both books are encouraged to read Programming Perl, Third Edition, by Larry Wall, Tom Christiansen, and Jon Orwant. Published by O'Reilly Media, Inc., 2000.
Also, the perldoc web site at http://perldoc.perl.org/perl.html contains both some relatively well-written tutorials and many handy reference material.
Seven weekly homeworks will be assigned in Wednesday classes and due the following Wednesday at 11:59 PM. Homework will be submitted using the turnin program from a CS account. DO NOT USE THE MICROLAB TURNIN WEB PAGE. Type man turnin on a CS machine for more details.
You have 4 slip days for your homeworks. You may divide your slip days across the homeworks in any way you want.
To create a CS account, visit https://udb.cs.utexas.edu/amut/acut/. To access a CS account, visit the computer lab in the basement of Taylor Hall or log in remotely to a CS machine listed at http://www.cs.utexas.edu/facilities/accommodations/public_labs/unix_hosts_status/.
The course will proceed at the pace of one chapter in the text for each meeting. (The chapters are relatively short.) Students should feel free to read each chapter either before or after the corresponding lecture, as better suits their learning style. The instructor reserves the right to adjust the schedule if necessary.
| Chapter | Date | Topic |
|---|---|---|
| 1 | Jan 21 | Introduction |
| 2 | Jan 26 | Scalar Data |
| 3 | Jan 28 | Lists and Arrays |
| 4 | Feb 2 | Subroutines |
| 5 | Feb 4 | Input and Output |
| 6 | Feb 9 | Hashes |
| 7 | Feb 11 | In the World of Regular Expressions |
| 8 | Feb 16 | Matching with Regular Expressions |
| 9 | Feb 18 | Processing Text with Regular Expressions |
| 10 | Feb 23 | More Control Structures |
| 11,12 | Feb 25 | Perl Modules and File Tests |
| 13 | March 2 | Directory Operations |
| — | March 4 | References |
| — | March 9 | Data Structures |
| 16,17 | March 11 | Process Management and Some Advanced Perl Techniques |