Hi,

        I'll be teaching an Advanced Perl class next month.  The topics I
intend to teach appear below.
        The total duration of the class is 30 hours (20+10 lecture/lab).
        I also plan to have the students complete a class project using many
of these features. 
        Could you critique the syllabus and let me know how this can be
improved?

        Thanks

        Ranjan
        
----------------------------------------------------------------------------
--------------
        1.      Command Line Perl
                        a.      Perl standard processing idiom and the Unix
filter model
                        b.      Argument processing
                        c.      Command line switches
                        d.      Text processing techinques
                        e.      Debugging techniques
        2.      Advanced File Processing
                        a.      Changing read/write behavior with special
variables: $/, $|
                        b.      Different file open modes
                        c.      Flip-flop operator (..)
                        d.      Handling binary files
                        e.      Examining directories
                        f.      Shared access and file locking
                        g.      File and IO modules
        3.      Advanced treatment of Regular Expressions
                        a.      Regular expression state machines - DFA &
NDFA
                        b.      Greedy and non-greedy quantifiers
                        c.      Zero-width assertions
                        d.      Extended regexps - /x 
                        e.      Lookahead, Lookbehind 
                        f.      Compilation, qr///
                        g.      Dynamically making replacement text -- /e
        4.      References & Data Stuctures 
                        a.      References
                        b.      Building complex data structures
                        c.      References and sorting
                        d.      Soft (or Symbolic) references 
                        e.      Typeglobs and Symbol Tables
        5.      Advanced treatment of functions
                        a.      Techniques of parameter passing 
                        b.      References and Subroutines (including
typeglobs, coderefs, and closures)
                        c.      Recursion
                        d.      Signal handling
                        e.      Function prototypes
        6.      Eval
                        a.      Runtime eval
                        b.      Exception handling
        7.      Modules
                        a.      Using and installing modules
                        b.      Namespaces, Variable scoping
                        c.      BEGIN/END blocks
                        d.      Autoloading and overriding
                        e.      Writing a module
                        f.      Embedding Perl: XS and C interfacing, Inline
                        g.      Documenting Classes and POD's
        8.      Object-Oriented Programming 
                        a.      Object-Oriented Programming Concepts
                        b.      Classes, Objects, and Methods in Perl
                        c.      Inheritance 
                        d.      Tie
                        e.      Multiple inheritance
                        f.      Customizing method dispatch using AUTOLOAD
                        g.      Operator overloading
        9.      Network Programming
                        a.      Networking concepts
                        b.      IO::Socket Module
                        c.      Client/Server implementation
                        d.      FTP and Telnet Modules
        10. Persistence
                        a.      Tie and DBM
                        b.      Storable etc.
                        c.      DBI
        11. Multiprocessing and Threading
                        a.      Process Creation and Management
                        b.      Pipes
                        c.      IPC
                        d.      Threads
        12. Performance and Security
                        a.      Profiling
                        b.      Benchmarking
                        c.      Caching and Memoize
                        d.      Security: Taint checks and Safe module
        13. Managing Dates and Times
                        a.      Built-in time functions
                        b.      Time::Local
                        c.      Date::Calc
        14. Web Programming
                        a.      LWP
                        b.      Parsing HTML, XML
                        c.      CGI
                        d.      CGI Security
        15. GUI - Perl/Tk

Reply via email to