Learning Enterprises, Inc. offers on-site computer programming training.
The following languages are offered:

Unix
, Perl, Perl II, CGI, C, C++, Advanced Unix, Java and System Administration.

This is an introductory course in the user interface to the UNIX operating system. A sampling of the topics includes the history and evolution of the UNIX operating system, file and directory manipulation, screen editing with vi, permissions, customizing the user's environment, simple shell programming and special features of the shell.

Material presented during the lecture is reinforced with command usage on terminals. In addition, each student is given practical lab exercises to complete. These labs are specifically designed to aid in further exploration of the many features available under a UNIX environment.

Topics Include:
The shell command line
Common Commands
Using the screen editor VI
Files and Directories
File Manipulation
UNIX mail and communications
The shell environment
Writing simple shell scripts

Course Contents

^ Top



The basic skills necessary to effectively perform the responsibilities of a UNIX system administrator are introduced in this course. Designed for new administrators or UNIX users who wish to know more about the operations of the system, this course covers basic administration topics such as disk management, system initialization and shutdown, adding and removing users, backups and printing. Instruction concentrates on UNIX SVR4; however, various UNIX implementations are also discussed.

Intensive hands-on lab exercises are used to immediately reinforce the material presented in the lecture.

^ Top



This course is designed for experienced users, system administrators and programmers who want to increase their programming abilities. It provides an in-depth look at awk, grep, and sed, while covering many other tools as well. Both the Bourne shell and C shell are covered as programming languages. The shell process, programming constructs, style, debugging and inter-UNIX portability issues are discussed.

RECOMMENDED TEXT: UNIX Shells by Example, Ellie Quigley, Prentice Hall, 1997

 Course Contents

^ Top



Grep, sed and awk are powerful file manipulation utilities used not only at the command lines but in script writing as well. This hands-on, two-day course is designed for advanced users, programmers and system administrators who wish to learn how to use grep, sed, and awk to manipulate text and to analyze the syntax of regular expressions and regular expression metacharacters. This course uses extensive exercises to solidify concepts and is a prerequisite to any of the three-day shell programming courses.

RECOMMENDED TEXT: UNIX Shells by Example, Ellie Quigley, Prentice Hall,1997

^ Top



This course introduces the Korn shell as a programming language to create interactive shell scripts and automate routine functions. It is designed for users, administrators, and programmers who are familiar with UNIX shell commands and who wish to learn Korn shell programming to increase their productivity and knowledge of the UNIX operating system. Extensive hands-on experience includes writing and debugging shell scripts. Since the Korn shell was designed to be upwardly compatible with the AT&T Bourne shell, the course covers all of the Bourne shell features and the new features of Korn shell (i.e., history, aliasing, job control arrays, built-in arithmetic functions, and others). Topics include: description of the Korn shell, customizing the environment, shell variables, quoting, strings and patterns, positional parameters, and program constructs.

^ Top



This course introduces users, programmers and system administrators to the popular interpreted language called Perl (Practical Extraction and Report Language). Although Perl is hailed as the system administrator's language and is the standard de facto language for writing dynamic web pages, this practical course will be useful for anyone working with UNIX text files, databases and processes. Although the course is taught on a UNIX system, it is very portable and can be run on a number of platforms including DOS, Windows 95 and NT, Linux, Macintosh, etc.

Why Perl? Perl is free and easy to install. It combines the best of what the shells and C can do, and contains a superset of the grep, sed and awk programs. Perl allows individuals to write secure programs quickly and efficiently.

The fundamental topics covered in this course are: data types, operators, regular expressions and pattern handling, conditional and looping constructs, file handles and filters, file testing, command arguments, subroutines and packages, the UNIX system interface, formatting and dbm files.

RECOMMENDED TEXT: Perl by Example, Ellie Quigley, Prentice Hall, 1995

 Course Contents

^ Top



This course is designed as a continuation of Perl Programming. Students who previously took Perl Programming either in the four-day or eight-week format will also benefit from taking this new Perl Programming II course.

This course is divided into two parts: object-oriented Perl and CGI scripting. Topics covered in the first part are: Perl references, objects, modules and pragmas, and the standard Perl library, with emphasis on the proper use of Perl modules such as CGI.pm. In the second part, CGI scripting is introduced as a tool for writing effective web pages.

Course Contents

^ Top



