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:

  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. use Perl Modules;
  2. use Perl in an object-oriented manner;
  3. describe the basics of the CGI (Common Gateway Interface) standard;
  4. write Perl applications to use CGI to access a Web server such as Apache;
  5. access a database using simple SQL queries from Perl using DBM or DBI;
  6. access Internet services in Perl;
  7. 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
  2. Perl package hierarchies and the standard Modules
  3. File::Find, File::Spec and files, directories, and subroutines
  4. GetOpt::Std, GetOpt::Long and command line arguments, long flags
  5. Benchmark
  6. Win32
  7. The Perl Package Manager

Chabot College

Course Outline for Computer Science 44BPage 2

Perl Programming II

Fall Semester 2002

  1. Object-Oriented Perl
  2. Objects and how to create them
  3. Object-Oriented design -- tasks, persistence, sessions, hidden objects
  4. Trade-offs between object-oriented and procedural programs
  5. Vocabulary: objects, methods, attributes, classes, polymorphism, encapsulation, inheritance, constructors, destructors, references, private, public
  6. Implementing these concepts in code
  7. Bless operator
  8. Common Gateway Interface
  9. CGI on Unix/Linux, Apache
  10. CGI on Windows
  11. Writing CGI scripts
  12. Generating HTML text from Perl
  13. Using CGI services in Perl
  14. HTTP Get and Post commands and writing interactive CGI scripts
  15. CGI security; cookies, wrappers, taint checking
  16. Perl and Databases
  17. DBM (the DataBase Manager) and its implementations
  18. DBI (the DataBase Interface)
  19. DBM tools: opening, checking the state of, creating, emptying, and closing a DBM database
  20. Reading, deleting and changing data in a DBM database
  21. DBI and relational databases, SQL
  22. Perl and the Internet
  23. Running programs remotely
  24. Communicating between programs (IPC, peer-to-peer networking)
  25. Network clients
  26. Network servers
  27. Signals
  28. Fork, Wait and Exec
  29. Networking with sockets and ports, TCP vs. UDP
  30. Multiplexing servers with IO::select
  31. Other Perl features (select as appropriate)
  32. Accessing graphical interfaces (GTK+, Gnome, others)
  33. The Perl Math module, BigInt and BigFloat
  34. The Perl Data Language and matrix manipulations
  35. Complex numbers in Perl
  36. Perl security and cryptography
  37. PerlScript
  38. 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 44BPage 3

Perl Programming II

Fall Semester 2002

Assignments and Methods of Evaluating Student Progress:

  1. Typical Assignments
  2. Small Perl programs to illustrate points from lecture/reading
  3. In-lab exercises
  1. Methods of Evaluation Student Progress
  2. Exams which may include quizzes, midterms and a required final examination
  3. 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