Newsgroups: comp.lang.tcl
From: mmc@PROBLEM_WITH_INEWS_GATEWAY_FILE (Michael J. McLennan)
Subject: ANNOUNCE: Tcl/Tk training
Message-ID: <D36Mvp.EyM@nntpa.cb.att.com>
Reply-To: michael.mclennan@att.com
Organization: AT&T Bell Laboratories
Date: Sun, 29 Jan 1995 19:45:24 GMT

Announcing two Tcl/Tk classes in the Dallas area:

  ->  Application Development with Tcl/Tk
      March 6-8, 1995

  ->  Object-Oriented Programming with [incr Tcl]
      March 9-10, 1995

       INSTRUCTOR:  Michael J. McLennan
                    AT&T Bell Laboratories

         LOCATION:  Convex Education Center
                    17919 Waterview Pkwy
                    Dallas, TX  75252

  COURSE OUTLINES:  attached below

If you are interested in attending these or other courses, please
pre-register by returning the following form before February 17, 1995.
You will then receive a registration package with more information.

  >>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  >>  DEADLINE FOR FINAL REGISTRATION:  February 24, 1995  <<
  >>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

AT&T reserves the right to cancel these offerings if the minimum
enrollment is not reached by the final registration deadline.

 - - - - - - - - - - - - - - - cut here - - - - - - - - - - - - - - -

  Please fill in information so that you can be contacted:

           NAME:  ____________________________________
        COMPANY:  ____________________________________
        ADDRESS:  ____________________________________
    CITY, STATE:  ____________________________________

         E-MAIL:  ____________________________________
          PHONE:  ____________________________________
            FAX:  ____________________________________


  Check one of the boxes below:

    [ ]  YES!  I want to attend the following courses:

         [ ]  Application Development with Tcl/Tk
              March 6-8, 1995
              COST:  $1050.00

         [ ]  Object-Oriented Programming with [incr Tcl]
              March 9-10, 1995
              COST:  $700.00

    [ ]  I cannot attend these courses, but please put me
         on a mailing list to be notified of future offerings
         in my area.


   -- RETURN THIS FORM ----------------------------------------
  |   via e-mail:  michael.mclennan@att.com                    |
  |      via fax:  (610)712-2773                               |
   ------------------------------------------------------------

  NOTE:  If for some reason your e-mail bounces, or if you have
         not received a registration package by February 17,
         please call (610)712-2842.

 - - - - - - - - - - - - - - - cut here - - - - - - - - - - - - - - -


== COURSE INFORMATION ========================================================

Course Title:    Application Development with Tcl/Tk
Course Length:   3 days
Course Format:   Lectures and hands-on programming activities

Course Description:
  Applications with short development cycles have the best chance
  for success in today's marketplace.  Tcl/Tk provides an interactive
  development environment for building Graphical User Interface (GUI)
  applications with incredible speed.  Tcl/Tk applications look like
  they were constructed with the Motif toolkit, but are typically
  created in a fraction of the time.  This is due, in part, to the
  high-level programming interface that the Tcl language provides.
  It is also due to the interpretive nature of the environment; changes
  made to a Tcl/Tk application can be seen immediately, without waiting
  for the usual compile/link/run cycle.  Developers can prototype new
  ideas, review them with customers, and deliver a finished product
  within a span of several weeks.

  This course provides a hands-on introduction to Tcl/Tk.  It describes
  the Tcl language and illustrates how it can be used with the Tk
  toolkit to build GUI applications.

== COURSE OUTLINE ============================================================

DAY 1: -----------------------------------------------------------------------

  Tcl/Tk Basics
    - simple Tcl commands
    - "Hello World" GUI example
    - variables and arrays
    - programming statements
    - quoting rules
    - procedures

  Tk Widget Catalog
    - short overview of all Tk
      widgets, including buttons,
      labels, entries, menubuttons,
      menus, listboxes, scrollbars,
      canvas and text widgets

DAY 2: -----------------------------------------------------------------------

  Tk and the X window system
    - overview of X window system
    - managing events via "bind"
    - animation via "after"
    - interacting with window managers

  Composing Tk Widgets
    - frame widget
    - geometry management via "pack"
    - dialog box examples

  Interactive Displays
    - canvas widget for graphical displays
    - text widget for text displays

DAY 3: -----------------------------------------------------------------------

  Advanced Tcl Concepts
    - error handling via "catch"
    - accessing variables via "upvar"
    - tracing variables
    - renaming commands
    - autoloading

  Advanced Tk Concepts
    - X11 resource database
    - building Hypertools with "send" command
    - server grabs and "tkwait"

  Writing Tcl/Tk Extensions
    - how extensions fit into the Tcl interpreter
    - overview of some popular extensions
    - dissecting the C code for an extension command
    - accessing commands/variables from C language
    - adding new commands to the interpreter
    - code example
------------------------------------------------------------------------------


== COURSE INFORMATION ========================================================

Course Title:    Object-Oriented Programming with [incr Tcl]
Course Length:   2 days
Course Format:   Lectures and hands-on programming activities

Course Description:
  When Tcl/Tk scripts grow larger than a few hundred lines, the code
  complexity can be difficult to manage.  [incr Tcl] provides a set of
  object-oriented extensions for the Tcl language, enabling programmers
  to write high-level building blocks that are more easily assembled
  into a finished application.  This course describes object-oriented
  programming with [incr Tcl].  It describes fundamental concepts--
  such as "is-a" versus "has-a" relationships and multiple inheritance--
  in the context of [incr Tcl], and demonstrates how object-oriented
  programming can be used to develop Tcl/Tk applications.

== COURSE OUTLINE ============================================================

DAY 1:                               | DAY 2:
                                     | 
  [incr Tcl] Basics                  |   Object Interactions
    - object vs. class               |     - "is-a" relationships
    - class definitions              |     - "has-a" relationships
    - protected data members         |     - inheritance/composition tradeoffs
    - member functions (methods)     | 
                                     |   Multiple Inheritance
  Nifty Features                     |     - visualizing multiple inheritance
    - public data members            |     - restrictions
    - info method                    |     - resolving name conflicts
    - designing access methods       |     - object construction process
    - common data members            |     - object destruction process
    - common functions (procs)       | 
                                     |   [incr Tk]
  Inheritance                        |     - designing "mega-widgets"
    - visualizing inheritance        |     - [incr Tk] class hierarchy
    - info and isa                   |     - OptionButton example
    - object-based philosophy        | 
    - object-oriented philosophy     |   Object-Oriented Design
    - reasons for using inheritance  |     - CRC card design methodology
                                     | 
  Scoping Rules                      |   Design Exercise
    - using inherited methods        | 
    - resolving name conflicts       | 
    - accessing the global scope     | 
    - virtual and previous           | 
                                     | 
  Freq Asked Questions               | 
                                     |
------------------------------------------------------------------------------

