-
Learning by doing
-
Trainers with practical experience
-
Classroom training
-
Detailed course material
-
Clear content description
-
Tailormade content possible
-
Training that proceeds
-
Small groups
In the course Lua Programming participants learn to use Lua in the development of applications. Lua is a lightweight, open source scripting language and is written in C. Lua is used in many platforms ranging from large server systems to small mobile applications. Lua is intended to be integrated with C code and complements C code with good facilities for string manipulation, simple testing and debugging capabilities, dynamic memory allocation and automatic memory management.
The course starts with an explanation of the Lua Software system, the Lua Interpreter, the Lua Compiler and the SciTE IDE.
The Lua language syntax, the variables and data types, the difference between RValues and LValues, operators, control flow and Lua modules are also discussed.
Then defining and calling functions in Lua is treated with parameter passing, function scope and return values. Lua also supports functional programming and in this context attention is paid to functions as variables, functions as return values and closures.
Also part of the course program are data structures and classes and objects in Lua. Arrays, iterators and tables are discussed and the concepts of inheritance, overriding and polymorphism are explained and demonstrated.
Then multithreading and coroutines are on the course schedule. It is discussed how different tasks can be executed in parallel in multiple threads and how coroutines transfer control to each other with yield and resume.
Finally the course ends with the treatment of data access from Lua applications. Both accessing files and accessing relational databases are treated.
The Lua Programming course is intended for developers who want to learn the fast and interpreted script language Lua.
Programming experience is required to participate in this course. Experience with object oriented and functional programming is beneficial to understanding.
The theory is discussed on the basis of presentation slides. The theory is further explained through demos. After discussing a module, there is the possibility to practice. Course times are from 9.30 to 16.30.
After successful completion of the course the participants receive an official certificate Lua Programming.
Module 1 : Lua Intro |
Module 2 : Language Syntax |
Module 3 : Lua Functions |
Lua Origins Relation to C Lua Interpreter Lua Compiler Memory Management String Handling Lua's Software System Installing Lua Interactive Mode SciTE IDE Lua Extensions |
Lua Tokens Data Types Variables LValues and RValues Type Function Operators Control Flow Loops If Selection Modules require Statement |
Defining Functions Function Scope Parameter Passing Formal Parameters Return Values Assigning Functions Passing Functions Variable Arguments Chunks as Functions Closures Built-In Functions |
Module 4 : Data Structures |
Module 5 : Object Orientation |
Module 6 : Threading and Coroutines |
Arrays and Indexing Multiple Dimensions Lua Iterators Generic For Iterator Stateless Iterators Stateful Iterators Lua Tables Table Representation Table Manipulation Sorting Tables Metatables Operation Behavior |
Classes and Objects Creating Objects Accessing Properties Member Functions Mutable Values Immutable Values MetaMethods Inheritance Overriding Methods Polymorphism Garbage Collection Collector Functions |
What are Coroutines? Creating Coroutines Coroutine Functions yield and resume wrap and running Transferring Control Maintaining State Concurrent Tasks Synchronization Event Handling Event Loops Debugging |
Module 7 : Data Access |
||
File I/O Implicit File Descriptors Explicit File Descriptors Database Access LuaSQL Library Making Connection Execute Function Inserts and Updates Executing Queries Retrieving Results Transactions SQLite and MySQL |