home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / tcl-faq / commercial-uses / part3 < prev   
Encoding:
Internet Message Format  |  1998-08-24  |  28.1 KB

  1. Path: senator-bedfellow.mit.edu!faqserv
  2. From: gwlester@cpu.com
  3. Newsgroups: comp.lang.tcl,comp.answers,news.answers
  4. Subject: Tcl/Tk Commercial Uses - Part 3: Training
  5. Supersedes: <tcl-faq/commercial-uses/part3_901195820@rtfm.mit.edu>
  6. Followup-To: poster
  7. Date: 23 Aug 1998 12:59:51 GMT
  8. Organization: none
  9. Lines: 983
  10. Approved: news-answers-request@MIT.EDU
  11. Expires: 6 Oct 1998 12:48:31 GMT
  12. Message-ID: <tcl-faq/commercial-uses/part3_903876511@rtfm.mit.edu>
  13. References: <tcl-faq/commercial-uses/part1_903876511@rtfm.mit.edu>
  14. NNTP-Posting-Host: penguin-lust.mit.edu
  15. X-Last-Updated: 1996/03/27
  16. Originator: faqserv@penguin-lust.MIT.EDU
  17. Xref: senator-bedfellow.mit.edu comp.lang.tcl:86694 comp.answers:32725 news.answers:138204
  18.  
  19. Followup-To: poster
  20. Archive-name: tcl-faq/commercial-uses/part3
  21. Version: 3.2
  22. Posting-Frequency: Around the 1st of each month
  23. Oraganization: Computerized Processes Unlimited, Inc.
  24.  
  25. This file contains brief descriptions of commerical training options for
  26. Tcl/Tk. If you have questions about specific postings, contact the person
  27. who made the submission directly. The purpose of this listing is to show
  28. that Tcl/Tk is being used in commercial products and to discuss that use.
  29.  
  30. Part 1 contains a complete index.
  31.  
  32. Index - Part 3 Only
  33.  
  34. T1. Training by AT&T: "Object Oriented Programming with [incr Tcl]"
  35.  
  36. T2. Training by Computerized Processes Unlimited: "Introduction to
  37. Programming in Tcl/Tk"
  38.  
  39. T3. Training by Computerized Processes Unlimited: "Building Graphical User
  40. Interfaces in Tk"
  41.  
  42. T4. Training by Computerized Processes Unlimited: "Extending Tcl via C"
  43.  
  44. T5. Training by NeoSoft: "Tcl and Tk: An Applications-Based Approach"
  45.  
  46. T6. Training by Data Kinetics Ltd.: "Tcl/Tk: What This Means For Your
  47. Organization"
  48.  
  49. T7. Training by Data Kinetics Ltd.: "Building X-Windows Interfaces with
  50. Tcl/Tk"
  51.  
  52. T8. Training by Enniskillen Consulting: "An Intensive Course in Tcl"
  53.  
  54. T9. Training by Enniskillen Consulting: "An Intensive Course in Tk"
  55.  
  56. T10. Training by Enniskillen Consulting: "A course in Tcl/Tk Extensions"
  57.  
  58. T11. Training by Computerized Processes Unlimited: "Introduction to Expect"
  59.  
  60. T12. Training by AT&T: "Building Applications with Tcl/Tk"
  61.  
  62. Each posting is prefaced by a line with dashes so you can search to the
  63. beginning of the next message.
  64.  
  65. Please submit further postings to gwl@cpu.com
  66.  
  67. ---------------------------------------------------------------------------
  68.  
  69. ENTRY T1. - Object Oriented Programming with [incr Tcl]
  70.  
  71. Usage: Training
  72. Company: AT&T Bell Laboratories
  73. Contact: Michael J. McLennan
  74. Email: michael.mclennan@att.com
  75.  
  76. COURSE INFORMATION
  77.  
  78. Course Title:
  79.      Object-Oriented Programming with [incr Tcl]
  80. Course Length:
  81.      2 days
  82. Course Format:
  83.      Lectures and hands-on programming activities
  84. Prerequisites:
  85.      "Building Applications with Tcl/Tk or familiarity with Tcl/Tk
  86. Books Provided:
  87.      AT&T course notes
  88.  
  89. Course Description:
  90.  
  91. When Tcl/Tk scripts grow larger than a few hundred lines, the code
  92. complexity can be difficult to manage. [incr Tcl] provides a set of
  93. object-oriented extensions for the Tcl language, enabling programmers to
  94. write high-level building blocks that are more easily assembled into a
  95. finished application. This course describes object-oriented programming
  96. with [incr Tcl]. It describes fundamental concepts-- such as "is-a" versus
  97. "has-a" relationships and multiple inheritance-- in the context of [incr
  98. Tcl], and demonstrates how object-oriented programming can be used to
  99. develop Tcl/Tk applications.
  100.  
  101. COURSE OUTLINE:
  102.  
  103. DAY 1:
  104.  
  105. [incr Tcl] Basics
  106.  
  107.    * class definitions
  108.    * protected data members
  109.    * member functions (methods)
  110.    * creating and using objects
  111.  
  112. Nifty Features
  113.  
  114.    * public data members
  115.    * using "info" to query class information
  116.    * designing access methods
  117.    * common data members
  118.    * common functions (procs)
  119.  
  120. Inheritance
  121.  
  122.    * inheritance ("is-a" relationships)
  123.    * composition ("has-a" relationships)
  124.    * inheritance/composition tradeoffs
  125.    * object construction process
  126.    * object destruction process
  127.    * resolving name conflicts
  128.    * using "isa" to validate objects
  129.    * multiple inheritance
  130.  
  131. Namespaces
  132.  
  133.    * what is a namespace?
  134.    * using "import" to connect namespaces
  135.    * scoping commands and variables
  136.    * creating well-packaged libraries
  137.  
  138. DAY 2:
  139.  
  140. [incr Widgets]
  141.  
  142.    * overview of the [incr Widgets] library
  143.    * using mega-widgets to build applications
  144.    * how mega-widget options get configured
  145.    * using the "child-site" to customize mega-widgets
  146.  
  147. [incr Tk]
  148.  
  149.    * overview of [incr Tk] library
  150.    * Widget example: text widget with an automatic scrollbar
  151.    * using "itk_component" to register components
  152.    * using "itk_option" to create new widget options
  153.    * Toplevel example: info dialog box
  154.    * mega-widgets with inheritance
  155.    * mega-widgets with composition
  156.  
  157. Putting It All Together
  158.  
  159.    * using [incr Tcl] objects with [incr Tk] widgets
  160.    * building a man page facility
  161.  
  162. Integrating C code
  163.  
  164.    * writing C handlers for methods/procs
  165.    * registering C handlers
  166.    * integrating C code into [incr Tcl] classes
  167.    * accessing [incr Tcl] data members from C
  168.    * accessing [incr Tcl] member functions from C
  169.  
  170. For pricing and availablity information, please contact:
  171.  
  172.  Michael J. McLennan
  173.  AT&T Bell Laboratories
  174.  1247 S. Cedar Creast Blvd., Rm 2C-226
  175.  Allentown, PA 18103
  176.  
  177. Voice:  (610)-712-2842
  178. FAX:    (610)-712-3843
  179. E-Mail: michael.mclennan@att.com
  180.  
  181. ---------------------------------------------------------------------------
  182.  
  183. ENTRY T2. - Introduction to Programming in Tcl/Tk
  184.  
  185. Usage: Training
  186. Company: Computerized Processes Unlimited
  187. Contact: Gerald W. Lester
  188.  
  189. Email: gwl@cpu.com
  190.  
  191. Course Title:
  192.      Introduction to Programming in Tcl
  193. Course Length:
  194.      Two (2) days
  195. Course Format:
  196.      Course material is presented in a lecture format and through a
  197.      hands-on laboratory using a network of X terminals connected to a RISC
  198.      workstation.
  199. Course Description:
  200.      This course introduces the participant to programming in Tcl/TclX.
  201. Topics include:
  202.         o Variables
  203.         o Arrays
  204.         o Lists
  205.         o Keyed Lists
  206.         o Syntax
  207.         o Flow control
  208.         o Procedures
  209.              + Creating
  210.              + Invoking
  211.              + Passing variables
  212.              + Passing arrays
  213.              + Passing lists
  214.         o Running programs from Tcl
  215.         o Communicating with child processes
  216.         o Signal handling
  217.         o Error processing
  218.         o Accessing system facilities
  219.         o Programming techniques
  220.              + Using autoloading procedures
  221.              + Proper use of quoting
  222. Course Level:
  223.      Technical: Beginner to Intermediate
  224. Prerequisites:
  225.      Use of vi or emacs editors; exposure to programming concepts; use of
  226.      csh/ksh (not programming).
  227.  
  228. For pricing and availablity information, please contact:
  229.  
  230.  Gerald W. Lester
  231.  Computerized Processes Unlimited
  232.  4200 S. I-10 Service Road, Suite #205
  233.  Metairie, LA  70001
  234.  
  235. Voice:  (504)-889-2784
  236. FAX:    (504)-889-2799
  237. E-Mail: gwl@cpu.com
  238.  
  239. ---------------------------------------------------------------------------
  240.  
  241. ENTRY T3. - Building Graphical User Interfaces in Tk
  242.  
  243. Usage: Training
  244. Company: Computerized Processes Unlimited
  245. Contact: Gerald W. Lester
  246. Email: gwl@cpu.com
  247.  
  248. Course Title:
  249.      Building Graphical User Interfaces in Tk
  250. Course Length:
  251.      2 Days
  252. Course Format:
  253.      Course material is presented in a lecture format and re-enforced
  254.      through a hands-on laboratory using a network of X terminals connected
  255.      to a RISC workstation.
  256. Course Description:
  257.      This course introduces the participant to building graphical user
  258.      interfaces using Tcl/Tk.
  259. Topics include:
  260.         o Background Concepts
  261.         o A tour of the widgets
  262.         o Adding Bindings
  263.         o Widget Class Bindings
  264.         o Geometry Managers
  265.         o Running programs from Tcl/Tk
  266.         o Communicating with child processes
  267.         o Writing widgets in Tcl/Tk
  268.         o Programming techniques
  269.              + Proper use of quoting
  270.         o Interface Builders for Tk
  271. Course Level:
  272.      Technical: Beginner to Intermediate
  273. Prerequisites:
  274.      CPU's "Introduction to Programming in Tcl" course or understanding and
  275.      experience using Tcl
  276.  
  277. For pricing and availablity information, please contact:
  278.  
  279.  Gerald W. Lester
  280.  Computerized Processes Unlimited
  281.  4200 S. I-10 Service Road, Suite #205
  282.  Metairie, LA  70001
  283.  
  284. Voice:  (504)-889-2784
  285. FAX:    (504)-889-2799
  286. E-Mail: gwl@cpu.com
  287.  
  288. ---------------------------------------------------------------------------
  289.  
  290. ENTRY T4. - Extending Tcl via C
  291.  
  292. Usage: Training
  293. Company: Computerized Processes Unlimited
  294. Contact: Gerald W. Lester
  295. Email: gwl@cpu.com
  296.  
  297. Course Title:
  298.      Extending Tcl via C
  299. Course Length:
  300.      1 Day
  301. Course Format:
  302.      Course material is presented in a lecture format and through a
  303.      hands-on laboratory using a network of X terminals connected to a RISC
  304.      workstation.
  305. Course Description:
  306.      This course teaches how to add new commands to Tcl via C.
  307. Topics include:
  308.         o Approaches to adding commands
  309.              + Action vs Object
  310.         o New tcl/tk shell vs embedding
  311.         o Creating a new Tcl Command
  312.         o Returning Results
  313.         o Creating a new shell
  314.         o Conversion functions
  315.         o Accessing Tcl variables
  316.         o Mapping Tcl variables to C variables
  317.         o Tracing Tcl variables
  318.         o Executing Tcl commands from C
  319.         o Embedding into an applications
  320. Course Level:
  321.      Technical: Intermediate to Advanced
  322. Prerequisites:
  323.      Use of vi or emacs editors; knowledge of Tcl; C programming
  324.      experience.
  325.  
  326. For pricing and availablity information, please contact:
  327.  
  328.  Gerald W. Lester
  329.  Computerized Processes Unlimited
  330.  4200 S. I-10 Service Road, Suite #205
  331.  Metairie, LA  70001
  332.  
  333. Voice:  (504)-889-2784
  334. FAX:    (504)-889-2799
  335. E-Mail: gwl@cpu.com
  336.  
  337. ---------------------------------------------------------------------------
  338.  
  339. ENTRY T5. - Tcl and Tk: An Applications-Based Approach
  340.  
  341. Usage: Training
  342. Company: NeoSoft
  343. Contact: Karl Lehenbauer
  344. Email: sales@NeoSoft.com.
  345.  
  346. NeoSoft Tcl and Tk Training Information
  347.  
  348. NeoSoft is perhaps the premier corporate contributor to the Tcl and Tk
  349. toolkit efforts. Our groundbreaking work in Tcl and Tk dates back to its
  350. first appearance in 1990, and is reflected by the copious amount of
  351. concepts and code taken from Extended Tcl for use in the Tcl baseline. We
  352. continue to collaborate with Dr. John Ousterhout, the author of baseline
  353. Tcl and Tk, on the forthcoming release of Tcl 7.0 and Extended Tcl 7.0.
  354.  
  355. NeoSoft's Tcl training efforts have been a natural outgrowth of our work
  356. with, and extensions of, Tcl.
  357.  
  358. The philosophy of the course is one of immediate, maximum impact by rapid
  359. immersion into hands-on building of X-windows graphical user interfaces and
  360. the Tcl programs that underly a number of useful applications. This
  361. approach grew out of our first-generation Tcl training course, where we
  362. discovered that students became very excited once the Tk toolkit was
  363. introduced and they could begin typing statements and interactively
  364. creating sophisticated X-windows interfaces.
  365.  
  366. This same philosophy is the backbone of a book we're writing, Tcl and Tk:
  367. An Applications-Based Approach, due to be published in the first quarter of
  368. 1994 by Prentice-Hall Technical Publications.
  369.  
  370. Training Options
  371.  
  372. We are flexible and can customize a course to your specific needs. We have
  373. found that almost everyone is content with one of a few options. The class
  374. lasts for two or three days, at your option. The class can be structured to
  375. support new Tcl and Tk users and/or users with significant prior
  376. experience. In either case, it is nice to allocate some unstructured time
  377. at the end of the class to talk about specific applications and issues that
  378. the students are interested in, including new users, approaches, tools,
  379. environments, and the future of Tcl itself.
  380.  
  381. Course Location and Times
  382.  
  383. The course can be taught at your company's facility, or at our training
  384. facility located in Houston, Texas. Enrollment is limited to ten people per
  385. class to provide a substantial amount of instructor attention to each
  386. student. If the course it to be held at your company's facility, there
  387. should be no less than one workstation per two students, if at all
  388. possible. The class can be taught over a weekend. Contact NeoSoft for
  389. pricing and availability.
  390.  
  391. Instructor
  392.  
  393. The class will be taught by Karl Lehenbauer, the co-author of Extended Tcl.
  394. Karl is an experienced trainer, having taught and/or developed previous
  395. courses on Unix, Unix system administration and Tcl/Tk.
  396.  
  397. Course Goals
  398.  
  399. Teach Tcl and Tk with the maximum impact by building real world
  400. applications in the classroom.
  401.  
  402. Site Prerequisites
  403.  
  404. Integrated copy of Tcl and Tk, including Extended Tcl, running on site.
  405.  
  406. Course Contents
  407.  
  408. Below is the list of basic sections of the class, beginning with the
  409. elementary things that we would teach to users without prior Tcl experience
  410. and ending with building several tools that are useful, real-world
  411. applications in their own right. We can work with you to tailor the course
  412. to your organization's specific needs.
  413.  
  414. Section 1 Hello, World
  415.  
  416. Concepts:
  417.         Typing commands interactively into the interpreter.
  418.         The most important command in Tcl: "proc"
  419.         Passing arguments to Tcl procedures.
  420.         The C "Hello, World" koan in a graphical context:
  421. The button command
  422. The pack command
  423.  
  424. Section 2 Making Choices with Buttons
  425.  
  426. Concepts:
  427.         Variables and variable substitution
  428.         Radiobuttons
  429.         Checkbuttons
  430.         More on the pack command
  431.  
  432. Section 3 A quartet of application launchers
  433.  
  434. Concepts:
  435.         Launching applications
  436.         Tcl Language elements:
  437.                 Variable assignment
  438.                 Conditional expressions
  439.                 Beginning file I/O
  440.                 Square-bracket substitution
  441.                 Generating window elements from data
  442.                 Accessing command line arguments
  443.  
  444. Section 4 Building a support library:  The dialog box
  445.  
  446. Concepts:
  447.         The message widget
  448.         Control structures:  if/else/endif
  449.         Default values for procedure arguments
  450.         First mention of Tk's event loop
  451.         Subordinate toplevel windows
  452.         'tkwait' to support sequential control
  453.  
  454. Section 5 Building pulldown and popup menus
  455.  
  456. Concepts:
  457.         The menu widget
  458.         Binding commands to keypress events
  459.  
  460. Section 6 A few simple but useful applications
  461.  
  462. Concepts:
  463.         Intermediate file I/O
  464.         Delayed execution with 'after'
  465.         Temporal commands (getclock, fmtclock)
  466.         Capturing a spawned command's output in a variable
  467.  
  468. Section 7 Building a support library: The file selector
  469.  
  470. Concepts:
  471.         The listbox and scrollbar widgets
  472.         The frame widget
  473.         More about the packer
  474.  
  475. Section 8 Creating a text editor with the text widget
  476.  
  477. Concepts:
  478.         The text widget
  479.         Text widget tags
  480.         More about key bindings
  481. Integrating support library examples
  482.  
  483. Section 9 Creating a hypertext system with the text widget
  484.  
  485. Concepts:
  486.         More about the text widget
  487.         More about text widget tags
  488.         Builds on the text editor
  489.  
  490. Section 10 X resource customizer
  491.  
  492. Concepts:
  493.         Use of the "send" command to access another interpreter.
  494.         More about text widget tags.
  495.         Builds on the text editor to make a new tool.
  496.  
  497. Section 11 Introduction to the canvas widget
  498.  
  499. Concepts:
  500.         Introduces the canvas widget.
  501.         Tags and tag processing.
  502.         More on list processing.
  503.            Use of different canvas widget types.
  504.  
  505. Section 12 A second encounter with the canvas widget
  506.  
  507. Concepts:
  508.         Commands and options within the canvas widget.
  509.         Combining items with actions.
  510.         A new application launcher.
  511.  
  512. Section 13 Creating a drawing tool with the canvas widget
  513.  
  514. Concepts:
  515.         Traversing items within a canvas widget.
  516.  
  517. Section 14 Sysadmin tool:  New user creator
  518.  
  519. Section 15 Sysadmin tool:  ttytab editor
  520.  
  521. Section 16 Developer tool:  The proc browser
  522.  
  523. Concepts:
  524.         More on using "send" to access another interpreter.
  525.         Using "info" to find variables and procedures.
  526.            Using entry widgets.
  527.  
  528. Section 17 Color editor
  529.  
  530. Concepts:
  531.         Slider widget
  532.         Performing math with the "expr" command
  533.  
  534. To set up a support contract, or if you need more information, please
  535. contact us at +1 713 684 5969 9-4 M-F, or send email to sales@NeoSoft.com.
  536.  
  537. ---------------------------------------------------------------------------
  538.  
  539. Tcl/Tk: What This Means For Your Organization
  540.  
  541. Usage: Training
  542. Company: Data Kinetics Ltd.
  543. Contact: Education Services
  544. E-mail: education@dkl.com
  545.  
  546. Course Title:
  547.  
  548. Tcl/Tk: What This Means For Your Organization
  549.  
  550. Course Length:
  551.  
  552. One (1) day
  553.  
  554. Course Format:
  555.  
  556. Course material is presented in a lecture format.
  557.  
  558. Course Description:
  559.  
  560. This seminar is intended for managers, programmers and system engineers who
  561. wish to gain a quick understanding of Tcl/Tk. The focus of the seminar is
  562. on the practical, not the theoretical. The aim of the seminar is to provide
  563. an intensive introduction to the language and the tool kit and to describe
  564. how the use of Tcl/Tk can benefit your organization, how other development
  565. organizations are using Tcl/Tk, how you can use the products to reduce the
  566. time to deliver X-windows applications, what resources are available for
  567. the Tcl/Tk developer. Seminar materials include a diskette containing
  568. sample applications built with the products as well as reference cards to
  569. help you get started.
  570.  
  571. Course can be customized to meet specific needs of clients.
  572.  
  573. Topics include:
  574.  
  575.      An Overview of Tcl
  576.  
  577.    * Comparison with other languages
  578.    * The parser
  579.    * Built-in functions
  580.    * Utility functions
  581.    * Extensibility interface
  582.    * The language and its syntax
  583.    * Procedures
  584.  
  585.      The Tk Toolkit
  586.  
  587.    * What is it
  588.    * Widgets
  589.    * Geometry managers
  590.    * Creating interfaces with Tk
  591.  
  592.      Tk Applications
  593.  
  594.    * Wish scripts
  595.    * Presentation package
  596.    * CASE tool
  597.    * Computational fluid dynamics
  598.    * SCADA
  599.    * System administration
  600.    * Network monitoring
  601.    * Database administration
  602.    * XF
  603.    * Graphical application builder
  604.  
  605.      Sources of Tcl/Tk
  606.  
  607.    * Internet
  608.    * Other sources
  609.  
  610.      Other Tcl/Tk Resources
  611.  
  612.    * Literature
  613.    * Training
  614.    * Consulting
  615.  
  616. For pricing and availability information, please contact:
  617.  
  618. Education Services
  619. Data Kinetics Ltd.
  620. 2460 Lancaster Road
  621. Ottawa, ON K1B 4S5
  622. Canada
  623.  
  624. Voice: (613)-523-5500
  625. Fax: (613)-523-5533
  626. E-mail: education@dkl.com
  627.  
  628. ---------------------------------------------------------------------------
  629.  
  630. Building X-Windows Interfaces with Tcl/Tk
  631.  
  632. Usage: Training
  633. Company: Data Kinetics Ltd.
  634. Contact: Education Services
  635. E-mail: education@dkl.com
  636.  
  637. Course Title:
  638.  
  639. Building X-Windows Interfaces with Tcl/Tk
  640.  
  641. Course Length:
  642.  
  643. Three (3) days
  644.  
  645. Course Format:
  646.  
  647. Course material is presented in a lecture format and through extensive
  648. hands-on experience where each student works through the class exercises at
  649. his individual UNIX workstation..
  650.  
  651. Course Description:
  652.  
  653. This seminar is intended for programmers and system engineers who wish to
  654. build applications using the X-Windows interface. Class size is limited to
  655. ten students to allow for substantial student-instructor interaction.
  656. Materials provided include a workbook, a diskette containing sample
  657. applications and reference cards.
  658.  
  659. Course can be customized to meet specific needs of clients.
  660.  
  661. Topics include:
  662.  
  663.      "Hello World"
  664.  
  665.    * Typing interactive commands into the interpreter
  666.    * The button command
  667.    * The (elementary) pack command
  668.    * Widget configuration
  669.    * The "proc" the heart of Tcl/Tk
  670.  
  671.      Using Buttons to Make Choices
  672.  
  673.    * Variables and variable substitution
  674.    * Radiobuttons
  675.    * Checkbuttons
  676.    * The (intermediate) pack command
  677.  
  678.      Launching Applications
  679.  
  680.    * How to launch an application from Tcl/Tk
  681.    * Tcl language elements
  682.         o Variables, creation, assignment, destruction
  683.         o Conditional expressions
  684.         o Square bracket substitution
  685.         o Generating window elements from data
  686.         o Command line arguments
  687.         o Entry level file I/O
  688.  
  689.      The Dialog Box
  690.  
  691.    * The message widget
  692.    * Control structures if/else
  693.    * Default values for arguments
  694.    * Tk's event loop
  695.    * Sub-ordinate windows
  696.    * Sequential application control with tkwait
  697.  
  698.      Menus
  699.  
  700.    * Menu widget
  701.    * Pulldown and Popup
  702.    * Binding commands to interface elements
  703.  
  704.      The File Selector
  705.  
  706.    * Listbox and scrollbar widgets
  707.    * Frame widget
  708.    * The (advanced) pack command
  709.  
  710.      A Text Editor
  711.  
  712.    * The text widget
  713.    * Text "tags"
  714.    * Key bindings
  715.    * Hypertext
  716.  
  717.      Creating a Drawing Tool with the Canvas Widget
  718.  
  719.    * The canvas widget
  720.    * "tags" and tag processing
  721.    * List processing
  722.    * Canvas widget options
  723.    * Traversing items within a canvas
  724.  
  725.      A Color Editor
  726.  
  727.    * The slider widget
  728.    * Math with "expr"
  729.  
  730.      Developer's Tools
  731.  
  732.    * Browsing procs
  733.    * The "send" command
  734.    * "info" command to find variables and processes
  735.    * Entry widgets
  736.  
  737.      A Tcl Debugger
  738.  
  739. For pricing and availability information, please contact:
  740.  
  741. Education Services
  742. Data Kinetics Ltd.
  743. 2460 Lancaster Road
  744. Ottawa, ON K1B 4S5
  745. Canada
  746.  
  747. Voice: (613)-523-5500
  748. Fax: (613)-523-5533
  749. E-mail: education@dkl.com
  750. ---------------------------------------------------------------------------
  751.  
  752. ENTRY T8. - An Intensive Course in Tcl
  753.  
  754. Usage: Quick start to progamming in Tcl for experienced programmers.
  755. Company: Enniskillen Consulting, 3396 Enniskillen Circle, Mississauga,
  756. Ontario, Canada, L5C 2N1.
  757. Contact: Paul Wujek
  758. Email: wujek@sys-x.com
  759. Voice: (905) 279-5885
  760.  
  761. A 1 day course for experienced programmers covering Tcl language, syntax,
  762. usage and programming of 'C' language extensions to Tcl.
  763.  
  764. This course is customizable, given on site, at customer premises.
  765.  
  766. ---------------------------------------------------------------------------
  767.  
  768. ENTRY T9. - An Intensive Course in Tk
  769.  
  770. Usage: Quick start to progamming in Tk for programmers experienced with GUI
  771. concepts.
  772. Company: Enniskillen Consulting, 3396 Enniskillen Circle, Mississauga,
  773. Ontario, Canada, L5C 2N1.
  774. Contact: Paul Wujek
  775. Email: wujek@sys-x.com
  776. Voice: (905) 279-5885
  777.  
  778. A 2 day course for experienced GUI programmers covering Tk concepts, and
  779. usage.
  780.  
  781. This course is customizable, given on site, at customer premises.
  782. ---------------------------------------------------------------------------
  783.  
  784. ENTRY T10. - A course in Tcl/Tk Extensions
  785.  
  786. Usage: A course covering the standard extensions to Tcl, and Tk
  787. Company: Enniskillen Consulting, 3396 Enniskillen Circle, Mississauga,
  788. Ontario, Canada, L5C 2N1.
  789. Contact: Paul Wujek
  790. Email: wujek@sys-x.com
  791. Voice: (905) 279-5885
  792.  
  793. A 1 day course that examines some of the standard extensions to Tcl/Tk:
  794. TclX - standard file handling extensions, etc Tcl-dp - distributed
  795. processing, TCP/IP, RPC oratcl - Oracle database extensions sybtcl - Sybase
  796. database extensions Tix - Motif style GUI for Tk blt - Graphics extensions
  797.  
  798. ENTRY T11. Introduction to Expect
  799.  
  800. CPU offers a course in Expect, an extension to the Tcl/Tk technology. Our
  801. course can be presented at either CPU's training facility or at the client
  802. site. CPU's training facility is located in the New Orleans area. While CPU
  803. has a standard course, the course can be customized to suit your needs.
  804.  
  805. Course Length
  806. Three (3) days if proficient in Tcl, five (5) days if not
  807.  
  808. Course Format
  809. Course material is presented in a lecture format and reinforced through
  810. hands-on laboratory using a network of X Window System terminals connnected
  811. to a RISC workstation.
  812.  
  813. Course Description
  814. This course introduces you to programming in Expect. The following topics
  815. are covered:
  816.  
  817.    * Background concepts
  818.    * Automating processes
  819.         o Partial and full automation
  820.    * Sending and receiving data and commands
  821.    * Pattern matching
  822.         o Techniques and timing
  823.    * Debugging scripts
  824.    * Spawning processes
  825.    * Communicating with multiple processes
  826.    * Communicating with a process and a user
  827.    * Signal handling
  828.    * Background processing
  829.  
  830. Course Level
  831. Technical--intermediate to advanced
  832.  
  833. Prerequisites
  834. Use of vi or emacs editors
  835. Knowledge of Tcl
  836. Knowledge of UNIX
  837. Experience with C-language programming helpful
  838. ---------------------------------------------------------------------------
  839.  
  840. ENTRY T12. - Building Applications with Tcl/Tk
  841.  
  842. Usage: Training
  843. Company: AT&T Bell Laboratories
  844. Contact: Michael J. McLennan
  845. Email: michael.mclennan@att.com
  846.  
  847. COURSE INFORMATION
  848.  
  849. Course Title:
  850.      Building Applications with Tcl/Tk
  851. Course Length:
  852.      3 days
  853. Course Format:
  854.      Lectures and hands-on programming activities
  855. Prerequisites:
  856.      familiarity with Unix
  857. Books Provided:
  858.      John Ousterhout's "Tcl and the Tk Toolkit" (Addison-Wesley) and AT&T
  859.      course notes
  860.  
  861. Course Description:
  862.  
  863. Applications with short development cycles have the best chance for success
  864. in today's marketplace. Tcl/Tk provides an interactive development
  865. environment for building Graphical User Interface (GUI) applications with
  866. incredible speed. Tcl/Tk applications look like they were constructed with
  867. the Motif toolkit, but they can be written in a fraction of the time. This
  868. is due, in part, to the high-level programming interface that the Tcl
  869. language provides. It is also due to the interpretive nature of the
  870. environment; changes made to a Tcl/Tk application can be seen immediately,
  871. without waiting for the usual compile/link/run cycle. Developers can
  872. prototype new ideas, review them with customers, and deliver a finished
  873. product within a span of several weeks.
  874.  
  875. This course provides a hands-on introduction to Tcl/Tk. It teaches
  876. fundamental concepts like how to create widgets, how to "pack" them
  877. together, and how to "bind" new behaviors to events. It shows how real
  878. applications, like a Solitaire card game, can be built a little at a time,
  879. and gradually improved to production quality. It illustrates some of the
  880. finer points of the Tcl language in the context of real applications. It
  881. even includes tips and techniques for Tcl masters.
  882.  
  883. COURSE OUTLINE
  884.  
  885. DAY 1:
  886.  
  887. Tcl/Tk Basics
  888.  
  889.    * using "wish"
  890.    * "Hello World" GUI example
  891.    * anatomy of a Tk widget
  892.    * configuration options
  893.  
  894. Making Widgets Work Together
  895.  
  896.    * variables
  897.    * checkbuttons, radiobuttons, listboxes and scrollbars
  898.    * understanding the event loop
  899.    * using images
  900.    * quoting rules
  901.    * procedures
  902.    * local versus global scope
  903.  
  904. Understanding the "pack" Facility
  905.  
  906.    * filling the cavity
  907.    * pack options
  908.    * handling resizable windows
  909.    * make your packing job simple
  910.    * widget hierarchy
  911.  
  912. A Closer Look at Tcl
  913.  
  914.    * building and manipulating lists
  915.    * defining and using arrays
  916.    * conditionals and looping
  917.    * coding style
  918.  
  919. DAY 2:
  920.  
  921. Simple Applications
  922.  
  923.    * manipulating images
  924.    * using "place" instead of "pack"
  925.    * making scripts into programs
  926.    * puzzle game
  927.    * procedures with optional arguments
  928.    * procedures with variable argument lists
  929.    * tracing down errors
  930.  
  931. Tapping into Events
  932.  
  933.    * types of events
  934.    * using the "bind" command
  935.    * accessing event details
  936.    * class bindings
  937.    * canvas widget
  938.    * tagging canvas items
  939.    * simple sketch pad program
  940.    * rubberbanding on the canvas
  941.    * using widget bind tags
  942.  
  943. Building Solitaire
  944.  
  945.    * Tcl data structures
  946.    * creating Tcl libraries
  947.    * using the "eval" command
  948.    * binding card items for drag-and-drop
  949.    * creating menu bars
  950.    * cascade menus
  951.    * menu accelerators
  952.    * dialog boxes
  953.    * using "grab" to implement modal dialogs
  954.    * using "after" to defer actions
  955.  
  956. DAY 3:
  957.  
  958. Managing Files and Processes
  959.  
  960.    * using "exec" to execute other Unix processes
  961.    * text widget
  962.    * tagging text items
  963.    * using "lsort" for custom sorting
  964.    * opening and closing files
  965.    * reading and writing with files
  966.    * using "scan" and "regexp" for parsing input
  967.    * using "catch" to handle errors
  968.    * other file-related commands
  969.  
  970. Hypertools
  971.  
  972.    * using the "send" command to communicate with another "wish"
  973.    * hypertool communication
  974.    * example: changing the card back design for Solitaire
  975.    * teaching hypertools
  976.  
  977. Tips for Tcl Masters
  978.  
  979.    * autoloading
  980.    * using "open" to execute other processes
  981.    * using "fileevent" for non-blocking I/O
  982.    * scrollable forms
  983.    * handling background errors
  984.    * using "upvar" for pass-by-reference
  985.    * using "uplevel" to create new commands
  986.    * using "trace" for active variables
  987.    * using "tcl_precision" to change floating-point precision
  988.  
  989. Adding Extensions in C
  990.  
  991.    * software architecture
  992.    * popular extensions: [incr Tcl], BLT, TclX, Tcl-DP
  993.    * writing a command-handling procedure
  994.    * creating a customized "wish"
  995.    * mix and match with other extensions
  996.    * trade-offs
  997.  
  998. ---------------------------------------------------------------------------
  999. Please send posts, comments and queries to gwlester@cpu.com.
  1000. Computerized Processes Unlimited Home 10 October 1995
  1001. C:\MSOFFICE\WINWORD\TEMPLATE\NORMAL.DOT
  1002.