Chabot College Fall 2002 Computer Science 44B - Perl Programming II

advertisement
Chabot College
Fall 2002
Course Outline for Computer Science 44B
Perl Programming II
Catalog Description:
Computer Science 44B - Perl Programming II
2 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:
1. demonstrate knowledge of the control structures of Perl;
2. use scalar and array variables, operators, lists, hashes, regular expressions, files and data,
pipes, references, and subroutines;
3. run and debug a Perl program in the Unix or Linux and Windows environments;
4. construct related data tables using primary/foreign key relational integrity rules;
5. produce data entry forms that ensure data integrity;
6. construct queries by QBE (query by example) and directly in SQL;
7. produce reports that present data results in a meaningful and usable manner;
8. link Access to the SQL Server database;
9. use HTML to create a Web page;
10. 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:
1.
2.
3.
4.
5.
6.
7.
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;
8. 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:
1. Perl Modules
a. Perl package hierarchies and the standard Modules
b. File::Find, File::Spec and files, directories, and subroutines
c. GetOpt::Std, GetOpt::Long and command line arguments, long flags
d. Benchmark
e. Win32
f. The Perl Package Manager
Chabot College
Course Outline for Computer Science 44B
Perl Programming II
Fall Semester 2002
Page 2
2. Object-Oriented Perl
a. Objects and how to create them
b. Object-Oriented design -- tasks, persistence, sessions, hidden objects
c. Trade-offs between object-oriented and procedural programs
d. Vocabulary: objects, methods, attributes, classes, polymorphism, encapsulation,
inheritance, constructors, destructors, references, private, public
e. Implementing these concepts in code
f. Bless operator
3. Common Gateway Interface
a. CGI on Unix/Linux, Apache
b. CGI on Windows
c. Writing CGI scripts
d. Generating HTML text from Perl
e. Using CGI services in Perl
f. HTTP Get and Post commands and writing interactive CGI scripts
g. CGI security; cookies, wrappers, taint checking
4. Perl and Databases
a. DBM (the DataBase Manager) and its implementations
b. DBI (the DataBase Interface)
c. DBM tools: opening, checking the state of, creating, emptying, and closing a DBM database
d. Reading, deleting and changing data in a DBM database
e. DBI and relational databases, SQL
5. Perl and the Internet
a. Running programs remotely
b. Communicating between programs (IPC, peer-to-peer networking)
c. Network clients
d. Network servers
e. Signals
f. Fork, Wait and Exec
g. Networking with sockets and ports, TCP vs. UDP
h. Multiplexing servers with IO::select
6. Other Perl features (select as appropriate)
a. Accessing graphical interfaces (GTK+, Gnome, others)
b. The Perl Math module, BigInt and BigFloat
c. The Perl Data Language and matrix manipulations
d. Complex numbers in Perl
e. Perl security and cryptography
f. PerlScript
g. Communicating with C programs
Methods of Presentation:
1. Lecture, discussion and classroom demonstrations
2. Student use of the computer laboratory
Chabot College
Course Outline for Computer Science 44B
Perl Programming II
Fall Semester 2002
Page 3
Assignments and Methods of Evaluating Student Progress:
1. Typical Assignments
a. Small Perl programs to illustrate points from lecture/reading
b. In-lab exercises
2. Methods of Evaluation Student Progress
a. Exams which may include quizzes, midterms and a required final examination
b. 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
Download