Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
NEW SERVER - 11.9.2020 ... Retiring, March 2020 - sorry, you have missed our final public course.
The Coronavirus situation has lead us to suspend public training - which was on the cards anyway, with no plans to resume

Please ask about private 'maintenance' training for Python, Tcl, Perl, PHP, Lua, etc
Happily continuing private consultancy / programming work

Tcl and Tk Training News
Next Public Course Dates
Learning to program in Tcl Mon, 16 Nov 20 5 days
Tcl Programming Tue, 17 Nov 20 4 days

Link on individual courses for more details and further dates.

We can also run a private tailored course at our centre or a private course at your office.
Learning to Program in Tcl - training course
The Tcl programming language, and Expect
Duration: 5 days • Price: $2550.00 or £1550.00 (VAT free from January 2019), • Venue: Melksham, England

• Monday 20 January 2020• Monday 16 March 2020
• Monday 18 May 2020• Monday 20 July 2020
• Monday 14 September 2020• Monday 16 November 2020
This course covers the fundamentals of the Tcl programming language. You'll learn about Tcl commands, quoting conventions and control structures before we move on to cover topics such as strings, lists, arrays and regular expressions.

Further topics covered on the course include writing your own commands (procs), packages, libraries, namespaces and other - you'll leave the course with a thorough grounding in Tcl.

Tcl is often used as an embedded language, and we'll show you how it's embedded within applications such as Expect, and briefly how it's used in association with Tk.

This course is for delagate without prior programming experience.

Getting the most from your Well House Consultants course [Link]
Tcl is a programming language that's used in a wide variety of niche applications - ranging from Numerical Control Machines to Integrated Cirsuit design. It's also very strong as an Engineer's language in system testing, where the with the additional Expect extension provides a tool that would be hard to better.
Course Summary: [Link]
Learning to Progam (module Q100) What is programing? Why are there so many langauges? Which language for what purpose? How to plan your progamming project. Making best use of existing resources.
Programming Principles (module Q101) Stored programs - running from file. Sequential operation. Very fast, but an IQ of zero. Variable and variable types. Conditions and conditional code. Loops and named blocks of code. Collections. Libraries. Pointers and references. Compilers and Interpretters. Program and system design.
Tcl Fundamentals
What is Tcl? (module T201) What you (to program) need to learn. Extended Tcl applications. Expect. Tcl/Tk. Combinations. The browser plugin. Other extensions. [Incr Tcl]. [Incr Tk]. Tix. TclX. BLT. OraTcl and SybTcl. TclOdbc. Others. Commonly used Tcl scripts and applications. TclHttpd. Vignette. UG/Post Builder. Cloverleaf. Radia from Novadigm (now part of HP). Who looks after Tcl?. Portability. Tcl resources.
Tcl Fundamentals (module T202) Hello World. Running environment. source. Structure of Tcl Commands. Running from the command line. Integration into your system. Step 1 - First line. Step 2 - Mark the program as being executable. Step 3 - Ensure that your program is on the "PATH".. The comment command and more syntax. Comments. More flexible command syntax. Variables. Setting up variables. Referencing variables. Variable substitution using double quotes. Reading Input. fileIds. Command substitution. flushing. The expr command. Integer v float.
Conditionals and Loops (module T203) The if command. deferred substitution. The else and elseif parameters. The while command. Getting out of loops. The for command. The foreach command. The switch command. Conditional operators. Combining conditions. fconfigure. Locating errors in your Tcl program.
String Handling in Tcl (module T205) Basic string handling commands. scan. Append and format. The string command. Subcommands. Indexes. Informational subcommands. Manipulating subcommands. The match subcommand and globbing. Putting string together. Regular expressions. The elements of a regular expression. Literals. Character sets. Counts. Anchors. Groupings and Alternation. Manipulating matched regular expressions. Extracting from a match. Match and substitute. Putting it together. Looking forward.
Lists (module T206) How lists are handled in Tcl. List-related commands. Creating and modifying lists. Extracting information from a list. Manipulating lists to create other lists. Sample programs using lists. Reading an access log file.
Procedures and Variable Scope (module T207) Holding commonly used command sequences. Why use procs?. Sharing procedures with another application. Variable parameters. Variable scope. The global scope. The upvar command. Another example of upvar. Structured programming and OO. Structured programming. Programming with objects. Use of Procs as an interface to Tcl.
Arrays and dicts (module T208) First use of an array. Setting up an array. Referencing elements of an array. Enquiring on an array. First use of a dict. Pure and impure variables. Arrays rather than lists or dicts. A wider range of array commands. Array get and set. Selecting elements from an array. Uses of arrays. Using numeric indexes. Passing arrays to procs. Unique keys.
File and Directory Handling (module T209) Reading and writing files. Opening a file - the basics. Reading from a file. Writing to a file. Closing a file. More about reading and writing files. Other open access arguments. An alternative to gets. Other Input/Output commands. Example. File and directory handling. The file command. Looping through all the files in a directory.
Intermediate Tcl programming
What is Expect? Why use it? (module T211) Sample problems. A regular task. A solution. Software testing. A possible solution. What else is Expect?. Expect commands. spawn, expect and send. More on the expect command. Not wanting to echo what you expected?. Not knowing what to expect?. Variables set by expect. Expect patterns. Running Expect on Windows platforms.
Expect Processes (module T212) Multiple processes. Spawn id s. Expecting from multiple processes. Adding Tk as well. A few words of caution.
More on Expect (module T242) Expecting from the user. Using expect and send for user communication. Waiting for the user or for a process. More facilities. Defining default expect patterns. Humanesque input. Sending Specials. Signals. Receiving signals. Sending Signals. Command line options. Interact. Filtering throughput.
Libraries, Packages and Namespaces (module T213) The load command. Startup files. Startup files - tcl. Startup files - expect. Packages. Loading packages. Writing your own package. Using variables across procs and packages. Recap on using variables between procs. Namespaces. Nesting of namespaces. Exporting and importing. Packages and namespaces.
Other Facilities in Tcl (module T214) Information. The info command. Other information commands. history. Error control. unknown. File handling. fconfigure. seek. Variable control. unset. Tracing a variable in Tcl. Special variables. Other Subjects for group discussion.
Introduction to Tk (module T216) Hello Tcl/Tk World. Tcl/Tk supported platforms. Sourcing Tcl/Tk. Our sample program. A real application. Feedback via the Tk window. Widgets as commands. A GUI front end to a data file. The main program. The setup proc. The scanner proc. The complete program.
First Widgets, Geometry and Events (module T217) The button widget. Resources. State. Design notes. The pack geometry manager. Changing how pack works. More flexible packing. Frames. Frame hierarchy. The parent frame. The window manager command. Button presses and other events. Summary.
Geometry Managers (module T218) The grid geometry manager. Sizing and filling cells. Managing rows and columns. Cells that span several rows or columns. . Placing geometry.
Drawing on Canvases (module T219) Canvas basics. Canvas and Canvas objects. Interacting with drawing objects. Canvas objects. The rectangle (rect) object. . The oval object. The polygon object. The arc object. The line object. The text object. Computer graphics - techniques. Coordinate systems. Clipping. Display lists. Hidden line and surface. Further issues.
Frames and Other Topics (module T220) Nesting frames. The outer frame. The first inner frame. The second inner frame. Completed application. Top-level widgets. Labels and Messages. Scales.
Events in Tk (module T224) Binding tags and events. Binding Tags. Events. Keys and Buttons. Mouse Movements. Window Happenings. OS Specific. Event keywords.
Applications and some advanced features
Using Tcl from C (module T243) Embedding a Tcl interpreter in C Program. Hello Integrated World. Hiding Tcl source code from the user. Extending Tcl - adding a command written in C.
Socket Programming (module T244) Clients and servers. Overview. Reaching the right service. Naming Services. Protocols. Client programming in Tcl. A simple client. Considerations for client programming. Server programming in Tcl. A simple server. Considerations for server programming.
[incr-Tcl] (module T245) Introduction. Hello Object World. The application. The class used. Other facilities in simple objects. Inheritance in [incr-Tcl]. Multiple inheritance. Other commands available in [incr-Tcl].
Advanced Regular Expressions (module T247) Introduction. What are advanced regular expressions?. The working of a regular expression. The elements of a regular expression. Literal characters. Assertions. Character groups. Counts. Extensions. A little more on regexp and regsub. A further example.

