Monday September 13: Fundamentals of Perl
(online class notes)
- Class introduction and overview
- What is Perl?
- Why use Perl?
- Getting Perl running
- man pages and other sources of documentation
- Your first Perl programs
- Syntax, operators and flow of control
- Application: Hello, world
- Lab exercise: Write and run your first Perl program
- To do: get the class texts; prepare for your use of Perl
|
Monday September 20: No class meeting
- Class will not meet this week. Continue your exploration
of Perl, and get more familiar with running simple programs.
|
Monday September 27: Perl overview and fundamentals continued
(online class notes)
- Operators and precedence
- Data types
- Concatenation of strings
- Error checking and security, die
- Application: simple calculator
- Lab exercise: write your own simple calculator, adding at least one new type of operator or function
- Read: Programming Perl Ch 1 “An Overview of Perl,”
Ch 2 “Bits and Pieces,”
Ch 3 “Unary and Binary Operators,”
Ch 4 “Statements and Declarations;”
Ch 23 “Security,”
Cookbook Ch 1 “Strings,”
Ch 2 “Numbers.”
|
Monday October 4: I/O and regular expressions
(online class notes)
- Input and output, open, printf/scanf
- Patterns and regular expressions
- Working with formatted data
- Debugging techniques
- Application: Searching through files
- Lab exercise: open and display files
- Read:
Programming Perl Ch 5 “Pattern Matching,”
Ch 20 “The Perl Debugger,”
Ch 26 “Plain Old Documentation;”
Cookbook Ch 6 “Pattern Matching,”
Ch 7 “File Access,”
Ch 8 “File Contents.”
- Due: Data analyzer
|
Monday October 11: Formats and subroutines
(online class notes)
- Subroutines
- Employing use and require
- Output formating
- split
- Application: directory browser
- Lab exercise: Loops and subroutines
- Read:
Programming Perl Ch 6 “Subroutines,”
Ch 7 “Formats;”
Cookbook Ch 3 “Dates and Times,”
Ch 4 “Arrays,”
Ch 5 “Hashes.”
|
Monday October 18: Hashes and references
(online class notes)
- Types of arrays in Perl
- Associative arrays (hashes)
- Searching and sorting, sort
- Application: a dictionary
- Lab exercise: array input and output
- Read:
Programming Perl Ch 8 “References.”
- Due: File searching
|
Monday October 25: Data structures and objects; Midterm
- Basic data structures and objects
- More complex structures, class functions
- Application: log file inquiry & for intrusion detection
- Midterm exam 7:45 - 9:00 pm
- Read:
Programming Perl Ch 9 “Data Structures,”
Ch 12 “Objects,”
Ch 13 “Overloading,”
Ch 14 “Tied Variables.”
|
Monday November 1: Packages and modules; basic CGI
(online class notes)
- How to use packages, more use and require
- How to write packages
- Where to find packages, perl -MCPAN
- Application: crypto
- Lab exercise: extending Perl
- Read:
Programming Perl Ch 10 “Packages,”
Ch 11 “Modules,”
Ch 22 “CPAN;”
Cookbook Ch 12 “Packages, Libraries and Modules.”
|
Monday November 8: Note: Class will
not meet this week;
- Read:
Cookbook Ch 14 “Database Access.”
|
Monday November 15: Note: Class will not meet
this week - Read: Cookbook Ch 18
“Internet Services,” Ch 19 “CGI Programming,”
- Due (by Wednesday November 17 at 6:00 pm): Log file analyzer
|
Monday November 22: Server-side programming with CGI
(online class notes)
- CGI fundamentals; httpd overview
- CGI authoring and debugging, use CGI
- Interaction with the host system
- Application: Web form
- Lab exercise: basic CGI
- Read:
Ch 16 “Process Management and Communication,”
Ch 17 “Sockets.”
|
Monday November 29: Web-database integration
(online class notes)
- Database overview: tables, rows, fields & data types
- Tying to a database
- Perl methods for database access; ODBC
- Database input and output
- Working with database results
- Application: Database input and output
- Lab exercise: creation and use of a database
- Read:
Programming Perl Ch 17 “Threads.”
- Read:
Programming Perl Ch 15 “Unicode,”
Ch 16 “Interprocess Communication;”
Cookbook Ch 20 “Web Automation,”
- Due: Making a module
|
Monday December 6: The future of Perl
(online
class notes)
- mod_perl
- Why is Perl so popular?
- How Perl will continue to grow
- Perl 6
- The future of online applications
- Review for final exam
- Application: Upgrading Perl
- Application: ecommerce
- Lab exercise: stateful CGI
- Read:
Programming Perl Ch 24 “Common Practices,”
Ch 27 “Perl Culture;”
Cookbook Ch 21 “mod_perl.”
Ch 22 “XML.”
- Due: Perl database
|
Monday December 13: Final exam
- Final exam: Scheduled for 8-10 p.m., but we
will have it 6-8 pm based on class consensus. The exam is linked here
(http://snowy.arsc.alaska.edu/gbn/exams/205-fall2004-final.html)
|