Lua Programmeren
Lesgeld
Lua Intro
De cursus gaat van start met een uitleg over het Lua Software systeem, de Lua Interpreter, de Lua Compiler en de SciTE IDE.
Lua Syntax
Ook wordt ingegaan op de Lua language syntax, de variabelen en data types, het verschil tussen RValues en LValues, operators, control flow en Lua modules.
Functions
Vervolgens komt het definiëren en aanroepen van functies in Lua aan de orde met parameter passing, function scope en return values. Lua ondersteu
Lua Intro
De cursus gaat van start met een uitleg over het Lua Software systeem, de Lua Interpreter, de Lua Compiler en de SciTE IDE.
Lua Syntax
Ook wordt ingegaan op de Lua language syntax, de variabelen en data types, het verschil tussen RValues en LValues, operators, control flow en Lua modules.
Functions
Vervolgens komt het definiëren en aanroepen van functies in Lua aan de orde met parameter passing, function scope en return values. Lua ondersteunt ook functioneel programmeren en in dit verband worden functies als variabelen, functies als return values en closures behandeld.
Data Structures en Classes
Ook wordt ingegaan op data structures en classes en objects in Lua. Hierbij worden arrays, iterators en tables behandeld en worden de concepten van inheritance, overriding en polymorphism uitgelegd en gedemonstreerd.
Threads en Coroutines
Dan staan multithreading en coroutines op het programma van de cursus. Aan de orde komt hoe verschillende taken parallel aan elkaar kunnen worden uitgevoerd in multiple threads en hoe coroutines de controle aan elkaar overgeven met yield en resume.
Lua Data Access
Tenslotte wordt de cursus afgesloten met de behandeling van data access vanuit Lua applicaties. Zowel het benaderen van files als het benaderen van relationele databases wordt daarbij behandeld.
Doelgroep Cursus Lua Programmeren
De cursus Lua Programmeren is bedoeld voor developers die de snelle geïnterpreteerde scripttaal Lua willen leren.
Voorkennis Cursus Lua Programmeren
Om aan deze cursus te kunnen deelnemen is ervaring met programmeren vereist. Ervaring met object georiënteerd en functioneel programmeren is bevorderlijk voor de begripsvorming.
Uitvoering Training Lua Programmeren
De theorie wordt behandeld op basis van presentatie slides. De theorie wordt verduidelijkt door middel van demo's. Na bespreking van een module, is er de mogelijkheid te oefenen. De cursustijden zijn van 9.30 tot 16.30.
Certificering Cursus Lua Programmeren
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Lua Programmeren.
Modules
Module 1 : Lua Intro
- 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
Module 2 : Language Syntax
- Lua Tokens
- Data Types
- Variables
- LValues and RValues
- Type Function
- Operators
- Control Flow
- Loops
- If Selection
- Modules
- require Statement
Module 3 : Lua Functions
- 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
- 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
Module 5 : Object Orientation
- Classes and Objects
- Creating Objects
- Accessing Properties
- Member Functions
- Mutable Values
- Immutable Values
- MetaMethods
- Inheritance
- Overriding Methods
- Polymorphism
- Garbage Collection
- Collector Functions
Module 6 : Threading and Coroutines
- 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