Chabot CollegeFall 2002
Course Outline for Computer Science 44B
Perl Programming II
Catalog Description:
Computer Science 44B - Perl Programming II2 units
Using Perl Modules, Object-oriented Perl, and Perl with the World Wide Web. Perl with sockets, CGI, databases, HTTP/HTML, mail, forms, Web servers and other Internet resources. Prerequisite: Computer Science 44A, Computer Science 91 or Computer Application Systems 91 or Electronics and Computer Technology 91 and Computer Science 40A or Computer Science 47A (all completed with a grade of C or higher). 1.5 hours lecture, 1.5 hours laboratory.
Prerequisite Skills:
Before entering the course the student should be able to:
- demonstrate knowledge of the control structures of Perl;
- use scalar and array variables, operators, lists, hashes, regular expressions, files and data, pipes, references, and subroutines;
- run and debug a Perl program in the Unix or Linux and Windows environments;
- construct related data tables using primary/foreign key relational integrity rules;
- produce data entry forms that ensure data integrity;
- construct queries by QBE (query by example) and directly in SQL;
- produce reports that present data results in a meaningful and usable manner;
- link Access to the SQL Server database;
- use HTML to create a Web page;
- use SQL to access either an Oracle or an MS Access database.
Expected Outcomes for Students:
Upon completion of the course the student should be able to:
- use Perl Modules;
- use Perl in an object-oriented manner;
- describe the basics of the CGI (Common Gateway Interface) standard;
- write Perl applications to use CGI to access a Web server such as Apache;
- access a database using simple SQL queries from Perl using DBM or DBI;
- access Internet services in Perl;
- use Unix system services such as processes, signals, network services, sockets, and the inetd daemon from within Perl;
- use Perl for accessing graphical interfaces, such as the GTK+ and Gnome, use other selected Perl services: the math routines, including BigInt and BigFloat; the security and cryptography module; the complex number routines; or the Perl Data Language as time permits.
Course Content:
- Perl Modules
- Perl package hierarchies and the standard Modules
- File::Find, File::Spec and files, directories, and subroutines
- GetOpt::Std, GetOpt::Long and command line arguments, long flags
- Benchmark
- Win32
- The Perl Package Manager
Chabot College
Course Outline for Computer Science 44BPage 2
Perl Programming II
Fall Semester 2002
- Object-Oriented Perl
- Objects and how to create them
- Object-Oriented design -- tasks, persistence, sessions, hidden objects
- Trade-offs between object-oriented and procedural programs
- Vocabulary: objects, methods, attributes, classes, polymorphism, encapsulation, inheritance, constructors, destructors, references, private, public
- Implementing these concepts in code
- Bless operator
- Common Gateway Interface
- CGI on Unix/Linux, Apache
- CGI on Windows
- Writing CGI scripts
- Generating HTML text from Perl
- Using CGI services in Perl
- HTTP Get and Post commands and writing interactive CGI scripts
- CGI security; cookies, wrappers, taint checking
- Perl and Databases
- DBM (the DataBase Manager) and its implementations
- DBI (the DataBase Interface)
- DBM tools: opening, checking the state of, creating, emptying, and closing a DBM database
- Reading, deleting and changing data in a DBM database
- DBI and relational databases, SQL
- Perl and the Internet
- Running programs remotely
- Communicating between programs (IPC, peer-to-peer networking)
- Network clients
- Network servers
- Signals
- Fork, Wait and Exec
- Networking with sockets and ports, TCP vs. UDP
- Multiplexing servers with IO::select
- Other Perl features (select as appropriate)
- Accessing graphical interfaces (GTK+, Gnome, others)
- The Perl Math module, BigInt and BigFloat
- The Perl Data Language and matrix manipulations
- Complex numbers in Perl
- Perl security and cryptography
- PerlScript
- Communicating with C programs
Methods of Presentation:
- Lecture, discussion and classroom demonstrations
- Student use of the computer laboratory
Chabot College
Course Outline for Computer Science 44BPage 3
Perl Programming II
Fall Semester 2002
Assignments and Methods of Evaluating Student Progress:
- Typical Assignments
- Small Perl programs to illustrate points from lecture/reading
- In-lab exercises
- Methods of Evaluation Student Progress
- Exams which may include quizzes, midterms and a required final examination
- Design and writing of various and multiple assigned programs and other assignments that utilize all topics included in the course of study.
Textbook(s) (Typical):
Beginning Perl, Cozens, Wrox Publishers, 2000
Special Student Materials:
Computer lab fee
Diskettes
Optional zip disk
Revised: 11/30/01 Mehl
CS 44B Outline Fall 2002