Chabot College Fall 2008 – Perl Programming II

advertisement
Chabot College
Fall 2008
Removed Fall 2010
Course Outline for Computer Science 44B
PERL PROGRAMMING II
Catalog Description:
44B – Perl Programming II
2 units
Using Perl Modules, Object-oriented Perl, and Perl with the World Wide Web. Perl with sockets, CGI,
databases, HTML forms, Web servers and other internet resources. Prerequisite: Computer Science 44A
or equivalent (completed with a grade of C or higher). 1.5 hour lecture, 1.5 hours laboratory.
[Typical contact hours: lecture 26.25, laboratory 26.25]
Prerequisite Skills:
Before entering the course the student should be able to:
1.
2.
3.
demonstrate knowledge of the control structures of Perl;
use scalar and array variables, operators, lists, hashes, regular expressions, files and
pipes, references, and subroutines;
run and debug a Perl program in the Unix or Linux and Windows environments.
data,
Expected Outcomes for Students:
Upon completion of the course the student should be able to:
1.
2.
3.
4.
5.
6.
7.
8.
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 Biglnt and BigFloat; the security and cryptography
module; the complex number routines; or the Perl Data Language as time permits.
Course Content:
1.
2.
3.
Perl Modules
a.
Perk 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 Perk Package Manager
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
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
Chabot College
Course Outline for Computer Science-44B, page 2
Fall 2008
4.
5.
6.
f.
HTTP Get and Post commands and writing interactive CGI scripts
g.
CGI security; cookies, wrappers, taint checking
Perl and Databases
a.
Overview of relational databases and Perl databases
b.
DBM (the DataBase Manager) and its implementations
c.
DBI (the DataBase Interface)
d.
DBM tools: opening, checking the state of, creating, emptying, and closing a DBM
database
e.
Reading, deleting and changing data in a DBM database
f.
DBI and relational databases, SQL (as time permits)
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
Other Perl features (select as time permits)
a.
Accessing graphical interfaces (GTK+, Gnome, others)
b.
The Perl Math module, Biglnt 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.
2.
Lecture, discussion and classroom demonstrations
Student use of the computer laboratory
Assignments and Methods of Evaluating Student Progress:
1.
2.
Typical Assignments
a.
Write small Perl programs to illustrate points from lecture/reading
b.
In-lab exercises
Methods of Evaluating 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)
Perl by Example, 3rd ed., Quigley, Prentice Hall, 2002, or most recent edition
Special Student Materials:
None
HKM revised 8/27/2007
Download