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 | Camel |
|---|---|---|---|---|---|
| NONE |
Unix Basics
|
|
The very basics - cd, mkdir, ls, rm, rmdir, chmod
|
||
| Aug 31 |
Introduction to CSCI2230
Helpful Resources Introduction to Perl |
|
Policies, Info
Resources, Effective Emailing Lexical vs Global, Scalars/Arrays/Hashes, basic I/O |
Chapter 1 + pgs 45-60, 72-78 | |
| Sept 7 |
Interpolation
Context Operators File/Directory Access |
|
variable and backslash interpolation
scalar vs list context operators, operator precidence open, opendir, close, <>, $/ |
ICA1
Paul's solution |
pgs 60-72, 78-85, Chapter 3 |
| Sept 14 |
Built-In Functions
Command Line Arguments Control Structures External Programs |
|
push, pop, shift, unshift, keys, values, sort, length, index, reverse, stat
@ARGV if/else/unless, while/until, for/foreach, do, next/last/redo system, backticks, pipes |
ICA2
Paul's solution |
pgs 111-126, pieces of Chapter 29 |
| Sept 21 |
Regular Expressions
|
|
pattern matching, search-and-replace, regexp basics, "dirty dozen"
|
ICA3
Paul's solution |
pgs 139-178 |
| Sept 28 |
More Regular Expressions
More Built-In Functions |
|
modifiers, lookaround assertions, transliteration
substr, map, grep, qw//, glob, each, eval, defined, exists, undef, our |
ICA4
Paul's solution |
pgs 178-202, more of Chapter 29 |
| Oct 5 |
References
Subroutines |
|
named references, anonymous references, multi-dimensional structures
subroutines, parameters, pass-by-value, pass-by-reference, prototypes, return values |
ICA5
Paul's solution |
Chapters 6 & 8 |
| Oct 12 |
Object-oriented Programming
|
|
packages, classes, methods, standard modules & pragmas, overloading
|
ICA6
Paul's solution Pair.pm pair.pl Student.pm stud.pl |
Chapters 10-13 |
| Oct 19 |
More Object-oriented Programming
|
|
Inheritance, Exporting/Importing, testing, h2xs, documentation using POD
|
Person Base Class
Student Class Student test file ICA7 Paul's Solution |
Chapters 12 & 26 |
| Oct 26 |
NO CLASS
|
NO CLASS
|
|||
| Nov 2 |
Useful Modules
|
|
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
|
ICA8
Paul's Solution |
|
| Nov 9 |
CGI Programming
|
|
CGI basics, forms, input types, param()
|
Steps For CGI
CGI Examples ICA9 Paul's Solution (Run) Paul's Solution (View) |
Mouse, perldoc CGI |
| Nov 16 |
More CGI
|
|
Heredocs, multiple submits, cookies, file uploading, HTML::Template
|
More CGI Examples
ICA 10 Paul's Solution (Run) Paul's Solution (View) |
Mouse, perldoc CGI, perldoc HTML::Template |
| Nov 30 |
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 11 Paul's Solution |
Emu, perldoc Tk |
| Dec 7 |
Survey of Advanced Perl Topics
|
|
database access, signals, Tieing, fork/exec/wait
|
Tie::Plural::Scalar example
ICA 12 Paul's Option A Paul's Option B |
perldoc perltie, http://dbi.perl.org, perldoc perlipc |
* 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.