Graham Ellis - graham@wellho.net [email]  [about Graham]
Melksham, Wiltshire , England. A taxi transfer can be arranged if you'll be arriving by air from United States. Private Courses can be arranged on site in your country.
Public courses run at Well House Manor - our own purpose fitted training centre and business hotel / conference centre in Melksham.
• Download Melksham Map - [pdf file (750k)] • Google Map - [Link]
1 student   2 students   3 students   For 4 or more students
from the same company,
please consider a private course.
 With hotel room
($3720.00 inc VAT) or
£1900.00 (No VAT from 1.2019)
Without room
($3060.00 inc VAT) or
£1550.00 (No VAT from 1.2019) 
 With hotel rooms
($7380.00 inc VAT) or
£3750.00 (No VAT from 1.2019)
Without rooms
($6060.00 inc VAT) or
£3050.00 (No VAT from 1.2019) 
 With hotel rooms
($11040.00 inc VAT) or
£5600.00 (No VAT from 1.2019)
Without rooms
($9060.00 inc VAT) or
£4550.00 (No VAT from 1.2019) 
• Multiple discount applies to bookings for second and subsequent delegates on the same running of a course, and on same order.
• Hotel rooms are available for arrival the night before the course starts, for departure after the end of the course on the last day.
If you'll be using Tcl in association with the Tk graphic widget set, you'll want to stay on for the Tcl/Tk course, which runs the following two days.

Upon completion of your course, you'll have online access to the source code of all the examples from the course, and you'll have access to the "Ask the Tutor" forum where you can raise questions. We also encourage you to email the tutor, and to visit us again to use our library as appropriate.

Certification? - [Link]
Public (scheduled) courses -- http://www.wellho.net/course/ctc.html
For more information about our public courses in general, such as class size, course times, materials provided, special requests, accommodation list, finding our centre, etc.
Terms and Conditions -- http://www.wellho.net/net/terms.html
Covering topics such as delegate substitution, payment, cancellation policy and other matters.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2020: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/course/tlfull.html • PAGE BUILT: Fri Jan 3 07:30:06 2020 • BUILD SYSTEM: WomanWithCat