home *** CD-ROM | disk | FTP | other *** search
-
- ΓòÉΓòÉΓòÉ 1. Skill Dynamics OS/2 Application Developer Series ΓòÉΓòÉΓòÉ
-
-
- ΓòÉΓòÉΓòÉ 1.1. Version Notice ΓòÉΓòÉΓòÉ
-
- Trademarks
-
- The following terms are trademarks of the IBM Corporation in the United States
- and/or other countries:
-
- AIX
- BookMaster
- C/2
- IBM
- IIN
- Operate at a higher level.
- OS/2
- OS/2 32
- Presentation Manager
- Skill Dynamics
- SOMobjects
- Workplace Shell
-
- The following terms are trademarks of other companies as indicated: Microsoft
- Corporation: Microsoft Windows
-
-
- ΓòÉΓòÉΓòÉ 2. A note from the OS/2 Curriculum Manager ΓòÉΓòÉΓòÉ
-
- Dear OS/2 Developer:
-
- Developing today's complex applications requires more and more knowledge and
- training. You're working on very powerful platforms to produce mission critical
- applications that can give your business a competitive edge in the marketplace.
-
- Efficient development is mandatory. A complete understanding of the
- capabilities of OS/2 will help make you a key contributor to the success of
- your business.
-
- To give you that deep, detailed understanding of OS/2, Skill Dynamics, an IBM
- company, brings you our OS/2 Developer Series of courses. When you attend these
- classes, you'll join those developers who are tapping into the power of
- multitasking, 32-bit architectures, and the object revolution that is sweeping
- the industry. These very classes were created within IBM to train the software
- community that built OS/2 and the products than run under OS/2.
-
- The OS/2 Developer Series curriculum is technically deep with many hands-on lab
- exercises. The classes have been fine-tuned to your needs by our experience in
- teaching thousands of developers.
-
- Our classes are scheduled at IBM sites nationwide. We can also bring our
- courses to your site for a private or customized class.
-
- I trust you'll agree that our OS/2 Developer Series is your best source for
- in-depth technical training. Please contact me if you have any questions or
- suggestions on how we can improve our course offerings. I can be reached at
- BOBG@VNET.IBM.COM.
-
- Bob Goldberg,
- OS/2 Curriculum Manager
-
-
- ΓòÉΓòÉΓòÉ 3. Skill Dynamics-Your Partner in Technical Training ΓòÉΓòÉΓòÉ
-
- Skill Dynamics, an IBM company, specializes in technical training. We know that
- today's advanced technologies are only as good as the people who use them.
- That's why we work closely with IBM labs and product groups to develop our
- courses...so you can be sure you're getting the right training to fully exploit
- the power of our products. Plus, we test our courses with customers to make
- sure that the skills we teach are what they want.
-
-
- ΓòÉΓòÉΓòÉ 3.1. OS/2 Developer Series ΓòÉΓòÉΓòÉ
-
- Over 10,000 satisfied customers
-
- Our expertise in technical training is seen in our highly acclaimed OS/2
- Developer Series of courses. These lab-intensive classes were created to train
- our own programmers. Thousands of OS/2 software designers in IBM Boca Raton and
- other major programming labs have benefitted from these courses.
-
- We are now offering these courses in their entirety to external audiences. Now
- you, too, can get the same detailed training that our OS/2 application
- developers receive. All classes are lab-intensive, combining theory with
- practical hands-on experience.
-
- Our instructors get rave reviews
-
- The best trainers are those who can say, "I know what you're going
- through...I've been there...and here's how I solved the problem". Too often,
- they're full-time instructors who haven't written a line of code in years.
-
- Our instructors bring you the best of both worlds. They're all experienced OS/2
- developers plus they are consultants for many Fortune 500 firms. So, you can
- learn from their own programming experiences and their consulting engagements.
-
- Courses at our place or yours
-
- Our OS/2 Developer classes are scheduled at IBM sites nationwide. If you want
- to train a group of people, we can bring our classes to you. So, you'll get the
- convenience of a local class. Plus you'll save on travel and hotel costs. We
- can even tailor these private classes to give you the perfect fit. For details,
- please contact Bob Rohr at (914) 742-5653 or ROHR@DALVM1.VNET.IBM.COM.
-
-
- ΓòÉΓòÉΓòÉ 4. OS/2 Developer Series Flowcharts ΓòÉΓòÉΓòÉ
-
- Following are flowcharts to assist you in selecting appropriate courses in the
- OS/2 Developer Series.
-
-
- ΓòÉΓòÉΓòÉ 4.1. Foundation Courses ΓòÉΓòÉΓòÉ
-
- These courses are the recommended starting point for the OS/2 Developer Series:
-
-
- ΓòÉΓòÉΓòÉ 4.2. OS/2 Focus ΓòÉΓòÉΓòÉ
-
- These courses are recommended if you are programming in OS/2:
-
-
- ΓòÉΓòÉΓòÉ 4.3. Presentation Manager Focus ΓòÉΓòÉΓòÉ
-
- These courses are recommended if you are programming in Presentation Manager:
-
-
- ΓòÉΓòÉΓòÉ 4.4. Other courses ΓòÉΓòÉΓòÉ
-
- OS/2 Information Presentation Facility
-
- Microsoft Windows
-
-
- ΓòÉΓòÉΓòÉ 5. Course Abstracts ΓòÉΓòÉΓòÉ
-
- Following are detailed descriptions for the courses in the OS/2 Developer
- Series.
-
-
- ΓòÉΓòÉΓòÉ 5.1. OS/2 2.X for Software Developers (N1740) ΓòÉΓòÉΓòÉ
-
- 5 days, hands-on labs
- Public, private
-
- If you've developed applications on other platforms and now want to use OS/2
- 2.X, this course is for you! You'll learn the primary functions of the OS/2
- kernel via lectures, demonstrations and daily laboratory exercises. The lab
- exercises give you experience in implementing the OS/2 application programming
- interface in the C programming language. The course has been widely and
- effectively used for retraining developers migrating to OS/2 from other
- platforms.
-
- How you will benefit: Learn how to:
-
- o Apply the appropriate programming tools and procedures to build OS/2
- applications
-
- o Introduce the OS/2 application programming interface through the
- implementation of 30-40 key functions
-
- o Develop applications that implement the key features of the topics discussed
- during the classroom lectures
-
- Topics:
-
- o Introduction to OS/2
-
- - Design goals of OS/2
- - Memory organization
- - Privilege model
- - Application Programming Interface
- - Multitasking hierarchy
-
- o OS/2 Application Types
-
- - OS/2 mode windowed applications
- - OS/2 mode full-screen applications
- - DOS/Windows mode applications
-
- o Protected Mode
-
- - General purpose and memory registers
- - Operating modes
- - Protection mechanisms
- - Real mode addressing
- - Protected mode addressing
- - Memory exceptions
-
- o Introduction to OS/2 Programming
-
- - Register-based API
- - Call-based API
- - C Program template
- - Function prototypes
- - Return codes
-
- o Environment Strings and Command Line Arguments
-
- - Obtaining environment and command line pointers
- - Searching the environment
- - Environment strings
- - Command line
- - C Program entry state
-
- o Program Development
-
- - Programming tools
- - Header and include files
- - Development process
- - LINK386
- - NMAKE
-
- o Laboratory Exercise 1
-
- - Introduction to the enhanced editor
- - Writing an OS/2 program
- - IBM presentation debugger
- - System exceptions/faults
- - Displaying command line arguments
- - Experimenting with detach and start
- - WorkFrame/2
-
- o Memory Management
-
- - OS/2 2.0 memory model
- - Virtual address space
- - Memory objects
- - Memory allocation API's
- - Memory suballocation API's
-
- o Introduction to Multitasking
-
- - Serial multitasking
- - Parallel multitasking
- - Elements of multitasking (sessions, processes, threads)
-
- o Thread Management
-
- - Thread hierarchy
- - Creating threads
- - Thread states
- - Thread priority
- - Configuration parameters
- - C Programming considerations
-
- o Laboratory Exercise 2
-
- - Building a single-thread OS/2 application
- - Multitasking using two threads
- - Thread control
- - Thread management using C functions
-
- o Synchronizing with Semaphores
-
- - Uses of semaphores
- - Classes and types of semaphores
- - Application of OS/2 semaphores
- - Event semaphore API's
- - Mutex semaphore API's
- - MuxWait semaphore API's
-
- o OS/2 Timer Services
-
- - Synchronous timer API's
- - Asynchronous timer API's
-
- o Process Management
-
- - Process resources
- - Creating a process
- - Process isolation
- - Testing process status
- - Controlling process termination
-
- o Shared Memory Objects
-
- - Named shared objects
- - Unnamed shared objects
- - Shared memory allocation API's
-
- o Laboratory Exercise 3
-
- - Synchronizing threads with event semaphores
- - Creating and managing processes
- - Synchronizing parent/child processes
- - Exit routines
-
- o File Input/Output
-
- - OS/2 file systems
- - Naming OS/2 files
- - Opening/creating files
- - Standard file attributes
- - Extended file attributes
-
- o Interprocess Communication Using Queues
-
- - Client/server interprocess communication
- - Queue management API's
-
- o Dynamic Link Libraries
-
- - Static linking
- - Dynamic linking
- - Code sharing
- - Building a DLL
- - Methods of dynamic linking
- - DLL initialization
-
- o Laboratory Exercise 4
-
- - Load-time dynamic linking
- - Updating a DLL
- - Run-time dynamic linking
- - DLL initialization
- - Pipes and queues
-
- o Exception Management
-
- - System exceptions
- - Types of exceptions
- - Exception handlers
- - Exception management data structures
- - Exception management API's
-
- o Session Management
-
- - Session management components
- - Session hierarchy
- - Session management API's
-
- o Interprocess Communication Using Pipes
-
- - Standard input/output
- - Anonymous pipes
- - Named pipes
-
- o Laboratory Exercise Completion
-
- Prerequisites:
-
- Some familiarity with the PS/2 operating and programming environment is
- recommended. Working knowledge of C programming language is necessary.
-
- Prices:
-
- Tuition 1,575
- Private Class Price:
- 1-14 Students: 20,000
- Each additional student: 500
-
-
- ΓòÉΓòÉΓòÉ 5.2. Presentation Manager 2.X for Software Developers (N1688) ΓòÉΓòÉΓòÉ
-
- 5 days, hands-on labs
- Public, private
-
- Learn how to write an application that uses OS/2 Presentation Manager (PM)
- facilities to handle screen interactions. This course is 50% lab and 50%
- lecture.
-
- How you will benefit: Learn how to write an application that uses OS/2 PM
- facilities.
-
- Topics:
-
- o Introduction to Presentation Manager
-
- - What is presentation manager?
- - Goals of presentation manager
-
- o Window Overview
-
- - What is a window?
- - Parent and child windows
- - The standard window
-
- o Presentation Manager Overview
-
- - Application types
- - Introduction to messages
-
- o Introduction to Presentation Manager Programming
-
- - Presentation manager program boilerplate
-
- o Messages
-
- - Message data structure
- - Receiving messages
- - Transmitting messages
-
- o The Development Process
-
- - Include files
- - Building 16- and 32-bit programs
-
- o Painting and Clipping
-
- - Presentation manager device architecture
- - Points, rectangles, and regions
- - The WM_PAINT message
-
- o Handling User Input
-
- - Keyboard messages
- - Mouse messages
-
- o Scroll Bars
-
- - Scroll bars in the standard window
- - Programming vertical scroll bars in a text-based program
-
- o Menus
-
- - Resource file menus
- - Menu notification and control messages
- - Accelerators
-
- o Introduction to Dialog Boxes
-
- - Message boxes
- - Modal dialogs
-
- o Dialog Box Controls
-
- - Radio buttons
- - Entry fields
- - List boxes
- - Combo boxes
- - Spin buttons
-
- o Advanced Dialog Topics
-
- - Keystrokes in dialogs
- - Modeless dialogs
-
- o Fonts
-
- - Bitmap versus vector fonts
- - Selecting a bitmap font
-
- o Presentation Manager Multitasking
-
- - Using background threads
- - Types of background threads
- - Communicating between threads
-
- o Subclassing and Hooks
-
- - Subclassing windows
- - Hooking a queue
-
- o Help Systems
-
- - Writing help text
- - Writing help table resources
- - Modifying application source
-
- o 2.2.X Standard Dialogs
-
- - Standard font dialog
- - Standard file dialog
-
- o Window Words
-
- - System maintained area
- - Application maintained area
-
- o Introduction to Graphical Program Interface
-
- - Graphical program interface capabilities
- - Graphical program interface programming techniques
-
- o Presentation Spaces
-
- - Cached micro presentation spaces
- - Micro presentation spaces
- - Normal presentation spaces
-
- o Debugging Presentation Manager Programs
-
- - Codeview for OS/2 1.X
- - IBM presentation manager debugger for OS/2 2.X
-
- o Lab Code Listings
-
- o Editor Tutorial
-
- Prerequisites: You should have C programming experience and be familiar with
- OS/2 programming. OS/2 programming experience can be gained from OS/2 2.X for
- Software Developers (N1740).
-
- Prices:
-
- Tuition 1,575
- Private Class Price:
- 1-14 Students: 20,000
- Each additional student: 500
-
-
- ΓòÉΓòÉΓòÉ 5.3. OS/2 Problem Diagnosis and Resolution Workshop (N1743) ΓòÉΓòÉΓòÉ
-
- 5 days, hands-on labs
- Public, private
-
- Through lectures and lab exercises that replicate real world situations, you'll
- be taught tactical skills in problem resolution. You'll also receive the OS/2
- Survival Kit, a set of tools that have been selected for their ease of use and
- efficiency.
-
- How you will benefit: Learn how to apply tactical skills to analyze a problem
- and bring it to a quick resolution.
-
- Topics:
-
- o Debug Methodology
-
- - Problem classifications
-
- o Developer/user
- o Static/dynamic
- o Onsite/remote debug
-
- o OS/2 Specific Issues
-
- - Installation caveats
- - Access control boundaries
- - Address translation mechanisms
- - Address maps, selector usage
- - Module isolation - applications/OS2/libraries/device drivers
-
- o Problem Scenarios
-
- - Trap OD, OC
- - Deadly embraces
- - Data corruption
- - Unbalanced priorities
- - PM collapse/lockup
-
- o Debug Tools
-
- - IPMD
- - Dynamic error logging
-
- o Trace - API, protocol, configuration system parameters, OS/2 internal
- trace
- o ID's
- o Error log - utilities
-
- - ASDT, ASDT32
-
- o Installation
- o REXX symbol conversion
-
- - Kernel debugger (KDB)
-
- o Installation
- o Utilities
- o Swapper management
- o Mapsym
- o Profit/extra
-
- - Dump formatter
-
- o Onsite procedures
- o Remote debug procedures
-
- o Lab Exercises
-
- Prerequisites: Experience installing and using OS/2 programs in Assembler or C
- as well as programming experience with OS/2 or VM is recommended.
-
- Prices:
-
- Tuition 1,575
- Private Class Price:
- 1-14 Students: 20,000
- Each additional student: 500
-
-
- ΓòÉΓòÉΓòÉ 5.4. OS/2 Kernel Debugging (N3034) ΓòÉΓòÉΓòÉ
-
- 3 days, hands-on labs
- Public, private
-
- Explore the OS/2 2.X data structures and the OS/2 kernel using the debugger.
-
- How you will benefit: Learn how to effectively use the OS/2 kernel debugger.
-
- Topics:
-
- o Overview of the kernel debugger
- o Page demand memory management - CPU page translation
- o The LDT and GDT: address thunking and memory management
- o Analysis of memory management using the debugger
- o API for memory management
- o Kernel debugger lab exercises
- o Description of the OS/2 loader and analysis
- o Description of the OS/2 scheduler and analysis
- o Description of OS/2 semaphores and analysis
- o Introduction to semaphore API
- o Final trouble shooting lab exercise
-
- Prerequisites: You should be able to read Assembler and C language source
- listings. You should also have a basic understanding of OS/2 concepts.
-
- Prices:
-
- Tuition 945
- Private Class Price:
- 1-14 Students: 12,000
- Each additional student: 300
-
-
- ΓòÉΓòÉΓòÉ 5.5. OS/2 2.X for 1.X Developers (N1746) ΓòÉΓòÉΓòÉ
-
- 5 days, hands-on labs
- Public, private
-
- This advanced course will help experienced OS/2 developers make a smooth
- transition to the 32-bit environment. You'll learn how to design, build, and
- test applications in this new environment through lectures, lab exercises and
- demonstrations. This is not a general overview of OS/2 Version 2.X. It is not
- intended for those without prior OS/2 experience. Those without OS/2 experience
- should attend OS/2 2.X for Software Developers (N1740).
-
- How you will benefit: Learn how to design, build, and test applications using
- the 32-bit version of OS/2.
-
- Topics:
-
- o Introduction and Memory Models
-
- - Introduction to the workshop
- - Introduction to OS/2 2.X
- - Review of OS/2 concepts
- - Memory management in OS/2 2.X
- - API calls for memory management
- - Laboratory exercise
-
- o 16-bit application
- o Conversion of 16-bit to 32-bit application
- o Allocation of private memory objects
- o Allocation of shared memory objects
- o Accessing shared memory objects
- o Suballocation
-
- o Threads and Semaphores
-
- - Lab review
- - Thread management
- - Semaphores
- - Laboratory exercise
-
- o 32-bit semaphores, threads, and timers
- o Thread priority
- o Thread synchronization
- o MuxWait semaphore setup
- o Edge/level operation of event semaphore
-
- o IBM C Set/2 Compiler
-
- - IBM C Set/2 compiler
- - Laboratory exercise
-
- o malloc, _alloca, and DosSubAlloc
- o Conversion of MuxWait semaphore setup to multithread library
- o Buffering of printf
-
- o Queues, Signals, and Exceptions
-
- - Queues
- - Laboratory exercise
-
- o Data transport through queues
-
- - Signals and exceptions
- - Laboratory exercise
-
- o Signal handling
- o Signals for error recovery
- o Building a dynamically linked DLL
- o Building a statically linked DLL
- o Building a subsystem
-
- o Dynamic Link Libraries
-
- - Performance considerations
- - DLL's and automatic data segments
- - Exception handlers
-
- Prerequisites: This course requires C programming language and OS/2 programming
- experience. The OS/2 programming experience can be obtained in OS/2 2.X for
- Software Developers (N1740). You should also understand threads, critical
- sections, suspend/resume, parent/child process relationships, named and unnamed
- shared memory, creation of DLL modules, and synchronization using semaphores in
- the OS/2 1.3 environment.
-
- Prices:
-
- Tuition 1,575
- Private Class Price:
- 1-14 Students: 20,000
- Each additional student: 500
-
-
- ΓòÉΓòÉΓòÉ 5.6. Building OS/2 Device Drivers (N1750) ΓòÉΓòÉΓòÉ
-
- 4 days, hands-on labs
- Public, private
-
- You'll learn to develop, compile, install, and test device driver programs for
- the OS/2 1.3 and 2.X platforms.
-
- How you will benefit: You'll be able to:
-
- o Develop, compile, install, and test device driver programs
-
- o Understand programming and operational characteristics common to both
- character and block device drivers
-
- o Grasp the structure and operation of OS/2 device drivers
-
- o Design and implement an OS/2 device driver for a peripheral
-
- o Understand bimodal operation (real and protected-model), ROM BIOS
- compatibility support, interrupt handling, serialization, and the use of
- device helper services
-
- Topics:
-
- o Device Driver Introduction
-
- - dd def PMD's, BDD's, PDD's, VDD's (char v. block)
- - Real versus protected
- - 16-bit segmented model - enhanced for OS/2 2.0
-
- o Operation
-
- - task time (init)
- - interrupt time (timer, IRQ's)
-
- o Structure
-
- - Device header
-
- o Device attribute
-
- - Strategy entry point
- - Initialization, command 0 (special case)
-
- o Ring 3
- o Application context
- o IOPL OK
- o Some API's available
- o Some development helpers
-
- - Sample code fragments
-
- o OS/2 Strategy Commands
-
- o Tools
-
- - MASM
- - ASDT - demo
- - ASDTSYM
- - IBM C/2
- - LINK 16-bit
- - Kernel debugger/ASDT
-
- o OS/2 Device Helpers
-
- o Using External Interrupts
-
- o Designing Block Device Drivers
-
- o Drivers That Use ABIOS
-
- - Device ID
- - Logical ID
-
- o OS/2 32-bit Enhancements
-
- - Using 32-bit code
- - Using 32-bit device helpers
-
- o Design Tips
-
- - Performance
- - 3 MS rule
- - Interrupt rules
- - Testing
-
- o Device Helper Reference
-
- o Demo Device Driver
-
- o Demo Device Driver Using C
-
- o Application/System Debug Tool - ASDT Reference
-
- o Lab Exercises
-
- - Character driver with initialization context only
- - Character driver with strategy commands, open, and write
-
- o Write under interrupt
- o Handling multiple overlapping requests
-
- - ABIOS with hardware interrupts
-
- Prerequisites: You should have experience programming in Assembler or C
- language. You should also have completed "OS/2 2.X for Software Developers"
- (N1740) or have equivalent programming experience.
-
- Prices:
-
- Tuition 1,260
- Private Class Price:
- 1-14 Students: 20,000
- Each additional student: 400
-
-
- ΓòÉΓòÉΓòÉ 5.7. Presentation Manager: Windowing and Graphics (N1744) ΓòÉΓòÉΓòÉ
-
- 5 days, hands-on labs
- Public, private
-
- This course focuses on advanced windowing topics such as custom dialog controls
- and Graphical Program Interface (GPI) graphics. You'll examine numerous sample
- programs and write intensive hands-on lab exercises to reinforce lecture
- topics. The course is a continuation of Presentation Manager 2.X for Software
- Developers (N1688). It is intended for OS/2 versions 1.X and 2.X developers.
-
- Who Should Take This Course: OS/2 Presentation Manager programmers who want to
- raise their skill levels.
-
- How you will benefit: Learn how to:
-
- o Understand all GPI drawing primitives including lines, arcs, and bitmaps
-
- o Use GPI programming techniques including transforms, metafiles, and retained
- graphics
-
- o Use windowing techniques including subclassing, owner-draw, and user-paint
- dialog controls and menus
-
- o Write custom dialog control windows
-
- o Write programs that use Dynamic Data Exchange (DDE) and the clipboard to
- communicate with other programs
-
- o Write programs that perform device-independent output (WYSIWYG: What You See
- Is What You Get)
-
- Topics:
-
- o Introduction to Graphical Program Interface
-
- - Modal drawing interface
- - Categories of graphical program interface calls
-
- o Device Contexts and Presentation Spaces
-
- - Types of device contexts
- - Types of presentation spaces
- - Sample usage
-
- o Introduction to Device Independence
-
- - Presentation page units
- - Introduction to coordinate systems
-
- o Lines and Boxes
-
- - Line and box primitives
- - Line and box attributes
-
- o Color and Mix
-
- - Logical and physical colors
- - Color tables
- - Mix modes
-
- o Mouse Messages
-
- - Capturing the mouse
-
- o Window Words
-
- - Window-specific data
- - System usage of window data
-
- o Segments and Retained Graphics
-
- - Drawing modes
- - Segment attributes
- - Setting labels in segments
- - Editing segments
-
- o Introduction to Transforms
-
- - World coordinates
- - Matrix arithmetic
- - Scaling, translating, rotating, and shearing
-
- o Applying Transforms
-
- - Transform API
-
- o Vector Fonts
-
- - Bitmap versus vector fonts
- - Creating a vector font
- - Transforming vector fonts
- - Vector font special effects
-
- o Correlation
-
- - Setting correlation tags
- - Correlation API
-
- o Areas
-
- - Drawing and filling areas
- - Fill modes
-
- o Paths
-
- - Geometric lines
- - Clip paths
-
- o Arcs
-
- - Arc attributes
- - Full arcs
- - Three-point and partial arcs
- - Fillets and splines
-
- o Bitmaps
-
- - Bitmap formats
- - Creating a bitmap
- - Bitmap APE
- - Shadow bitmaps
-
- o Metafiles
-
- - Creating a metafile DC
- - Playing a metafile
-
- o Advanced Menus
-
- - Menu types and structure
- - Methods to create menus
- - System menus
- - Owner-drawn menus
-
- o Frame Windows
-
- - Custom frame controls
-
- o Advanced Dialog Controls
-
- - Presentation parameters
- - User-paint and owner-drawn buttons and list boxes
-
- o Custom Control Windows
-
- - Managing memory
- - Responding to dialog keystrokes
-
- o Profiles
-
- - System and application profiles
- - Profile API
-
- o Printing
-
- - Printer DC types
- - Creating a printer DC
- - Reading the system profile for printer information
-
- o Clipboard
-
- - Clipboard protocol
- - Clipboard data formats
- - Clipboard API
-
- o Dynamic Data Exchange
-
- - DDE protocol
- - DDE API
-
- Lab Exercises
-
- o Lab 1 - Introduction to Graphical Program Interface
-
- - Introduction to draw lab project
- - Device independence and window-specific data
- - Drawing rubber band lines
- - Drawing rubber band boxes
- - Fill patterns (optional)
- - Changing the mouse pointer (optional)
- - Line styles (optional)
- - Ignoring the first button one down (optional)
-
- o Lab 2 - Retained Graphics and Vector Fonts
-
- - Retained graphics
- - The zooming transform
- - Graphical text (vector fonts)
- - Correlation (optional)
-
- o Lab 3 - Arcs, Metafiles, and Custom Menus
-
- - Arcs
- - Metafiles
- - Erasing the current picture (optional)
- - Areas (optional)
- - Geometric lines (optional)
- - Bitmaps as primitives (optional)
-
- o Custom Frame Controls, Custom Dialog Controls, and Profiles
-
- - Owner-drawn menus
- - Custom frame controls
- - Customizing dialog controls
- - Saving settings in a profile
- - Printing (optional)
- - Enhancing the owner-drawn check box
-
- Prerequisites: Before taking this course, you should first attend Presentation
- Manager 2.X for Software Developers (N1688) or have at least one year's
- experience with Presentation Manager programs.
-
- Prices:
-
- Tuition 1,575
- Private Class Price:
- 1-14 Students: 20,000
- Each additional student: 500
-
-
- ΓòÉΓòÉΓòÉ 5.8. Presentation Manager Device Drivers (N1742) ΓòÉΓòÉΓòÉ
-
- 5 days, hands-on labs
- Public, private
-
- This advanced course shows you how to support graphical devices (printers and
- displays) under OS/2 Presentation Manager (PM). The course combines lectures
- and laboratory exercises to illustrate the main features of a presentation
- driver.
-
- How you will benefit: You'll be taught how to:
-
- o Understand how a presentation driver operates
-
- o Modify an existing printer presentation driver and write a PM driver
-
- Topics:
-
- o The OS/2 Device Model
-
- - Device independence
- - Layers of OS/2
- - Presentation driver components
- - The print manager
- - The spooler
-
- o Introduction to Printing
-
- - Supporting device independent graphics
- - Presentation spaces
- - Device contexts
- - The OS2.INI file
- - Printing a document
-
- o The Build Process
-
- - Tools and utilities
- - Module definition file
- - Debugging
-
- o Presentation Driver Overview
-
- - Entry points
- - Function classes
- - Call structure
- - General considerations
-
- o Driver Initialization
-
- - Enable Subfunctions
- - Flow of initialization
- - Flow of termination
- - Exit list processing
-
- o System Services and Queries
-
- - System facilities at ring 2
- - Query functions
-
- o Introduction to Drawing
-
- - Required functions
- - Attributes
- - Text attributes
- - Text implementation
-
- o Drawing Lines
-
- - Line types
- - Line attributes
- - Line implementation
-
- o Simulated and Internal Functions
-
- - Transforms
- - Clipping
- - Bounds
- - Engine internal functions
-
- o Fonts
-
- - Font definitions
- - Engine and device fonts
- - Font queries
- - Realizing fonts
-
- o Color
-
- - Color tables
- - Color mapping
- - Dithering
- - Color realization
- - Mix modes
-
- o Bitmaps
-
- - Bitmap definitions
- - Working with bitmaps
- - Bitblts
-
- o Display Drivers
-
- - Resources
- - Correlation
- - Drawing to the display
- - AVIO
-
- o Printer Drivers
-
- - Spooler
- - Queued printing
- - Data formats
- - Banding
- - Printer set up
- - Brute force printing
-
- o Source Code Listings
-
- o Lab Exercises
-
- Prerequisites: You should have at least 6 months experience programming in C
- language. Additionally, you should have written non-trivial Presentation
- Manager applications or have attended Presentation Manager 2.X for Software
- Developers (N1688).
-
- Prices:
-
- Tuition 1,575
- Private Class Price:
- 1-14 Students: 20,000
- Each additional student: 500
-
-
- ΓòÉΓòÉΓòÉ 5.9. Workplace Shell Programming with SOM (N1745) ΓòÉΓòÉΓòÉ
-
- 5 days, hands-on labs
- Public, private
-
- Explore the OS/2 System Object Model (SOM) and Workplace Shell (WPS)
- programming through lecture and extensive hands-on lab exercises. This class
- gives you a detailed technical understanding of OS/2 WPS and SOM 2.0. This is
- not a general overview of SOM and WPS.
-
- How you will benefit: Learn how to:
-
- o Write a Workplace Shell class
-
- o Create objects and classes using System Object Model
-
- o Understand the interaction between an object and its client program
-
- o Learn how to program Workplace Shell objects: WPAbstract, WPPRogramFile and
- WPDataFile
-
- Topics:
-
- o Introduction to Object-Oriented Programming
-
- - Encapsulation
- - Inheritance
- - Polymorphism
-
- o Introduction to SOM
-
- - Defining a class
- - C-language bindings
- - SOM precompiler
- - Metaclasses
-
- o Writing a Simple SOM Class
-
- - Writing the .CSC file
- - Accessing methods and data
- - Writing a client program
-
- o SOM Inheritance
-
- - Overriding methods
- - Public and private methods
- - Public and private data
-
- o Metaclasses
-
- - Explicit metaclasses
- - Implicit metaclasses
-
- o A Complete .CSC File
-
- - Required sections
- - Optional sections
-
- o The SOM Development Process
-
- - Environment variables
- - Running the SOM compiler
-
- o Debugging SOM Applications
-
- - Using IPMD
- - Using SOM tracing
-
- o Extended File Attributes
-
- - Launching an EXE file
-
- o Introduction to Workplace Shell
-
- - Workplace shell objects
- - Writing a workplace shell application
- - Object ID's and setup strings
-
- o A Workplace Shell Compatible Application
-
- - Extended attributes and templates
- - Installing the application
-
- o A Workplace Shell Aware Application
-
- - Writing a WPDataFile subclass
- - Installing a workplace shell aware application
-
- o More on Date File Subclassing
-
- - Printing
- - The development cycle
-
- o Workplace Shell Implementation
-
- - The desktop
- - OS2.INI and extended attributes
-
- o Menu Windows
-
- - Popup menus
- - Conditional cascades
-
- o Menus in a Workplace Shell Object
-
- - Standard object popups
- - Filtering popups
- - Adding/deleting popups
- - Processing selections
-
- o Container Window Class
-
- - Views
- - Notification messages
- - Record hierarchy
-
- o Folder Workplace Class
-
- - Instance methods
- - Writing a folder subclass
-
- o Notebook Windows
-
- - Notebook window class
- - Inserting pages
-
- o Notebooks in Workplace Shell
-
- - Setting pages
- - Adding/deleting pages
- - Saving instance data
-
- o Drag and Drop
-
- - Writing a source EXE or object
- - Writing a destination EXE or object
-
- o Creating an Object's Window
-
- - Custom open views
- - The in-use list
-
- o Creating a New Process
-
- - Why create a process?
- - Interprocess communication
-
- Prerequisites: You should understand Presentation Manager programming and have
- a basic knowledge of object-oriented programming concepts. You should also have
- C programming experience. Completion of Presentation Manager 2.X for Software
- Developers (N1688) is recommended.
-
- Prices:
-
- Tuition 1,575
- Private Class Price:
- 1-14 Students: 20,000
- Each additional student: 500
-
-
- ΓòÉΓòÉΓòÉ 5.10. SOMobjects Developer Toolkit Workshop (N1602) ΓòÉΓòÉΓòÉ
-
- 3 days, hands-on labs
- Public, private
-
- If you'll be designing and implementing applications in either the AIX or OS/2
- environment, this course is for you. You'll explore the components of the
- Systems Object Model (SOM) Toolkit and learn how to begin working with the
- toolkit. Using SOM Version 2.0, you'll learn about the SOM frameworks through
- lectures and extensive hands-on lab exercises.
-
- How you will benefit: Learn how to:
-
- o Build OS/2 and AIX object-oriented applications using SOM
-
- o Implement and use SOM classes in C or C++
-
- o Use and extend the SOM compiler and tools
-
- o Add persistence and replication capabilities to SOM objects
-
- o Construct a CORBA standard Object Request Broker with Distributed SOM
-
- Topics:
-
- o Features and Use of SOM 2.0
-
- - Defining classes using Interface Definition Language (IDL)
- - Implementing and using SOM classes with C language bindings
-
- o SOM Frameworks
-
- - Distributed SOM (DSOM)
- - The Persistence Framework
- - The Emitter Framework
-
- o Frameworks Laboratory Exercise
-
- o Language Bindings
-
- Prerequisites: You should have programming experience with C or C++ on an AIX
- or OS/2 platform, as well as knowledge of object orientation.
-
- Prices:
-
- Tuition 1,250
- Private Class Price:
- 1-14 Students: 10,500
- Each additional student: 450
-
-
- ΓòÉΓòÉΓòÉ 5.11. Developing Helps and Online Documents Using OS/2 IPF (N1680) ΓòÉΓòÉΓòÉ
-
- 3 days, hands-on labs
- Public, private
-
- OS/2 2.X leads the industry with an extensive help and online informa- tion
- hypertext system that includes over 5,000 panels. In this workshop, you'll
- produce helps and online documents with the OS/2 Information Presentation
- Facility (IPF), the same facility used by IBM developers for OS/2's online
- information.
-
- You will learn how to integrate CUA-compliant help information with the
- Presentation Manager applications you develop. You will learn how to take
- advantage of the new features of OS/2 2.X to create customized help and
- document windows.
-
- How you will benefit: This workshop teaches you how to:
-
- o Use IPF to create help information that is integrated with application
- programs
-
- o Use IPF to create stand-alone, online documents
-
- o Use advanced IPF features to customize and enhance online help and documents
-
- Topics:
-
- o Common User Access (CUA) considerations
-
- o IPF architecture
-
- o Formatting controls for text
-
- o Including graphic illustrations
-
- o Hypertext and hypergraphic links
-
- o Customized windows
-
- o Launching external programs
-
- o Compiler options
-
- o Building an index
-
- Prerequisites: IBM Publishing Systems BookMaster experience is helpful but not
- required.
-
- Prices:
-
- Tuition 750
- Private Class Price:
- 1-14 Students: 8,700
- Each additional student: 300
-
-
- ΓòÉΓòÉΓòÉ 5.12. Microsoft Windows for Software Developers (N1741) ΓòÉΓòÉΓòÉ
-
- 5 days, hands-on labs
- Public, private
-
- This course teaches you how to write a Windows application and migrate Windows
- applications to OS/2.
-
- How you will benefit: Learn how to write a Windows application and migrate a
- Windows application to OS/2.
-
- Topics:
-
- o Introduction to Windows
-
- - Windows overview
- - Writing Windows applications
- - Messages
- - Drawing with GD1
- - The Windows development process
-
- o Programming User Interfaces
-
- - Introduction to painting and clipping
- - Handling user input
- - Scroll bar programming
- - Menus and accelerators
- - Introduction to dialog boxes
- - Dialog box controls
- - Advanced dialog topics
-
- o Memory Management
-
- o Writing Dynamic Link Libraries
-
- o File Input and Output
-
- o Subclassing
-
- o Handling Lengthy Processing
-
- o Printing
-
- o The Clipboard
-
- o The Multiple Document Interface
-
- o Windows Future
-
- Prerequisites: None. However, this is not an introductory course. You should be
- familiar with programming on microcomputer platforms.
-
- Prices:
-
- Tuition 1,575
- Private Class Price:
- 1-14 Students: 20,000
- Each additional student: 500
-
-
- ΓòÉΓòÉΓòÉ 6. Enrollment Information ΓòÉΓòÉΓòÉ
-
- Call 1-800-IBM-TEACh (1-800-426-8322) to:
-
- o Receive schedules, tuition rates, and additional copies of this brochure.
-
- o Enroll in a classroom course. Please provide your IBM customer number, the
- course code in which you want to enroll, and the date(s) you would like to
- attend.
-
- If your company does not have an IBM customer number, one will be created for
- you.
-
- o Request a copy of the Skill Dynamics Catalog of Education (catalog
- #G320-1244). This contains complete descriptions of the many courses offered
- by Skill Dynamics plus schedules and tuition information.
-
- To schedule a class at your location, please contact Bob Rohr at 914 742-5653
- or ROHR@DALVM1.VNET.IBM.COM. Bob can also work with you to tailor a class to
- your specific needs.
-
- Terms and Conditions
-
- Tuition includes instruction, appropriate manuals, course materials and
- computer time, if used. Applicable taxes are added.
-
- For a complete statement of the Terms and Conditions, refer to the Skill
- Dynamics Catalog of Education.
-
- Note: Prices are subject to change without notice. Private class prices do not
- include machine lab charges and instructor travel and living charges.
-
- If you are located outside the U.S., please contact your local IBM office for
- enrollment assistance.
-
- We look forward to seeing you in an upcoming class!