FOOTHILL COLLEGE
COMPUTERS, TECHNOLOGY, AND INFORMATION SYSTEMS

DEGREE APPLICABLE
COMPUTER INFORMATION
SYSTEMS 68E COURSE OUTLINE WINTER 2003

1. Catalog Description
CIS 68E PROGRAMMING IN PERL 5 UNITS

Advisory: CIS025A or CIS015A or CIS027A, and CIS068A.

Four hours lecture, four hours terminal time.

Programming in the Windows and UNIX environments using PERL to create utility programs.

2. Expected Outcomes
The student will be able to:
Design, create, debug and execute programs written in the PERL programming language.

3. Special Facilities and/or Equipment Needed
Access to a laboratory with UNIX or Windows workstations equipped with Perl5. Access to a computer with e-mail software and hardware; e-mail address.

4. Expanded Description of Course Content

A. Overview of Perl
1. Basic understanding of the Perl interpreter
2. "HELLO WORLD!" program
3. Scalar data types and variables in Perl
4. Operators on scalar variables

B. List Data and Arrays
1. Introduction to arrays
2. Arrays in Perl vs. arrays in C
3. Functions and operators that work with arrays, i.e. push(), pop(), sort(), etc.
4. Associative arrays
5. Associative arrays operators, i.e. keys, values, each(), and etc.
6. Using associative arrays to access environmental variables passed by the server

C. Control Structure
1. The if / unless statement
2. The while / until statement
3. The for statement
4. The foreach statement, and using it to access all the elements of an array

D. Functions ( Subroutines )
1. Modules and predefined functions
2. Defining a user function
3. Invoking a user function
4. Passing arguments to a function
5. Call-by-value, call-by-reference
6. Processing command line arguments

E. Regular Expressions
1. Concepts of regular expressions
2. Matching and substitute operators
3. Single character pattern matching
4. RE Metacharacters
5. The =~ operator
6. Substitution
7. Split(), and join() functions

F. Accessing and Manipulating Files and Directories
1. Creating files
2. Opening and closing file handles
3. Making and removing directories
4. Modifying file permissions and ownerships
5. Creating a flat-file database
6. Writing in the database
7. Reading in the database

G. References
1. Symbolic v. Hard
2. Passing arrays by reference
3. References and anonymous variables
4. ref() function

H. Object-Oriented Perl
1. OOP Paradigm
2. Objects, methods, and classes
3. Using objects from the Perl Library

I. Report Writing
1. Creating a template
2. Selecting a template
3. Generating template based output
4. Formatting Perl DBM Databases

5. Repeatability Criteria
Not repeatable

6. Methods of Evaluation
A. Programming projects
B. Midterm exam
C. Final exam
D. Class participation

7. Text
Quigley, Ellie. PERL by Example. Third Edition
Upper Saddle River, NJ: Prentice Hall PTR, 2002.

8. Authorized Disciplines
Computer Information Systems
Computer Science