From: info@sco.COM (SCO Information)
Newsgroups: biz.sco.announce
Subject: New Developer Courses Offered - SCO Educational Services
Date: 9 Jan 93 17:23:26 GMT
Followup-To: biz.sco.general
Organization: The Santa Cruz Operation, Inc.

SCO Educational Services is offering two new developer courses:
"SCO Software Development Tools" and "SCO Systems Programming" .
These are two- and three-day courses, respectively, and will both
be offered for the first time the week of February 22, 1993 in
Santa Cruz.  They will also be offered in our Washington DC
(Reston, VA) office the week of March 8, 1993.

Course descriptions are included in this announcement.  For more
information on enrolling, please contact SCO Service Sales
(svcsls@sco.com).

For questions concerning the course contents, please contact the
course instructor, Steve Gzesh (stevegz@sco.com).

---------------------------------------------------------------------

SCO SYSTEMS PROGRAMMING--3 days

Key Benefits

o Learn to use UNIX system calls for I/O and file control,
process control, memory management, and IPC functions
o Design software for maximum portability
o Identify non-portable system and language features

Course Highlights

This three-day course is designed to help an application/system
programmer use many of the system calls and libraries that are
available in the UNIX operating system, including those calls
dealing with I/O, file locking, process control, pipes, inter-
process communications, memory allocation, and terminal control
via ioctl function calls.  Lab exercises allow the students to
practice using these calls.

Who Should Attend?

Experienced application and system programmers who want to use
some of the more advanced features of the UNIX operating system
for developing their own applications.  The course assumes a
working knowledge of UNIX and fluency in the C programming
language.  Prerequisite classes (or equivalent experience)
include: Introduction to SCO System V, Shell Programming for
System Administrators, and Introduction to C Programming.

Course Materials

o Course Student Guide

Course Contents

Day 1

System Calls and Library Routines
     System Calls
     Library Routines
Files and I/O
     Files
     File information calls
     File access calls
     Superblock calls
     Special files
     Filesystem calls
     File control
     Regular and Symbolic file links
     Related system calls
File Locking
     Advisory locking
     Mandatory Locking
Process Management
     Processes
     Basic definitions
     Process creation and termination
     Process execution
     Process environment
     Signal handling
     Non-local goto's
     Related system calls

Day 2

Pipes
     Unnamed pipes
     Named pipes
     Related system calls
Memory Management
     malloc(S), free(S)
     Related library routines
Inter-process Communication (IPC)
     General components
     Shared memory
     Message queues
     Semaphores

Day 3

Extended Terminal Interface (ETI)
     The curses(S) library
     Panels
     Menus
     Forms
Network Programming
     The Open Systems Interconnection (OSI) Model
     The Transport Layer Interface (TLI)
     The X/Open Transport Interface (XTI)
     Connection mode communication
     Local management
     Connection establishment
     Data transfer
     Connection release
     Example server program
     Example client program
Internationalization
     Internationalization
     Localization
     Locales
     Internationalized library routines
     Message catalogs
     Coding guidelines
Programming on a Trusted System
     Protected subsystems
     Coding guidelines
     Interrogating the protected password database

Hands-On Labs

o Using file and I/O calls
o Process creation and management
o Using pipes
o Dynamic memory allocation
o Using shared memory, message queues, and semaphores
o Writing screen-oriented applications
o Network programming
o Internationalization
o Using the protected password database

---------------------------------------------------------------------

SCO SOFTWARE DEVELOPMENT TOOLS--2 days

Key Benefits

o Learn more about the Microsoft C compiler and how to manipulate
object files
o Create and use makefiles
o Use the Source Code Control System (SCCS)
o Learn how to use lint and dbxtra
o Create and use libraries
o Learn how to profile applications
o Use the Software Mastering Toolkit

Course Highlights

This two-day course is designed to help an application/system
programmer use many of the tools that are available in the UNIX
operating system, including advanced compiler controls, use and
creation of libraries, debugging, and program maintenance tools.
Particular emphasis will be to have the student show proficiency
with make, SCCS, dbxtra, and libraries.  After each new tool is
presented, the student will get hands-on experience by performing
lab exercises that are designed to supplement and reinforce the
learning experience.

Who Should Attend?

Application and system programmers who are working on larger
projects and want to use UNIX tools to more effectively manage
the project.  This lecture/lab course assumes a working knowledge
of UNIX and fluency in the C programming language.  The following
courses can satisfy these prerequisites:  Introduction to SCO
System V, Shell Programming for System Administrators, and
Introduction to C Programming.

Course Materials

o Course Student Guide
o (Some other SCO doc?)

Course Contents

The Microsoft C Compiler
     Compiler front-end and passes
     Diagnostic messages
     cvtomf(M)
     The link editor (ld(CP))
     Command line flags and options
Manipulating Object Files
     dump(CP)
     size(CP)
     nm(CP)
     strip(CP)
     mcs(CP)
The make Command
     Makefile format
     Syntax of make(CP)
     Macros
     Built-in rules
Source Code Control System
     SCCS Terminology
     Creating an SCCS file
     Retrieving a file
     Recording changes
     Delta numbering
     Administrative control
     ID keywords
     prs(CP) and other SCCS utilities
The lint Command
     lint(CP) functionality
     Warning level options
     C source comments
     Other options
Libraries
     Archive libraries
     Shared libraries
The dbxtra Debugger
     Preparing files for debugging
     Using dbxtra(CP)
Profiling Applications
     Preparing a file for profiling
     Using the PROFOPTS variable
     lprof(CP)
     prof(CP)
The Software Mastering Toolkit
     The Software Mastering Toolkit
     A custom(ADM) installation
     Creating a distribution

Hands-On Labs

o Using advanced compiler options
o Examining object files
o Using makefiles
o Using SCCS
o Creating and linking archive libraries
o Using dbxtra
o Profiling applications
o Creating a distribution using the Software Mastering Toolkit

---------------------------------------------------------------------
Newsgroups: biz.sco.sources