CSC 255: String Processing Languages (Introduction to Perl)

Introduction

Perl has long been the language of choice for system administrators who need to write scripts to get tasks done. Whether it's parsing log files to produce reports or automating changes to C/C++ source-code files, Perl is perfect for accomplishing these tasks. Since its inception, Perl has grown and now includes many advanced features such as object-oriented programming and graphic user-interface support. This course will introduce you to Perl as a scripting language, and prepare you to expand your skills to include the more advanced features in the future.

top of page


Course Objectives

As mentioned above, this course is designed to teach you Perl as a scripting language. After completing this course, you should be comfortable with the basic concepts of the language and syntax. The information gained in this course includes most features that system administrators use Perl for. Even if you do not go on to learn the advanced features, this course will give you the ability to do useful work using Perl.

top of page


Text

Required

Randal L. Schwartz, Tom Phoenix, and Brian D. Foy, Learning Perl, 4th edition (2005)

The text can be obtained from the Higher Grounds bookstore at the Friday Center in person, by ordering online, or by printing and mailing the book order form.

Optional

Watkins, Alan, Elementary HTML and Web Programming (2004)

Perl is often used for Web programming. This is an excellent book to teach you basic HTML and how HTML interacts with Perl. To inquire about this book, contact Sharon McConathy at NC State University via e-mail or by calling 919-515-5221.

top of page


Course Requirements

There are fourteen lessons, each with a lecture to expand upon the reading assignment. There are five programming assignments to turn in (after Lessons 3, 5, 9, 10, and 12), and a comprehensive final exam. When you have finished all the coursework and are ready to take the final exam, send me an e-mail and I'll send it to you.

Submitting work for this course

You will send your assignments to be graded by clicking a "Submit Assignment" button located at the end of each assignment section. This button opens a pre-addressed e-mail to me and the Self-paced Courses office with the assignment number in the subject line. Send your assignments as attachments to this e-mail. Please add your name to the subject line—it makes it easier for me and Student Services to track your progress, and keep your work separate from that of other students.

It is extremely important for you to save copies of any work you send to me via e-mail. If I don't receive your work, you must have a duplicate copy, indicating the date sent, to prove that you submitted the assignment. It is your responsibility to maintain copies of your sent e-mails, as there is no way to guarantee that any e-mail message will be delivered.

Please check your e-mail software to see how it manages sent and saved messages. Some software automatically deletes messages one month after they have been sent; others only save messages if they are filed in folders; others save messages received but not those sent. You may need to send yourself a copy of your e-mailed assignment at the same time you send it to me, or you may need to print a copy of the e-mail message and any attachments to keep in your paper files. No matter how your system works, make sure you know how to save a copy of all work that you submit to me and that you save the copy for several months beyond the end of the course.

Grading

The percentage of your course grade assigned to each of the course requirements follows:

Assignment 1 15 percent
Assignment 2 15 percent
Assignment 3 10 percent
Assignment 4 15 percent
Assignment 5 20 percent
Final Exam 25 percent

Each assignment will be given a numeric grade based on a 100-point scale. The corresponding letter grades are shown in the table below:

93-100
A 87-89 B+   77-79 C+   67-69 D+
90-92
A-   84-86 B   74-76 C   64-66 D
    80-83 B-   70-73 C-   60-63 D-

top of page


Course Mechanics

The primary method of communication in this course is electronic. You will communicate with me and submit your assignments via e-mail. It is essential to inform me and Student Services of any change in your e-mail address.

Contact me with questions regarding the content of the course and your progress. There is an e-mail link to me at the top of every lesson page.

Contact the Instructional Designer at the Friday Center with problems with this Web site, including bad links.

If you have any nontechnical logistical questions as you work through the course (credits, transfers, withdrawal, extensions, and so on), contact Student Services at the Friday Center, telephone 919-962-1134 or 800-862-5669.

top of page


Honor Code

You are bound by the Honor Code: "It shall be the responsibility of every student to obey and support the enforcement of the Honor Code, which prohibits lying, cheating, or stealing when these actions involve academic processes or University students or academic personnel acting in an official capacity."

top of page


Lessons and Assignments Schedule

The course schedule is up to you. You can complete the course in as few as twelve weeks or take as long as nine months. The important thing is to get a good start, then maintain your momentum.

Since this course is not held in a classroom, I will probably never meet you in person. Still, I would like to know something about you so that I can associate each e-mail message from you with something more than a screen name. Therefore, your first task is to send me a Personal Information Sheet: Save this Word Document to your hard drive (or copy and paste from this Web page into your word processing program), fill it out, and attach it to an e-mail to me.

Then go on to Lesson 1.

  Reading Topic Assignment
Lesson 1 Chapter 1 Introduction to Perl  
Lesson 2 Chapter 2 Scalar Data and First Perl Statements  
Lesson 3 Chapter 3 Lists and Arrays Assignment 1
Lesson 4 Chapter 4 Subroutines  
Lesson 5 Chapter 5 I/O Basics  
Lesson 6 Chapter 11 Filehandles and File Tests  
Lesson 7 Chapter 6 Hashes Assignment 2
Lesson 8 Chapters 7 and 8 Introduction to Regular Expressions  
Lesson 9 Chapter 9 Using Regular Expressions

Assignment 3

Lesson 10 Chapter 10 More Control Structures Assignment 4
Lesson 11 Chapter 12 Directory Operations  
Lesson 12 Chapter 12 Manipulating Files and Directories Assignment 5
Lesson 13 Chapter 14 Process Management  
Lesson 14 Chapters 13 and 16 Strings and Sorting  
Final Exam When you have finished the course work and are ready for the final exam, notify me and I'll send it to you.
Course Evaluation: Please take the time to share your experience with this online course.

top of page

Lesson 1


Course author: Alan Watkins, MA, MCS
Current instructor: Alan Watkins
, MA, MCS

© The University of North Carolina
Last modified: May 21, 2008
Send comments and questions to fridaycenter@unc.edu.