Prerequisite: Perl programming and basic knowledge of HTML.

This customized course consists of a quick overview of HTML (hypertext mark-up language) for creating static web pages, and the relationship between the HTTP server and browser; however, the emphasis of the course is on the creation of dynamic pages and CGI (Common Gateway Interface) scripts that interact with those pages. The student will learn how to create simple stand-alone CGI scripts in Perl, how to get information in and out of the scripts, how to read log files, execute system commands, and use E-mail. After creating HTML forms using radio buttons, checkboxes, text fields, etc., the student will learn how to process the forms. Topics covered are decoding query strings, "Get" and "Post" methods, extra path information, server side includes, and the CGI.pm library

^ Top

 

 

 

 

 

Course Content - Introduction To Unix

OPERATING SYSTEM - DEFINITION

HISTORY
Ken Thompson & Dennis Ritchie/AT&T Bell Labs
The C Language & UNIX
UC Berkeley
SVR4
The X Window System

SYSTEM STARTUP

LOGGING ON
The motd
The Shell Prompt

LOGGING OUT

THE UNIX SHELL
What is the Shell
Three Popular Shells

CHANGING YOUR PASSWORD
System V Passwords
UCB Passwords
The passwd Command
The NIS Database
The yppasswd Command
The ypcat Command
The ypmatch Command

SPECIAL FUNCTION KEYS

CONTROL SEQUENCES
Correcting Typos
Program Termination
The Stty Command

BASIC UNIX COMMANDS
date
who
cal
pwd
ls
cd
clear
finger
tty
uname -n (System V)
hostname (UCB)

COMMANDS AND ARGUMENTS
Arguments
Options
Multiple Commands
Examples

MAKING FILES WITH THE VI EDITOR
Interactive Screen Editor
What is your terminal type?
Setting your terminal for VI
File naming conventions
Creating files with VI

Insert and Command Mode
The Cursor
Command Mode
Keys to move the cursor
Insert mode
The esc key
The command line

Getting Started
Commands to insert text
Command line functions
Commands to move the cursor
Deleting text
The put command
The change command
The yank (copy) command

Vi Quick Review

FILE MANIPULATION COMMANDS
Displaying the Contents of Files
cat
more
pg
head
tail

Removing Files
rm
Spell-Checking Files
spell
Disk Usage of Files
du
Finding Patterns in Files
grep
Printing Files
ucb print
iprm
system V Print
ip
ipstat
cancel
Saving files on Storage media
tar
Sorting Files
sort

METACHARACTERS
Metacharacters
File Name Substitution
The * Metacharacter
The ? Metacharacter
The […] Metacharacter

Quotation
The backslash
Single Quotes
Double Quotes

DIRECTORIES AND FILES
Plain Files
Directory Files
Hierarchical Directory Structure
The Naming Convention for Files and Directories
The Home Directory ($Home)
pwd
Making Directories
mkdir
Listing the Directory Contents
ls
Changing Directories
cd
rmdir

Hierarchical Path Structure
The root Directory
Some System Directories
The Search Path
Absolute Pathnames
Relative Pathnames
Moving Up the Path
Moving Down the Path

ADVANCED VI
Searching for a Pattern
Forward Search
The next Command
Backward Search

Substitution of One Pattern for Another
The Substitute Command
Regular Expression Metacharacters and Search Patterns
Yanking (Copying) Text from One File to Another
Repeat Commands
Undo Edits
Joining Lines
Breaking Lines

Reading Another File Into The Current Buffer
Writing the Contents of the Current File to Another File
Escape to the Shell
Recovery of a File When the System Crashes
Setting the vi Parameters
The .exrc File
Shell Initialization Files

FILE PERMISSIONS
File Permissions
Directory Permissions
Changing Permissions
chmod

MORE FILE MANIPULATION COMMANDS
Copying Files and Directories
Moving Files and Directories
Finding Files and Directories

I/O REDIRECTION
Standard Input
Standard Output
Standard Error
Redirection Metacharacters

ELECTRONIC COMMUNICATION
The mail Command (System V)
AT&T (System V) Mail
Reading Your Mail
Sending Mail

UCB Mail
Reading Your Mail
Sending Mail
Mail Over the Net

UUCP Addressing
Domain Addressing

PROCESSES
ps
kill

