Note: This schedule is Tentative. The topics we cover each week will depend almost entirely on how much we were able to cover in the previous lecture.
| Date | Lesson | Slides | Topics | Handouts | Texts † |
|---|---|---|---|---|---|
| NONE |
Unix Basics *
|
|
The very basics - cd, mkdir, ls, rm, rmdir, chmod
|
||
| Jan 16 |
Introduction to CSCI2230
Helpful Resources Introduction to Perl |
|
Policies, Info
Resources, Effective Emailing Lexical vs Global, Scalars/Arrays/Hashes, basic I/O |
ICA0
Paul's solution |
C chp 1, pp 45-60, 72-78 L chp 1-3,6, pp 68-73 P intro, data |
| Jan 23 |
Interpolation
Context Operators File/Directory Access |
|
variable and backslash interpolation
scalar vs list context operators, operator precidence open, opendir, close, <>, $/ |
ICA1
Paul's solution |
C chp 3, pp 60-72, 78-85 L chp 1-3,5,12 P op, opentut |
| Jan 30 |
Built-In Functions
Command Line Arguments Control Structures External Programs |
|
splice, keys, values, sort, length, index, reverse, stat, substr
@ARGV if/else/unless, while/until, for/foreach, do, next/last/redo system, backticks, pipes |
ICA2
Paul's solution |
C chp 29, pp 111-126 L chp 10,13, pp 193-196,198-203 P func, syn |
| Feb 6 |
Regular Expressions
|
|
pattern matching, search-and-replace, regexp basics, "dirty dozen"
|
ICA3
Paul's IC3 solution Paul's IC3A solution |
C pp 139-178 L chp 7-8 P retut, re, reref |
| Feb 13 |
NO CLASS
|
CLASS CANCELLED
|
|||
| Feb 20 |
More Regular Expressions
More Built-In Functions |
|
modifiers, lookaround assertions, transliteration
map, grep, qw//, glob, each, eval, defined, exists, undef, our |
ICA4
Paul's solution |
C chp 29 pp 178-202 L chp 9,16 P reref, func |
| Feb 27 |
References
Subroutines |
|
named references, anonymous references, multi-dimensional structures
subroutines, parameters, pass-by-value, pass-by-reference, prototypes, return values |
ICA5
Paul's solution |
C chp 6 & 8 L chp 4 A chp 3-4 P sub, reftut, lol, dsc, ref |
| Mar 5 |
NO CLASS
|
CLASS CANCELLED
|
|||
| Mar 12 |
NO CLASS
|
SPRING BREAK
|
|||
| Mar 19 |
Object-oriented Programming
|
|
packages, classes, methods, overloading
|
ICA6
Paul's Solution ica6 main Pair.pm pair.pl Student.pm stud.pl |
C chp 10-13 A chp 2,8,9 P obj, mod, toot |
| Mar 26 |
More OOP
|
|
Inheritance, Exporting/Importing, testing, h2xs, documentation using POD
|
Person Base Class
Student Class Student test file ICA7 Paul's Triangle Paul's Rectangle Paul's Square |
C chp 12 & 26 A chp 12-15 P mod, pod |
| Apr 2 |
Useful Modules NO CLASS (GMWEEK), notes posted only!! |
|
integer, List::Util, Switch, File::Find, File::Basename, File::Copy, Getopt::Long, Net::FTP, POSIX, Text::Wrap, List::MoreUtils, File::Stream, Regexp::Common, LWP::Simple, Mail::Send
|
P modlib | |
| Apr 9 |
CGI Programming
|
|
CGI basics, forms, input types, param()
|
Steps For CGI
CGI Examples ICA8 Paul's Solution (Run) Paul's Solution (View) |
P CGI |
| Apr 16 |
More CGI
|
|
Heredocs, cookies, file uploading, HTML::Template, Taint checking
|
More CGI Examples
ICA 9 |
P CGI, HTML::Template, sec |
| Apr 23 |
Perl/Tk (GUI with Perl)
|
|
Event-driven programming, pack/place/grid, widgets, callbacks, key-binding
|
Steps For Perl/Tk
Hello World Tk Packing Example Tk Menu Tk ICA 10 Paul's Solution |
P Tk |
| Apr 30 |
Advanced Perl Topics
|
|
database access, signals, fork/exec/wait, Inside-Out objects
|
Inside-Out Student
main for Student ICA 11 Paul's parent Paul's child Paul's Car |
P ipc, Class::Std, DBI |
* This topic will not be covered in class. It is presumed that most students have a passing familiarity with this topic. The presentation here is merely a reference for those who are not accustomed to Unix.
† Letters in this column represent:
C » Camel » Programming Perl
L » Llama » Learning Perl
A » Alpaca » Intermediate Perl
P » Perldoc » perldoc perl<foo>
