home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / docs / os2br813.inf (.txt) < prev    next >
Encoding:
OS/2 Help File  |  1993-10-12  |  105.3 KB  |  1,542 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Skill Dynamics OS/2 Application Developer Series ΓòÉΓòÉΓòÉ
  3.  
  4.  
  5. ΓòÉΓòÉΓòÉ 1.1. Version Notice ΓòÉΓòÉΓòÉ
  6.  
  7. Trademarks 
  8.  
  9. The following terms are trademarks of the IBM Corporation in the United States 
  10. and/or other countries: 
  11.  
  12. AIX 
  13. BookMaster 
  14. C/2 
  15. IBM 
  16. IIN 
  17. Operate at a higher level. 
  18. OS/2 
  19. OS/2 32 
  20. Presentation Manager 
  21. Skill Dynamics 
  22. SOMobjects 
  23. Workplace Shell 
  24.  
  25. The following terms are trademarks of other companies as indicated: Microsoft 
  26. Corporation:  Microsoft Windows 
  27.  
  28.  
  29. ΓòÉΓòÉΓòÉ 2. A note from the OS/2 Curriculum Manager ΓòÉΓòÉΓòÉ
  30.  
  31. Dear OS/2 Developer: 
  32.  
  33. Developing today's complex applications requires more and more knowledge and 
  34. training. You're working on very powerful platforms to produce mission critical 
  35. applications that can give your business a competitive edge in the marketplace. 
  36.  
  37. Efficient development is mandatory. A complete understanding of the 
  38. capabilities of OS/2 will help make you a key contributor to the success of 
  39. your business. 
  40.  
  41. To give you that deep, detailed understanding of OS/2, Skill Dynamics, an IBM 
  42. company, brings you our OS/2 Developer Series of courses. When you attend these 
  43. classes, you'll join those developers who are tapping into the power of 
  44. multitasking, 32-bit architectures, and the object revolution that is sweeping 
  45. the industry. These very classes were created within IBM to train the software 
  46. community that built OS/2 and the products than run under OS/2. 
  47.  
  48. The OS/2 Developer Series curriculum is technically deep with many hands-on lab 
  49. exercises. The classes have been fine-tuned to your needs by our experience in 
  50. teaching thousands of developers. 
  51.  
  52. Our classes are scheduled at IBM sites nationwide. We can also bring our 
  53. courses to your site for a private or customized class. 
  54.  
  55. I trust you'll agree that our OS/2 Developer Series is your best source for 
  56. in-depth technical training. Please contact me if you have any questions or 
  57. suggestions on how we can improve our course offerings. I can be reached at 
  58. BOBG@VNET.IBM.COM. 
  59.  
  60. Bob Goldberg,
  61. OS/2 Curriculum Manager
  62.  
  63.  
  64. ΓòÉΓòÉΓòÉ 3. Skill Dynamics-Your Partner in Technical Training ΓòÉΓòÉΓòÉ
  65.  
  66. Skill Dynamics, an IBM company, specializes in technical training. We know that 
  67. today's advanced technologies are only as good as the people who use them. 
  68. That's why we work closely with IBM labs and product groups to develop our 
  69. courses...so you can be sure you're getting the right training to fully exploit 
  70. the power of our products. Plus, we test our courses with customers to make 
  71. sure that the skills we teach are what they want. 
  72.  
  73.  
  74. ΓòÉΓòÉΓòÉ 3.1. OS/2 Developer Series ΓòÉΓòÉΓòÉ
  75.  
  76. Over 10,000 satisfied customers 
  77.  
  78. Our expertise in technical training is seen in our highly acclaimed OS/2 
  79. Developer Series of courses. These lab-intensive classes were created to train 
  80. our own programmers. Thousands of OS/2 software designers in IBM Boca Raton and 
  81. other major programming labs have benefitted from these courses. 
  82.  
  83. We are now offering these courses in their entirety to external audiences. Now 
  84. you, too, can get the same detailed training that our OS/2 application 
  85. developers receive. All classes are lab-intensive, combining theory with 
  86. practical hands-on experience. 
  87.  
  88. Our instructors get rave reviews 
  89.  
  90. The best trainers are those who can say, "I know what you're going 
  91. through...I've been there...and here's how I solved the problem". Too often, 
  92. they're full-time instructors who haven't written a line of code in years. 
  93.  
  94. Our instructors bring you the best of both worlds. They're all experienced OS/2 
  95. developers plus they are consultants for many Fortune 500 firms. So, you can 
  96. learn from their own programming experiences and their consulting engagements. 
  97.  
  98. Courses at our place or yours 
  99.  
  100. Our OS/2 Developer classes are scheduled at IBM sites nationwide. If you want 
  101. to train a group of people, we can bring our classes to you. So, you'll get the 
  102. convenience of a local class. Plus you'll save on travel and hotel costs. We 
  103. can even tailor these private classes to give you the perfect fit. For details, 
  104. please contact Bob Rohr at (914) 742-5653 or ROHR@DALVM1.VNET.IBM.COM. 
  105.  
  106.  
  107. ΓòÉΓòÉΓòÉ 4. OS/2 Developer Series Flowcharts ΓòÉΓòÉΓòÉ
  108.  
  109. Following are flowcharts to assist you in selecting appropriate courses in the 
  110. OS/2 Developer Series. 
  111.  
  112.  
  113. ΓòÉΓòÉΓòÉ 4.1. Foundation Courses ΓòÉΓòÉΓòÉ
  114.  
  115. These courses are the recommended starting point for the OS/2 Developer Series: 
  116.  
  117.  
  118. ΓòÉΓòÉΓòÉ 4.2. OS/2 Focus ΓòÉΓòÉΓòÉ
  119.  
  120. These courses are recommended if you are programming in OS/2: 
  121.  
  122.  
  123. ΓòÉΓòÉΓòÉ 4.3. Presentation Manager Focus ΓòÉΓòÉΓòÉ
  124.  
  125. These courses are recommended if you are programming in Presentation Manager: 
  126.  
  127.  
  128. ΓòÉΓòÉΓòÉ 4.4. Other courses ΓòÉΓòÉΓòÉ
  129.  
  130. OS/2 Information Presentation Facility 
  131.  
  132. Microsoft Windows 
  133.  
  134.  
  135. ΓòÉΓòÉΓòÉ 5. Course Abstracts ΓòÉΓòÉΓòÉ
  136.  
  137. Following are detailed descriptions for the courses in the OS/2 Developer 
  138. Series. 
  139.  
  140.  
  141. ΓòÉΓòÉΓòÉ 5.1. OS/2 2.X for Software Developers (N1740) ΓòÉΓòÉΓòÉ
  142.  
  143. 5 days, hands-on labs
  144. Public, private
  145.  
  146. If you've developed applications on other platforms and now want to use OS/2 
  147. 2.X, this course is for you! You'll learn the primary functions of the OS/2 
  148. kernel via lectures, demonstrations and daily laboratory exercises. The lab 
  149. exercises give you experience in implementing the OS/2 application programming 
  150. interface in the C programming language. The course has been widely and 
  151. effectively used for retraining developers migrating to OS/2 from other 
  152. platforms. 
  153.  
  154. How you will benefit: Learn how to: 
  155.  
  156. o Apply the appropriate programming tools and procedures to build OS/2 
  157.   applications 
  158.  
  159. o Introduce the OS/2 application programming interface through the 
  160.   implementation of 30-40 key functions 
  161.  
  162. o Develop applications that implement the key features of the topics discussed 
  163.   during the classroom lectures 
  164.  
  165. Topics: 
  166.  
  167. o Introduction to OS/2 
  168.  
  169.    - Design goals of OS/2 
  170.    - Memory organization 
  171.    - Privilege model 
  172.    - Application Programming Interface 
  173.    - Multitasking hierarchy 
  174.  
  175. o OS/2 Application Types 
  176.  
  177.    - OS/2 mode windowed applications 
  178.    - OS/2 mode full-screen applications 
  179.    - DOS/Windows mode applications 
  180.  
  181. o Protected Mode 
  182.  
  183.    - General purpose and memory registers 
  184.    - Operating modes 
  185.    - Protection mechanisms 
  186.    - Real mode addressing 
  187.    - Protected mode addressing 
  188.    - Memory exceptions 
  189.  
  190. o Introduction to OS/2 Programming 
  191.  
  192.    - Register-based API 
  193.    - Call-based API 
  194.    - C Program template 
  195.    - Function prototypes 
  196.    - Return codes 
  197.  
  198. o Environment Strings and Command Line Arguments 
  199.  
  200.    - Obtaining environment and command line pointers 
  201.    - Searching the environment 
  202.    - Environment strings 
  203.    - Command line 
  204.    - C Program entry state 
  205.  
  206. o Program Development 
  207.  
  208.    - Programming tools 
  209.    - Header and include files 
  210.    - Development process 
  211.    - LINK386 
  212.    - NMAKE 
  213.  
  214. o Laboratory Exercise 1 
  215.  
  216.    - Introduction to the enhanced editor 
  217.    - Writing an OS/2 program 
  218.    - IBM presentation debugger 
  219.    - System exceptions/faults 
  220.    - Displaying command line arguments 
  221.    - Experimenting with detach and start 
  222.    - WorkFrame/2 
  223.  
  224. o Memory Management 
  225.  
  226.    - OS/2 2.0 memory model 
  227.    - Virtual address space 
  228.    - Memory objects 
  229.    - Memory allocation API's 
  230.    - Memory suballocation API's 
  231.  
  232. o Introduction to Multitasking 
  233.  
  234.    - Serial multitasking 
  235.    - Parallel multitasking 
  236.    - Elements of multitasking (sessions, processes, threads) 
  237.  
  238. o Thread Management 
  239.  
  240.    - Thread hierarchy 
  241.    - Creating threads 
  242.    - Thread states 
  243.    - Thread priority 
  244.    - Configuration parameters 
  245.    - C Programming considerations 
  246.  
  247. o Laboratory Exercise 2 
  248.  
  249.    - Building a single-thread OS/2 application 
  250.    - Multitasking using two threads 
  251.    - Thread control 
  252.    - Thread management using C functions 
  253.  
  254. o Synchronizing with Semaphores 
  255.  
  256.    - Uses of semaphores 
  257.    - Classes and types of semaphores 
  258.    - Application of OS/2 semaphores 
  259.    - Event semaphore API's 
  260.    - Mutex semaphore API's 
  261.    - MuxWait semaphore API's 
  262.  
  263. o OS/2 Timer Services 
  264.  
  265.    - Synchronous timer API's 
  266.    - Asynchronous timer API's 
  267.  
  268. o Process Management 
  269.  
  270.    - Process resources 
  271.    - Creating a process 
  272.    - Process isolation 
  273.    - Testing process status 
  274.    - Controlling process termination 
  275.  
  276. o Shared Memory Objects 
  277.  
  278.    - Named shared objects 
  279.    - Unnamed shared objects 
  280.    - Shared memory allocation API's 
  281.  
  282. o Laboratory Exercise 3 
  283.  
  284.    - Synchronizing threads with event semaphores 
  285.    - Creating and managing processes 
  286.    - Synchronizing parent/child processes 
  287.    - Exit routines 
  288.  
  289. o File Input/Output 
  290.  
  291.    - OS/2 file systems 
  292.    - Naming OS/2 files 
  293.    - Opening/creating files 
  294.    - Standard file attributes 
  295.    - Extended file attributes 
  296.  
  297. o Interprocess Communication Using Queues 
  298.  
  299.    - Client/server interprocess communication 
  300.    - Queue management API's 
  301.  
  302. o Dynamic Link Libraries 
  303.  
  304.    - Static linking 
  305.    - Dynamic linking 
  306.    - Code sharing 
  307.    - Building a DLL 
  308.    - Methods of dynamic linking 
  309.    - DLL initialization 
  310.  
  311. o Laboratory Exercise 4 
  312.  
  313.    - Load-time dynamic linking 
  314.    - Updating a DLL 
  315.    - Run-time dynamic linking 
  316.    - DLL initialization 
  317.    - Pipes and queues 
  318.  
  319. o Exception Management 
  320.  
  321.    - System exceptions 
  322.    - Types of exceptions 
  323.    - Exception handlers 
  324.    - Exception management data structures 
  325.    - Exception management API's 
  326.  
  327. o Session Management 
  328.  
  329.    - Session management components 
  330.    - Session hierarchy 
  331.    - Session management API's 
  332.  
  333. o Interprocess Communication Using Pipes 
  334.  
  335.    - Standard input/output 
  336.    - Anonymous pipes 
  337.    - Named pipes 
  338.  
  339. o Laboratory Exercise Completion 
  340.  
  341. Prerequisites: 
  342.  
  343. Some familiarity with the PS/2 operating and programming environment is 
  344. recommended. Working knowledge of C programming language is necessary. 
  345.  
  346. Prices: 
  347.  
  348. Tuition             1,575
  349. Private Class Price:
  350. 1-14 Students:         20,000
  351. Each additional student:      500
  352.  
  353.  
  354. ΓòÉΓòÉΓòÉ 5.2. Presentation Manager 2.X for Software Developers (N1688) ΓòÉΓòÉΓòÉ
  355.  
  356. 5 days, hands-on labs
  357. Public, private
  358.  
  359. Learn how to write an application that uses OS/2 Presentation Manager (PM) 
  360. facilities to handle screen interactions. This course is 50% lab and 50% 
  361. lecture. 
  362.  
  363. How you will benefit: Learn how to write an application that uses OS/2 PM 
  364. facilities. 
  365.  
  366. Topics: 
  367.  
  368. o Introduction to Presentation Manager 
  369.  
  370.    - What is presentation manager? 
  371.    - Goals of presentation manager 
  372.  
  373. o Window Overview 
  374.  
  375.    - What is a window? 
  376.    - Parent and child windows 
  377.    - The standard window 
  378.  
  379. o Presentation Manager Overview 
  380.  
  381.    - Application types 
  382.    - Introduction to messages 
  383.  
  384. o Introduction to Presentation Manager Programming 
  385.  
  386.    - Presentation manager program boilerplate 
  387.  
  388. o Messages 
  389.  
  390.    - Message data structure 
  391.    - Receiving messages 
  392.    - Transmitting messages 
  393.  
  394. o The Development Process 
  395.  
  396.    - Include files 
  397.    - Building 16- and 32-bit programs 
  398.  
  399. o Painting and Clipping 
  400.  
  401.    - Presentation manager device architecture 
  402.    - Points, rectangles, and regions 
  403.    - The WM_PAINT message 
  404.  
  405. o Handling User Input 
  406.  
  407.    - Keyboard messages 
  408.    - Mouse messages 
  409.  
  410. o Scroll Bars 
  411.  
  412.    - Scroll bars in the standard window 
  413.    - Programming vertical scroll bars in a text-based program 
  414.  
  415. o Menus 
  416.  
  417.    - Resource file menus 
  418.    - Menu notification and control messages 
  419.    - Accelerators 
  420.  
  421. o Introduction to Dialog Boxes 
  422.  
  423.    - Message boxes 
  424.    - Modal dialogs 
  425.  
  426. o Dialog Box Controls 
  427.  
  428.    - Radio buttons 
  429.    - Entry fields 
  430.    - List boxes 
  431.    - Combo boxes 
  432.    - Spin buttons 
  433.  
  434. o Advanced Dialog Topics 
  435.  
  436.    - Keystrokes in dialogs 
  437.    - Modeless dialogs 
  438.  
  439. o Fonts 
  440.  
  441.    - Bitmap versus vector fonts 
  442.    - Selecting a bitmap font 
  443.  
  444. o Presentation Manager Multitasking 
  445.  
  446.    - Using background threads 
  447.    - Types of background threads 
  448.    - Communicating between threads 
  449.  
  450. o Subclassing and Hooks 
  451.  
  452.    - Subclassing windows 
  453.    - Hooking a queue 
  454.  
  455. o Help Systems 
  456.  
  457.    - Writing help text 
  458.    - Writing help table resources 
  459.    - Modifying application source 
  460.  
  461. o 2.2.X Standard Dialogs 
  462.  
  463.    - Standard font dialog 
  464.    - Standard file dialog 
  465.  
  466. o Window Words 
  467.  
  468.    - System maintained area 
  469.    - Application maintained area 
  470.  
  471. o Introduction to Graphical Program Interface 
  472.  
  473.    - Graphical program interface capabilities 
  474.    - Graphical program interface programming techniques 
  475.  
  476. o Presentation Spaces 
  477.  
  478.    - Cached micro presentation spaces 
  479.    - Micro presentation spaces 
  480.    - Normal presentation spaces 
  481.  
  482. o Debugging Presentation Manager Programs 
  483.  
  484.    - Codeview for OS/2 1.X 
  485.    - IBM presentation manager debugger for OS/2 2.X 
  486.  
  487. o Lab Code Listings 
  488.  
  489. o Editor Tutorial 
  490.  
  491. Prerequisites: You should have C programming experience and be familiar with 
  492. OS/2 programming. OS/2 programming experience can be gained from OS/2 2.X for 
  493. Software Developers (N1740). 
  494.  
  495. Prices: 
  496.  
  497. Tuition             1,575
  498. Private Class Price:
  499. 1-14 Students:         20,000
  500. Each additional student:      500
  501.  
  502.  
  503. ΓòÉΓòÉΓòÉ 5.3. OS/2 Problem Diagnosis and Resolution Workshop (N1743) ΓòÉΓòÉΓòÉ
  504.  
  505. 5 days, hands-on labs
  506. Public, private
  507.  
  508. Through lectures and lab exercises that replicate real world situations, you'll 
  509. be taught tactical skills in problem resolution. You'll also receive the OS/2 
  510. Survival Kit, a set of tools that have been selected for their ease of use and 
  511. efficiency. 
  512.  
  513. How you will benefit: Learn how to apply tactical skills to analyze a problem 
  514. and bring it to a quick resolution. 
  515.  
  516. Topics: 
  517.  
  518. o Debug Methodology 
  519.  
  520.    - Problem classifications 
  521.  
  522.       o Developer/user 
  523.       o Static/dynamic 
  524.       o Onsite/remote debug 
  525.  
  526. o OS/2 Specific Issues 
  527.  
  528.    - Installation caveats 
  529.    - Access control boundaries 
  530.    - Address translation mechanisms 
  531.    - Address maps, selector usage 
  532.    - Module isolation - applications/OS2/libraries/device drivers 
  533.  
  534. o Problem Scenarios 
  535.  
  536.    - Trap OD, OC 
  537.    - Deadly embraces 
  538.    - Data corruption 
  539.    - Unbalanced priorities 
  540.    - PM collapse/lockup 
  541.  
  542. o Debug Tools 
  543.  
  544.    - IPMD 
  545.    - Dynamic error logging 
  546.  
  547.       o Trace - API, protocol, configuration system parameters, OS/2 internal 
  548.         trace 
  549.       o ID's 
  550.       o Error log - utilities 
  551.  
  552.    - ASDT, ASDT32 
  553.  
  554.       o Installation 
  555.       o REXX symbol conversion 
  556.  
  557.    - Kernel debugger (KDB) 
  558.  
  559.       o Installation 
  560.       o Utilities 
  561.       o Swapper management 
  562.       o Mapsym 
  563.       o Profit/extra 
  564.  
  565.    - Dump formatter 
  566.  
  567.       o Onsite procedures 
  568.       o Remote debug procedures 
  569.  
  570. o Lab Exercises 
  571.  
  572. Prerequisites: Experience installing and using OS/2 programs in Assembler or C 
  573. as well as programming experience with OS/2 or VM is recommended. 
  574.  
  575. Prices: 
  576.  
  577. Tuition             1,575
  578. Private Class Price:
  579. 1-14 Students:         20,000
  580. Each additional student:      500
  581.  
  582.  
  583. ΓòÉΓòÉΓòÉ 5.4. OS/2 Kernel Debugging (N3034) ΓòÉΓòÉΓòÉ
  584.  
  585. 3 days, hands-on labs
  586. Public, private
  587.  
  588. Explore the OS/2 2.X data structures and the OS/2 kernel using the debugger. 
  589.  
  590. How you will benefit: Learn how to effectively use the OS/2 kernel debugger. 
  591.  
  592. Topics: 
  593.  
  594. o Overview of the kernel debugger 
  595. o Page demand memory management - CPU page translation 
  596. o The LDT and GDT: address thunking and memory management 
  597. o Analysis of memory management using the debugger 
  598. o API for memory management 
  599. o Kernel debugger lab exercises 
  600. o Description of the OS/2 loader and analysis 
  601. o Description of the OS/2 scheduler and analysis 
  602. o Description of OS/2 semaphores and analysis 
  603. o Introduction to semaphore API 
  604. o Final trouble shooting lab exercise 
  605.  
  606. Prerequisites: You should be able to read Assembler and C language source 
  607. listings.  You should also have a basic understanding of OS/2 concepts. 
  608.  
  609. Prices: 
  610.  
  611. Tuition              945
  612. Private Class Price:
  613. 1-14 Students:         12,000
  614. Each additional student:      300
  615.  
  616.  
  617. ΓòÉΓòÉΓòÉ 5.5. OS/2 2.X for 1.X Developers (N1746) ΓòÉΓòÉΓòÉ
  618.  
  619. 5 days, hands-on labs
  620. Public, private
  621.  
  622. This advanced course will help experienced OS/2 developers make a smooth 
  623. transition to the 32-bit environment. You'll learn how to design, build, and 
  624. test applications in this new environment through lectures, lab exercises and 
  625. demonstrations. This is not a general overview of OS/2 Version 2.X. It is not 
  626. intended for those without prior OS/2 experience. Those without OS/2 experience 
  627. should attend OS/2 2.X for Software Developers (N1740). 
  628.  
  629. How you will benefit: Learn how to design, build, and test applications using 
  630. the 32-bit version of OS/2. 
  631.  
  632. Topics: 
  633.  
  634. o Introduction and Memory Models 
  635.  
  636.    - Introduction to the workshop 
  637.    - Introduction to OS/2 2.X 
  638.    - Review of OS/2 concepts 
  639.    - Memory management in OS/2 2.X 
  640.    - API calls for memory management 
  641.    - Laboratory exercise 
  642.  
  643.       o 16-bit application 
  644.       o Conversion of 16-bit to 32-bit application 
  645.       o Allocation of private memory objects 
  646.       o Allocation of shared memory objects 
  647.       o Accessing shared memory objects 
  648.       o Suballocation 
  649.  
  650. o Threads and Semaphores 
  651.  
  652.    - Lab review 
  653.    - Thread management 
  654.    - Semaphores 
  655.    - Laboratory exercise 
  656.  
  657.       o 32-bit semaphores, threads, and timers 
  658.       o Thread priority 
  659.       o Thread synchronization 
  660.       o MuxWait semaphore setup 
  661.       o Edge/level operation of event semaphore 
  662.  
  663. o IBM C Set/2 Compiler 
  664.  
  665.    - IBM C Set/2 compiler 
  666.    - Laboratory exercise 
  667.  
  668.       o malloc, _alloca, and DosSubAlloc 
  669.       o Conversion of MuxWait semaphore setup to multithread library 
  670.       o Buffering of printf 
  671.  
  672. o Queues, Signals, and Exceptions 
  673.  
  674.    - Queues 
  675.    - Laboratory exercise 
  676.  
  677.       o Data transport through queues 
  678.  
  679.    - Signals and exceptions 
  680.    - Laboratory exercise 
  681.  
  682.       o Signal handling 
  683.       o Signals for error recovery 
  684.       o Building a dynamically linked DLL 
  685.       o Building a statically linked DLL 
  686.       o Building a subsystem 
  687.  
  688. o Dynamic Link Libraries 
  689.  
  690.    - Performance considerations 
  691.    - DLL's and automatic data segments 
  692.    - Exception handlers 
  693.  
  694. Prerequisites: This course requires C programming language and OS/2 programming 
  695. experience. The OS/2 programming experience can be obtained in OS/2 2.X for 
  696. Software Developers (N1740). You should also understand threads, critical 
  697. sections, suspend/resume, parent/child process relationships, named and unnamed 
  698. shared memory, creation of DLL modules, and synchronization using semaphores in 
  699. the OS/2 1.3 environment. 
  700.  
  701. Prices: 
  702.  
  703. Tuition             1,575
  704. Private Class Price:
  705. 1-14 Students:         20,000
  706. Each additional student:      500
  707.  
  708.  
  709. ΓòÉΓòÉΓòÉ 5.6. Building OS/2 Device Drivers (N1750) ΓòÉΓòÉΓòÉ
  710.  
  711. 4 days, hands-on labs
  712. Public, private
  713.  
  714. You'll learn to develop, compile, install, and test device driver programs for 
  715. the OS/2 1.3 and 2.X platforms. 
  716.  
  717. How you will benefit: You'll be able to: 
  718.  
  719. o Develop, compile, install, and test device driver programs 
  720.  
  721. o Understand programming and operational characteristics common to both 
  722.   character and block device drivers 
  723.  
  724. o Grasp the structure and operation of OS/2 device drivers 
  725.  
  726. o Design and implement an OS/2 device driver for a peripheral 
  727.  
  728. o Understand bimodal operation (real and protected-model), ROM BIOS 
  729.   compatibility support, interrupt handling, serialization, and the use of 
  730.   device helper services 
  731.  
  732. Topics: 
  733.  
  734. o Device Driver Introduction 
  735.  
  736.    - dd def PMD's, BDD's, PDD's, VDD's (char v. block) 
  737.    - Real versus protected 
  738.    - 16-bit segmented model - enhanced for OS/2 2.0 
  739.  
  740. o Operation 
  741.  
  742.    - task time (init) 
  743.    - interrupt time (timer, IRQ's) 
  744.  
  745. o Structure 
  746.  
  747.    - Device header 
  748.  
  749.       o Device attribute 
  750.  
  751.    - Strategy entry point 
  752.    - Initialization, command 0 (special case) 
  753.  
  754.       o Ring 3 
  755.       o Application context 
  756.       o IOPL OK 
  757.       o Some API's available 
  758.       o Some development helpers 
  759.  
  760.    - Sample code fragments 
  761.  
  762. o OS/2 Strategy Commands 
  763.  
  764. o Tools 
  765.  
  766.    - MASM 
  767.    - ASDT - demo 
  768.    - ASDTSYM 
  769.    - IBM C/2 
  770.    - LINK 16-bit 
  771.    - Kernel debugger/ASDT 
  772.  
  773. o OS/2 Device Helpers 
  774.  
  775. o Using External Interrupts 
  776.  
  777. o Designing Block Device Drivers 
  778.  
  779. o Drivers That Use ABIOS 
  780.  
  781.    - Device ID 
  782.    - Logical ID 
  783.  
  784. o OS/2 32-bit Enhancements 
  785.  
  786.    - Using 32-bit code 
  787.    - Using 32-bit device helpers 
  788.  
  789. o Design Tips 
  790.  
  791.    - Performance 
  792.    - 3 MS rule 
  793.    - Interrupt rules 
  794.    - Testing 
  795.  
  796. o Device Helper Reference 
  797.  
  798. o Demo Device Driver 
  799.  
  800. o Demo Device Driver Using C 
  801.  
  802. o Application/System Debug Tool - ASDT Reference 
  803.  
  804. o Lab Exercises 
  805.  
  806.    - Character driver with initialization context only 
  807.    - Character driver with strategy commands, open, and write 
  808.  
  809.       o Write under interrupt 
  810.       o Handling multiple overlapping requests 
  811.  
  812.    - ABIOS with hardware interrupts 
  813.  
  814. Prerequisites: You should have experience programming in Assembler or C 
  815. language. You should also have completed "OS/2 2.X for Software Developers" 
  816. (N1740) or have equivalent programming experience. 
  817.  
  818. Prices: 
  819.  
  820. Tuition             1,260
  821. Private Class Price:
  822. 1-14 Students:         20,000
  823. Each additional student:      400
  824.  
  825.  
  826. ΓòÉΓòÉΓòÉ 5.7. Presentation Manager: Windowing and Graphics (N1744) ΓòÉΓòÉΓòÉ
  827.  
  828. 5 days, hands-on labs
  829. Public, private
  830.  
  831. This course focuses on advanced windowing topics such as custom dialog controls 
  832. and Graphical Program Interface (GPI) graphics. You'll examine numerous sample 
  833. programs and write intensive hands-on lab exercises to reinforce lecture 
  834. topics. The course is a continuation of Presentation Manager 2.X for Software 
  835. Developers (N1688). It is intended for OS/2 versions 1.X and 2.X developers. 
  836.  
  837. Who Should Take This Course: OS/2 Presentation Manager programmers who want to 
  838. raise their skill levels. 
  839.  
  840. How you will benefit: Learn how to: 
  841.  
  842. o Understand all GPI drawing primitives including lines, arcs, and bitmaps 
  843.  
  844. o Use GPI programming techniques including transforms, metafiles, and retained 
  845.   graphics 
  846.  
  847. o Use windowing techniques including subclassing, owner-draw, and user-paint 
  848.   dialog controls and menus 
  849.  
  850. o Write custom dialog control windows 
  851.  
  852. o Write programs that use Dynamic Data Exchange (DDE) and the clipboard to 
  853.   communicate with other programs 
  854.  
  855. o Write programs that perform device-independent output (WYSIWYG: What You See 
  856.   Is What You Get) 
  857.  
  858. Topics: 
  859.  
  860. o Introduction to Graphical Program Interface 
  861.  
  862.    - Modal drawing interface 
  863.    - Categories of graphical program interface calls 
  864.  
  865. o Device Contexts and Presentation Spaces 
  866.  
  867.    - Types of device contexts 
  868.    - Types of presentation spaces 
  869.    - Sample usage 
  870.  
  871. o Introduction to Device Independence 
  872.  
  873.    - Presentation page units 
  874.    - Introduction to coordinate systems 
  875.  
  876. o Lines and Boxes 
  877.  
  878.    - Line and box primitives 
  879.    - Line and box attributes 
  880.  
  881. o Color and Mix 
  882.  
  883.    - Logical and physical colors 
  884.    - Color tables 
  885.    - Mix modes 
  886.  
  887. o Mouse Messages 
  888.  
  889.    - Capturing the mouse 
  890.  
  891. o Window Words 
  892.  
  893.    - Window-specific data 
  894.    - System usage of window data 
  895.  
  896. o Segments and Retained Graphics 
  897.  
  898.    - Drawing modes 
  899.    - Segment attributes 
  900.    - Setting labels in segments 
  901.    - Editing segments 
  902.  
  903. o Introduction to Transforms 
  904.  
  905.    - World coordinates 
  906.    - Matrix arithmetic 
  907.    - Scaling, translating, rotating, and shearing 
  908.  
  909. o Applying Transforms 
  910.  
  911.    - Transform API 
  912.  
  913. o Vector Fonts 
  914.  
  915.    - Bitmap versus vector fonts 
  916.    - Creating a vector font 
  917.    - Transforming vector fonts 
  918.    - Vector font special effects 
  919.  
  920. o Correlation 
  921.  
  922.    - Setting correlation tags 
  923.    - Correlation API 
  924.  
  925. o Areas 
  926.  
  927.    - Drawing and filling areas 
  928.    - Fill modes 
  929.  
  930. o Paths 
  931.  
  932.    - Geometric lines 
  933.    - Clip paths 
  934.  
  935. o Arcs 
  936.  
  937.    - Arc attributes 
  938.    - Full arcs 
  939.    - Three-point and partial arcs 
  940.    - Fillets and splines 
  941.  
  942. o Bitmaps 
  943.  
  944.    - Bitmap formats 
  945.    - Creating a bitmap 
  946.    - Bitmap APE 
  947.    - Shadow bitmaps 
  948.  
  949. o Metafiles 
  950.  
  951.    - Creating a metafile DC 
  952.    - Playing a metafile 
  953.  
  954. o Advanced Menus 
  955.  
  956.    - Menu types and structure 
  957.    - Methods to create menus 
  958.    - System menus 
  959.    - Owner-drawn menus 
  960.  
  961. o Frame Windows 
  962.  
  963.    - Custom frame controls 
  964.  
  965. o Advanced Dialog Controls 
  966.  
  967.    - Presentation parameters 
  968.    - User-paint and owner-drawn buttons and list boxes 
  969.  
  970. o Custom Control Windows 
  971.  
  972.    - Managing memory 
  973.    - Responding to dialog keystrokes 
  974.  
  975. o Profiles 
  976.  
  977.    - System and application profiles 
  978.    - Profile API 
  979.  
  980. o Printing 
  981.  
  982.    - Printer DC types 
  983.    - Creating a printer DC 
  984.    - Reading the system profile for printer information 
  985.  
  986. o Clipboard 
  987.  
  988.    - Clipboard protocol 
  989.    - Clipboard data formats 
  990.    - Clipboard API 
  991.  
  992. o Dynamic Data Exchange 
  993.  
  994.    - DDE protocol 
  995.    - DDE API 
  996.  
  997.   Lab Exercises 
  998.  
  999. o Lab 1 - Introduction to Graphical Program Interface 
  1000.  
  1001.    - Introduction to draw lab project 
  1002.    - Device independence and window-specific data 
  1003.    - Drawing rubber band lines 
  1004.    - Drawing rubber band boxes 
  1005.    - Fill patterns (optional) 
  1006.    - Changing the mouse pointer (optional) 
  1007.    - Line styles (optional) 
  1008.    - Ignoring the first button one down (optional) 
  1009.  
  1010. o Lab 2 - Retained Graphics and Vector Fonts 
  1011.  
  1012.    - Retained graphics 
  1013.    - The zooming transform 
  1014.    - Graphical text (vector fonts) 
  1015.    - Correlation (optional) 
  1016.  
  1017. o Lab 3 - Arcs, Metafiles, and Custom Menus 
  1018.  
  1019.    - Arcs 
  1020.    - Metafiles 
  1021.    - Erasing the current picture (optional) 
  1022.    - Areas (optional) 
  1023.    - Geometric lines (optional) 
  1024.    - Bitmaps as primitives (optional) 
  1025.  
  1026. o Custom Frame Controls, Custom Dialog Controls, and Profiles 
  1027.  
  1028.    - Owner-drawn menus 
  1029.    - Custom frame controls 
  1030.    - Customizing dialog controls 
  1031.    - Saving settings in a profile 
  1032.    - Printing (optional) 
  1033.    - Enhancing the owner-drawn check box 
  1034.  
  1035. Prerequisites: Before taking this course, you should first attend Presentation 
  1036. Manager 2.X for Software Developers (N1688) or have at least one year's 
  1037. experience with Presentation Manager programs. 
  1038.  
  1039. Prices: 
  1040.  
  1041. Tuition             1,575
  1042. Private Class Price:
  1043. 1-14 Students:         20,000
  1044. Each additional student:      500
  1045.  
  1046.  
  1047. ΓòÉΓòÉΓòÉ 5.8. Presentation Manager Device Drivers (N1742) ΓòÉΓòÉΓòÉ
  1048.  
  1049. 5 days, hands-on labs
  1050. Public, private
  1051.  
  1052. This advanced course shows you how to support graphical devices (printers and 
  1053. displays) under OS/2 Presentation Manager (PM). The course combines lectures 
  1054. and laboratory exercises to illustrate the main features of a presentation 
  1055. driver. 
  1056.  
  1057. How you will benefit: You'll be taught how to: 
  1058.  
  1059. o Understand how a presentation driver operates 
  1060.  
  1061. o Modify an existing printer presentation driver and write a PM driver 
  1062.  
  1063. Topics: 
  1064.  
  1065. o The OS/2 Device Model 
  1066.  
  1067.    - Device independence 
  1068.    - Layers of OS/2 
  1069.    - Presentation driver components 
  1070.    - The print manager 
  1071.    - The spooler 
  1072.  
  1073. o Introduction to Printing 
  1074.  
  1075.    - Supporting device independent graphics 
  1076.    - Presentation spaces 
  1077.    - Device contexts 
  1078.    - The OS2.INI file 
  1079.    - Printing a document 
  1080.  
  1081. o The Build Process 
  1082.  
  1083.    - Tools and utilities 
  1084.    - Module definition file 
  1085.    - Debugging 
  1086.  
  1087. o Presentation Driver Overview 
  1088.  
  1089.    - Entry points 
  1090.    - Function classes 
  1091.    - Call structure 
  1092.    - General considerations 
  1093.  
  1094. o Driver Initialization 
  1095.  
  1096.    - Enable Subfunctions 
  1097.    - Flow of initialization 
  1098.    - Flow of termination 
  1099.    - Exit list processing 
  1100.  
  1101. o System Services and Queries 
  1102.  
  1103.    - System facilities at ring 2 
  1104.    - Query functions 
  1105.  
  1106. o Introduction to Drawing 
  1107.  
  1108.    - Required functions 
  1109.    - Attributes 
  1110.    - Text attributes 
  1111.    - Text implementation 
  1112.  
  1113. o Drawing Lines 
  1114.  
  1115.    - Line types 
  1116.    - Line attributes 
  1117.    - Line implementation 
  1118.  
  1119. o Simulated and Internal Functions 
  1120.  
  1121.    - Transforms 
  1122.    - Clipping 
  1123.    - Bounds 
  1124.    - Engine internal functions 
  1125.  
  1126. o Fonts 
  1127.  
  1128.    - Font definitions 
  1129.    - Engine and device fonts 
  1130.    - Font queries 
  1131.    - Realizing fonts 
  1132.  
  1133. o Color 
  1134.  
  1135.    - Color tables 
  1136.    - Color mapping 
  1137.    - Dithering 
  1138.    - Color realization 
  1139.    - Mix modes 
  1140.  
  1141. o Bitmaps 
  1142.  
  1143.    - Bitmap definitions 
  1144.    - Working with bitmaps 
  1145.    - Bitblts 
  1146.  
  1147. o Display Drivers 
  1148.  
  1149.    - Resources 
  1150.    - Correlation 
  1151.    - Drawing to the display 
  1152.    - AVIO 
  1153.  
  1154. o Printer Drivers 
  1155.  
  1156.    - Spooler 
  1157.    - Queued printing 
  1158.    - Data formats 
  1159.    - Banding 
  1160.    - Printer set up 
  1161.    - Brute force printing 
  1162.  
  1163. o Source Code Listings 
  1164.  
  1165. o Lab Exercises 
  1166.  
  1167. Prerequisites: You should have at least 6 months experience programming in C 
  1168. language. Additionally, you should have written non-trivial Presentation 
  1169. Manager applications or have attended Presentation Manager 2.X for Software 
  1170. Developers (N1688). 
  1171.  
  1172. Prices: 
  1173.  
  1174. Tuition             1,575
  1175. Private Class Price:
  1176. 1-14 Students:         20,000
  1177. Each additional student:      500
  1178.  
  1179.  
  1180. ΓòÉΓòÉΓòÉ 5.9. Workplace Shell Programming with SOM (N1745) ΓòÉΓòÉΓòÉ
  1181.  
  1182. 5 days, hands-on labs
  1183. Public, private
  1184.  
  1185. Explore the OS/2 System Object Model (SOM) and Workplace Shell (WPS) 
  1186. programming through lecture and extensive hands-on lab exercises. This class 
  1187. gives you a detailed technical understanding of OS/2 WPS and SOM 2.0. This is 
  1188. not a general overview of SOM and WPS. 
  1189.  
  1190. How you will benefit: Learn how to: 
  1191.  
  1192. o Write a Workplace Shell class 
  1193.  
  1194. o Create objects and classes using System Object Model 
  1195.  
  1196. o Understand the interaction between an object and its client program 
  1197.  
  1198. o Learn how to program Workplace Shell objects: WPAbstract, WPPRogramFile and 
  1199.   WPDataFile 
  1200.  
  1201. Topics: 
  1202.  
  1203. o Introduction to Object-Oriented Programming 
  1204.  
  1205.    - Encapsulation 
  1206.    - Inheritance 
  1207.    - Polymorphism 
  1208.  
  1209. o Introduction to SOM 
  1210.  
  1211.    - Defining a class 
  1212.    - C-language bindings 
  1213.    - SOM precompiler 
  1214.    - Metaclasses 
  1215.  
  1216. o Writing a Simple SOM Class 
  1217.  
  1218.    - Writing the .CSC file 
  1219.    - Accessing methods and data 
  1220.    - Writing a client program 
  1221.  
  1222. o SOM Inheritance 
  1223.  
  1224.    - Overriding methods 
  1225.    - Public and private methods 
  1226.    - Public and private data 
  1227.  
  1228. o Metaclasses 
  1229.  
  1230.    - Explicit metaclasses 
  1231.    - Implicit metaclasses 
  1232.  
  1233. o A Complete .CSC File 
  1234.  
  1235.    - Required sections 
  1236.    - Optional sections 
  1237.  
  1238. o The SOM Development Process 
  1239.  
  1240.    - Environment variables 
  1241.    - Running the SOM compiler 
  1242.  
  1243. o Debugging SOM Applications 
  1244.  
  1245.    - Using IPMD 
  1246.    - Using SOM tracing 
  1247.  
  1248. o Extended File Attributes 
  1249.  
  1250.    - Launching an EXE file 
  1251.  
  1252. o Introduction to Workplace Shell 
  1253.  
  1254.    - Workplace shell objects 
  1255.    - Writing a workplace shell application 
  1256.    - Object ID's and setup strings 
  1257.  
  1258. o A Workplace Shell Compatible Application 
  1259.  
  1260.    - Extended attributes and templates 
  1261.    - Installing the application 
  1262.  
  1263. o A Workplace Shell Aware Application 
  1264.  
  1265.    - Writing a WPDataFile subclass 
  1266.    - Installing a workplace shell aware application 
  1267.  
  1268. o More on Date File Subclassing 
  1269.  
  1270.    - Printing 
  1271.    - The development cycle 
  1272.  
  1273. o Workplace Shell Implementation 
  1274.  
  1275.    - The desktop 
  1276.    - OS2.INI and extended attributes 
  1277.  
  1278. o Menu Windows 
  1279.  
  1280.    - Popup menus 
  1281.    - Conditional cascades 
  1282.  
  1283. o Menus in a Workplace Shell Object 
  1284.  
  1285.    - Standard object popups 
  1286.    - Filtering popups 
  1287.    - Adding/deleting popups 
  1288.    - Processing selections 
  1289.  
  1290. o Container Window Class 
  1291.  
  1292.    - Views 
  1293.    - Notification messages 
  1294.    - Record hierarchy 
  1295.  
  1296. o Folder Workplace Class 
  1297.  
  1298.    - Instance methods 
  1299.    - Writing a folder subclass 
  1300.  
  1301. o Notebook Windows 
  1302.  
  1303.    - Notebook window class 
  1304.    - Inserting pages 
  1305.  
  1306. o Notebooks in Workplace Shell 
  1307.  
  1308.    - Setting pages 
  1309.    - Adding/deleting pages 
  1310.    - Saving instance data 
  1311.  
  1312. o Drag and Drop 
  1313.  
  1314.    - Writing a source EXE or object 
  1315.    - Writing a destination EXE or object 
  1316.  
  1317. o Creating an Object's Window 
  1318.  
  1319.    - Custom open views 
  1320.    - The in-use list 
  1321.  
  1322. o Creating a New Process 
  1323.  
  1324.    - Why create a process? 
  1325.    - Interprocess communication 
  1326.  
  1327. Prerequisites: You should understand Presentation Manager programming and have 
  1328. a basic knowledge of object-oriented programming concepts. You should also have 
  1329. C programming experience. Completion of Presentation Manager 2.X for Software 
  1330. Developers (N1688) is recommended. 
  1331.  
  1332. Prices: 
  1333.  
  1334. Tuition             1,575
  1335. Private Class Price:
  1336. 1-14 Students:         20,000
  1337. Each additional student:      500
  1338.  
  1339.  
  1340. ΓòÉΓòÉΓòÉ 5.10. SOMobjects Developer Toolkit Workshop (N1602) ΓòÉΓòÉΓòÉ
  1341.  
  1342. 3 days, hands-on labs
  1343. Public, private
  1344.  
  1345. If you'll be designing and implementing applications in either the AIX or OS/2 
  1346. environment, this course is for you. You'll explore the components of the 
  1347. Systems Object Model (SOM) Toolkit and learn how to begin working with the 
  1348. toolkit. Using SOM Version 2.0, you'll learn about the SOM frameworks through 
  1349. lectures and extensive hands-on lab exercises. 
  1350.  
  1351. How you will benefit: Learn how to: 
  1352.  
  1353. o Build OS/2 and AIX object-oriented applications using SOM 
  1354.  
  1355. o Implement and use SOM classes in C or C++ 
  1356.  
  1357. o Use and extend the SOM compiler and tools 
  1358.  
  1359. o Add persistence and replication capabilities to SOM objects 
  1360.  
  1361. o Construct a CORBA standard Object Request Broker with Distributed SOM 
  1362.  
  1363. Topics: 
  1364.  
  1365. o Features and Use of SOM 2.0 
  1366.  
  1367.    - Defining classes using Interface Definition Language (IDL) 
  1368.    - Implementing and using SOM classes with C language bindings 
  1369.  
  1370. o SOM Frameworks 
  1371.  
  1372.    - Distributed SOM (DSOM) 
  1373.    - The Persistence Framework 
  1374.    - The Emitter Framework 
  1375.  
  1376. o Frameworks Laboratory Exercise 
  1377.  
  1378. o Language Bindings 
  1379.  
  1380. Prerequisites: You should have programming experience with C or C++ on an AIX 
  1381. or OS/2 platform, as well as knowledge of object orientation. 
  1382.  
  1383. Prices: 
  1384.  
  1385. Tuition             1,250
  1386. Private Class Price:
  1387. 1-14 Students:         10,500
  1388. Each additional student:      450
  1389.  
  1390.  
  1391. ΓòÉΓòÉΓòÉ 5.11. Developing Helps and Online Documents Using OS/2 IPF (N1680) ΓòÉΓòÉΓòÉ
  1392.  
  1393. 3 days, hands-on labs
  1394. Public, private
  1395.  
  1396. OS/2 2.X leads the industry with an extensive help and online informa- tion 
  1397. hypertext system that includes over 5,000 panels. In this workshop, you'll 
  1398. produce helps and online documents with the OS/2 Information Presentation 
  1399. Facility (IPF), the same facility used by IBM developers for OS/2's online 
  1400. information. 
  1401.  
  1402. You will learn how to integrate CUA-compliant help information with the 
  1403. Presentation Manager applications you develop. You will learn how to take 
  1404. advantage of the new features of OS/2 2.X to create customized help and 
  1405. document windows. 
  1406.  
  1407. How you will benefit: This workshop teaches you how to: 
  1408.  
  1409. o Use IPF to create help information that is integrated with application 
  1410.   programs 
  1411.  
  1412. o Use IPF to create stand-alone, online documents 
  1413.  
  1414. o Use advanced IPF features to customize and enhance online help and documents 
  1415.  
  1416. Topics: 
  1417.  
  1418. o Common User Access (CUA) considerations 
  1419.  
  1420. o IPF architecture 
  1421.  
  1422. o Formatting controls for text 
  1423.  
  1424. o Including graphic illustrations 
  1425.  
  1426. o Hypertext and hypergraphic links 
  1427.  
  1428. o Customized windows 
  1429.  
  1430. o Launching external programs 
  1431.  
  1432. o Compiler options 
  1433.  
  1434. o Building an index 
  1435.  
  1436. Prerequisites: IBM Publishing Systems BookMaster experience is helpful but not 
  1437. required. 
  1438.  
  1439. Prices: 
  1440.  
  1441. Tuition              750
  1442. Private Class Price:
  1443. 1-14 Students:          8,700
  1444. Each additional student:      300
  1445.  
  1446.  
  1447. ΓòÉΓòÉΓòÉ 5.12. Microsoft Windows for Software Developers (N1741) ΓòÉΓòÉΓòÉ
  1448.  
  1449. 5 days, hands-on labs
  1450. Public, private
  1451.  
  1452. This course teaches you how to write a Windows application and migrate Windows 
  1453. applications to OS/2. 
  1454.  
  1455. How you will benefit: Learn how to write a Windows application and migrate a 
  1456. Windows application to OS/2. 
  1457.  
  1458. Topics: 
  1459.  
  1460. o Introduction to Windows 
  1461.  
  1462.    - Windows overview 
  1463.    - Writing Windows applications 
  1464.    - Messages 
  1465.    - Drawing with GD1 
  1466.    - The Windows development process 
  1467.  
  1468. o Programming User Interfaces 
  1469.  
  1470.    - Introduction to painting and clipping 
  1471.    - Handling user input 
  1472.    - Scroll bar programming 
  1473.    - Menus and accelerators 
  1474.    - Introduction to dialog boxes 
  1475.    - Dialog box controls 
  1476.    - Advanced dialog topics 
  1477.  
  1478. o Memory Management 
  1479.  
  1480. o Writing Dynamic Link Libraries 
  1481.  
  1482. o File Input and Output 
  1483.  
  1484. o Subclassing 
  1485.  
  1486. o Handling Lengthy Processing 
  1487.  
  1488. o Printing 
  1489.  
  1490. o The Clipboard 
  1491.  
  1492. o The Multiple Document Interface 
  1493.  
  1494. o Windows Future 
  1495.  
  1496. Prerequisites: None. However, this is not an introductory course. You should be 
  1497. familiar with programming on microcomputer platforms. 
  1498.  
  1499. Prices: 
  1500.  
  1501. Tuition             1,575
  1502. Private Class Price:
  1503. 1-14 Students:         20,000
  1504. Each additional student:      500
  1505.  
  1506.  
  1507. ΓòÉΓòÉΓòÉ 6. Enrollment Information ΓòÉΓòÉΓòÉ
  1508.  
  1509. Call 1-800-IBM-TEACh (1-800-426-8322) to: 
  1510.  
  1511. o Receive schedules, tuition rates, and additional copies of this brochure. 
  1512.  
  1513. o Enroll in a classroom course. Please provide your IBM customer number, the 
  1514.   course code in which you want to enroll, and the date(s) you would like to 
  1515.   attend. 
  1516.  
  1517.   If your company does not have an IBM customer number, one will be created for 
  1518.   you. 
  1519.  
  1520. o Request a copy of the Skill Dynamics Catalog of Education (catalog 
  1521.   #G320-1244). This contains complete descriptions of the many courses offered 
  1522.   by Skill Dynamics plus schedules and tuition information. 
  1523.  
  1524.   To schedule a class at your location, please contact Bob Rohr at 914 742-5653 
  1525.   or ROHR@DALVM1.VNET.IBM.COM. Bob can also work with you to tailor a class to 
  1526.   your specific needs. 
  1527.  
  1528. Terms and Conditions 
  1529.  
  1530. Tuition includes instruction, appropriate manuals, course materials and 
  1531. computer time, if used. Applicable taxes are added. 
  1532.  
  1533. For a complete statement of the Terms and Conditions, refer to the Skill 
  1534. Dynamics Catalog of Education. 
  1535.  
  1536. Note:  Prices are subject to change without notice. Private class prices do not 
  1537.        include machine lab charges and instructor travel and living charges. 
  1538.  
  1539. If you are located outside the U.S., please contact your local IBM office for 
  1540. enrollment assistance. 
  1541.  
  1542. We look forward to seeing you in an upcoming class!