SHELL FEATURES
Job Control
Korn Shell and C-Shell
Korn History
Re-executing Commands at the Command Line
Command Line Edit Mode
Some Useful vi Commands

The C-Shell's History
Redisplay Commands (History)
Re-executing Commands

Aliases
The Korn Shell's Aliases
The C-Shell's Aliases

THE END

^ Top


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Course Content - Advanced Unix Utilities and Korn Shell Programming

 

THE UNIX TOOLBOX
Regular Expressions
grep and Regular Expressions
egrep
The sed Editor
sort
tr
find

AWK PROGRAMMING
Patterns and Regular Expressions
Records and Fields
Actions
The print Function
Patterns and Actions
The Input Field Separator
Awk Scripts

Pattern Expressions and Operators
Logical Operators
Arithmetic Operators
Range Patterns
The Conditional Expression
Assignment Statements
Constants
Variables
-User Defined Variables
-Increment/Decrement Operators
-Built-in Variables
-Field Variables
Begin Patterns
End Patterns
The printf Function
Redirection and Pipes
Conditional Statements
Loops
Arrays
Built-in Awk Functions
-Math Functions
-String Functions
Command Line Arguments
Reading Input
Control Functions
User Defined Functions

INTERACTIVE KORN SHELL
Start-Up
The Environment
The Prompts
Variables
Positional Parameters
Other Special Variables
Korn Shell Variables
Subshells-The Parent/Child Relationship
Exit Status
History
Aliases
Functions
print Function
Metacharacters
New Ksh Metacharacters
Tilde and - Expansion
Quotes
Command Substitution
Redirection
Pipes
The Here Document
Conditional Commands
Job Control
Timing Commands
Built-in Commands

PROGRAMMING THE KORN SHELL
Metacharacters

Redirection and Pipes

Variables
Printing Variables
Variable Expansion Modifiers
Variable Expansion of Substrings
Variable Attributes (typeset)

Script Writing

Positional Parameters

Special Variables

Shell Variables

Reading Input

Quotes

Conditionals
if
if/else
if/elif/else

The test Command

The test Command and String Testing

The let Command and Integer Testing
The Integer Type
Arithmetic

File Testing

The Null Command

The case Command

Looping Commands
for
while
until
select
shift
break
continue

I/O Redirection and Loops

The exec Command and Loops

IFS and loops

Arrays

Functions
Listing Functions
Using Functions
Exported Functions
The Typeset Command and functions
Auto-loading Functions

Debugging

Trapping Signals

Co-Processes

Processing Command-Line Options

Built-in Commands

 

^ Top

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Course Content - Perl Programming for Novice Programmers

 


MODULE 1 -- GETTING WITH IT SYNTACTICALLY
What is Perl
Perl at the Command Line
Perl Scripts
Print Functions
Literals
Quoting Rules
Here Documents

MODULE 2 -- THE FUNNY CHARACTERS
Variables
Naming Conventions
Scope and Package

Scalars
Assigning a value to a Scalar Variable
Curly Braces and Scalars
The $_ scalar variable

Arrays
Slices
Split Function

Associative Arrays

Predefined Filehandles
Standard Input
Standard Output
Standard Error

MODULE 3 -- OPERATORS AND CONDITIONS
Operators
Arithmetic Operators
String Operators

Assignment Operators
Precedence and Associativity
Relational and Equality Operators

The if Construct
Testing Equality

The if/else Construct
Numeric Operators
String Operators
Logical Operators

The if/elsif/else Construct
Autoincrement and Autodecriment Operators
String Operations
Range Operator

MODULE 4 -- REGULAR EXPRESSIONS, THEY'RE BACK!
Regular Expressions
Simple Statements and Modifiers
Pattern Matching
The Metacharacters

The tr function
Pattern Matching Operators

MODULE 5 -- GET ME OUT OF THE LOOP
Loops
Labels and Blocks
The while Loop
The Until Loop
The For Loop
Labels, Loops, and Loop Control
The foreach loop
Nested Loops and Labels

MODULE 6 -- GETTING A HANDLE ON FILES
User Defined Filehandles
A Little About Dying
The close function
Open for reading
Open for writing
Open for appending
Open for pipes
The eof function

File Testing

MODULE 7 -- YOUR ARGUMENT IS WELL TAKEN
Arguments and More Arrays
The @ARGV array--Command Line Arguments
ARGV and the Shift Functions

