Training, Open Source Computer Languages

This is page

Our email: • Phone: 01225 708225

Python and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Lua, etc
Lua Programming - training course
Learning to program in Lua and make good use of the language

This course has been replaced by an updated Lua Programming course

Our public "Lua Programming" course takes you from the basics of the language to the more advanced features. It teaches you not only the language but the techniques you can apply within the language to write powerful, easy to maintain scripts with good code reusability.

Lua has been designed to have a small footprint, yet you'll learn on this course how easy it is to build on the basic structures to write code cleanly and quickly.

The final afternoon of the course takes you through a number of applications of Lua such as using it on the web, and heavy data handling. You'll see the practical use of the facilities and techniques you have learned about.
Some prior Programming experience. See Learning to program in Lua if you are a newcomer to programming.

Getting the most from your Well House Consultants course [Link]
The Lua Programming language is a lightweight scripting language which is becoming very popular in gaming and other applications. Its closest relatives include Icon, and Python for its ease of learning and use by non-programmers.
Course Summary: [Link]
Introduction to Lua. (module U101) What is Lua. Hello Lua World. Sourcing, versions. Where is Lua used?
Numbers and the Math library. (module U102) Variables and variable conventions. Expressions. Operators. Rounding. Data Types. Type and Conversion Functions.
Conditionals and loops (module U103) If while repeat break do and for. Comparing numbers comparing strings. Equality and nil. Combining Conditions.
Strings and the String library. (module U104) Double and single quotes, square brackets and backslashes. String concat, length, etc. Formatting numbers in to strings. String Conversion Functions.
Tables and the table library. (module U105) Introduction. Tables as arrays. Table equality and copying. Sort, Concatanate, remove and others. Table Traversal Functions. Building other structures from tables.
Functions. (module U106) Defining and calling functions. Variable scope. Return values. Chunks as functions. Upvalues and Closures. Variable Argument Lists. Nesting and passing functions and recursion.
Pattern matching (module U108) Anchors, literal characters, counts and groups. Capturing matchs, capturing all the matches (global) Pattern Based functions.
Modules (module U109) The require function. Module directory and environment variables. Namespaces. Globals and Strict. Other Module Functions.
Object Orientation - the Lua way (module U107) Mutable and Immutable Values. MetaMethods and functions as members. Metatables, __index, __add and __lt. Polymorphism and inheritance.
Input / Output (module U110) Keyboard and screen at a lower level. Opening and closing files. Reading and writing files. File status checks and file system operations. Other file system functions.
Trapping and handling errors. (module U111) Logic, syntax, runtime. Assert and Error functions. Error Containment Functions such as pcall. debug.stacktrace.
Other Standard Library features. (module U112) Maths functions - trig, log, random, geometric, etc. Time and date functions. CPU time. Environment, Metatable and Chunk-Loading Functions. Vararg-Related Functions.
Installing Lua (module U113) Sourcing and building Lua (Linux, OSX, Windows) Bytecode, Luac. Garbage collection and implementations. Adding Modules.
Threading and Coroutines. (module U114) Coroutines as co-operative programs. Transferring control and maintaining state. Concurrent tasks, and keeping them apart. Event handling - event loops and yielding.
Building and using community libraries. (module U115) gd - Graphics. SQLite - Database. Using MySQL from Lua. LuaSocket - Network Programming.
Network Lua. (module U116) Providing web content with Lua via CGI. LuaSocket, Server and Client programming. Application protocols such as http. Plua.
Other Lua Subjects (module U117) Environment. Optimisation. Using Lua and C together.
Resources. (module U118) Books, Web Sites. The Lua Wiki. Mailing lists and Forums.
New in Lua 5.2 (module U198) Yieldable pcall and metamethods. Lexical scheme for globals. Ephemeron tables. Library for bitwise operations. Light C functions. Emergency garbage collector. Goto statement. Finalizers for tables.
Programming Standards in Lua (module U199) Commenting and Documentation strings. Variable, function, object naming conventions. Constant, module, package and class naming. Block, function, class and module structuring and code reuse. Indentation, contuation, spacing and other formatting issues. A special note on end. Design patterns and coding standards. Algorithm robustness - limits, cardinal values and other issues. Learning from the experience of other languages. Applying standards to existing code. Minimum release levels and requiring extra modules / packages. Software Licensing.

Graham Ellis - [email]  [about Graham]
Melksham, Wiltshire
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
£1160.00 (No VAT from 1.2019)
Without room
£950.00 (No VAT from 1.2019) 
 With hotel rooms
£2270.00 (No VAT from 1.2019)
Without rooms
£1850.00 (No VAT from 1.2019) 
 With hotel rooms
£3380.00 (No VAT from 1.2019)
Without rooms
£2750.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.
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 --
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 --
Covering topics such as delegate substitution, payment, cancellation policy and other matters.

© WELL HOUSE CONSULTANTS LTD., 2019: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01225 708225 • EMAIL: • WEB: • SKYPE: wellho

PAGE: • PAGE BUILT: Tue Oct 15 16:20:13 2019 • BUILD SYSTEM: WomanWithCat