Array Built-in Functions
The grep function
The split function
The join function
The splice function
The pop function
The push function
The shift function
The unshift function
The reverse function
The sort function
The chop function
The chomp function

More associative Arrays

Associative Array Functions
The keys function
The values function
The each function
The delete function
The exists function
The %ENV Array

MODULE 8 -- OH THE MODULARITY OF IT ALL!
Subroutines
Defining and Calling a Subroutine
Passing by Reference
Passing By Value
The local Function
The return Statement

The Standard Perl Library
The @INC Array
Packages and .pl Files
The require function
Including Standard Library Routines
Modules and .pm Files
Using a Perl5 Module

 

^ Top

 

 

 

 

 

 

 

 

 

 

 

 

 




Course Content - Perl Programming II



MODULE 1 -- I HID ALL MY PERLS IN A PACKAGE
Packages
The Symbol Table
Using The Strict Pragma

MODULE 2 -PACK IT UP AND TAKE IT TO THE LIBRARY
The Standard Perl Library
Including a Standard Perl Library Routine
Using a Perl5 Module from the Standard Perl Library
Including your Subroutines from Another Directory
The Exporter Module and the @ISA Array
Using Modules from the Standard Perl Library
Using Perl to Create Your Own Module

MODULE 3 -- IT'S NOT POLITE TO POINT
References
Symbolic References (aliases and typeglob)
Hard References (pointers)
Anonymous Variables and References

MODULE 4 -- WHAT'S THE OBJECT OF THIS LESSON
Object Oriented Perl
OOP Terminology
Classes
The my Function
Objects
-Blessing
Methods
-Invoking Methods
-The "new" Class Method
-Instance Methods
-Passing Parameters to Constructor Methods
-Passing Parameters to Instance Methods
Destructors
Inheritance
The @ISA Array
Derived Classes

MODULE 5 -- POD FILES
Perl Modules and Documentation
Another Look at the Standard Perl Library
POD Files

POD COmmands
How to Use POD Interpreters
Using a Module from the Standard Perl Library

MODULE 6 -- TYING VARIABLES AND DBM FILES
Tying Variables and DBM Files

The Tie Function

Predefined Methods

DBM Files
Creating and Assigning Data to a Database
Deleting Entries from a Database

MODULE 7 -- WEB PAGES & HTML
What makes up a WEB page?

Static and Dynamic Pages

The Common Gateway Interface

Internet Communication Between Client and Server
HTTP Status Codes and Logfiles

The URL
WEB Protocols
File URLs and the Server's Root Directory

Creating a Web Page with HTML
What is HTML
Creating Tags
A Simple HTML Document

A Little HTML Tutorial
Text Layout
-Comments
-Structure Tags
-Title and Headings
-Formatting Text
-Paragraph and Line Breaks
-The Horizontal Rule
-Lists
-Tables

-Hyperlinks
-Using Images
-Java Applets

MODULE 8 -- THE COMMON GATEWAY INTERFACE
Intro to CGI
Error Logs and Stderr
Access Logs and Status Codes
A Simple CGI Script
Where to find CGI Applications
Getting Information into and out of a CGI Script
CGI Environment Variables
An HTML File with a Link to a CGI Script

MODULE 9 -- PROCESSING FORMS
CGI and Forms

Input Types for Forms

Creating a Form
A Simple form with Text Fields, Radio Buttons, and Popup Menus

The Get Method

Processing the Form
The encoded query string
Decoding the Query String with Per
Parsing Form Input

Putting it All Together

The Post Method

Handling Emai
The SMTP Server
Email and the mailto: Protocol

Extra Path Information

Server Side Includes

MODULE 10 -- THE CGI.pm MODULE
Introduction

Advantages

Two Styles of Programming with CGI.pm
Object Oriented Style
Function Oriented Style

How Input From Forms is Processed
Creating the HTML Form
HTML Methods (Table 10.1)
Processing the Form's Data with Param

Checking the Form at the Command Line

CGI.pm Form Elements (Table 10.3)

Methods for Generating Form Input Fields
The Textfield Method
The checkbox method
The radio_group and popup Methods
The popup_menu Method
The Submit and resent Methods
Clearing Fields with the Override Argument

Error Handling

Cookies

HTTP Header Methods

 

^ Top