Opleiding: Julia Programmeren
In deze cursus leert u de taal Julia in de volle breedte kennen en u doet diverse opdrachten.
Julia is een high-performance programmeertaal gericht op technische en wetenschappelijke toepassingen. Tijdens deze training maakt u gebruik van een Julia ontwikkelomgeving (bijvoorbeeld VS Code of Jupyter). Allereerst kijken we naar de manier waarop Julia code wordt uitgevoerd (JIT-compilatie) en hoe dit zich verhoudt tot performance en interactief werken. Daarna zal een introductie worden gegeven in programmeerconcepten en het werken met functies, modules en packages. Om in Julia daadwerkelijk programmatuur te schrijven zullen een aantal standaard programmeerconcepten begrepen moeten worden. Denk hierbij aan datatypes, variabelen, strings, arrays, control flow en expressies. Nadat er zowel een bredere kennis is ontstaan van de basisconcepten en standaard programmeerconcepten kan er dieper worden ingegaan op geavanceerdere onderwerpen zoals multiple dispatch, type system en performance optimalisatie.
Dag 1: Dag 1 De cursus begint met een presentatie waarin de functies en mogelijkheden van Julia worden benoemd. Hierna leert u de basisprincipes van het programmeren met Julia. Aan de hand van oefeningen maakt u de eerste stappen om Julia eigen te maken. Dag 2: Dag 2 Op de tweede cursusdag ligt de focus op gestructureerd en modulair programmeren met Julia. U maakt diverse oefeningen onder begeleiding van de docent en leert u alle basisconcepten goed toepassen, waaronder functies, packages en werken met data-structuren. Dag 3: Dag 3 Op de laatste cursusdag leert u werken met de complexere functies van Julia. U leert diverse tools gebruiken en maakt oefeningen. Aan het einde van deze cursusdag kunt u vaardig en zelfstandig met Julia kunnen werken.
De cursist kan zelfstandig Julia-programmatuur schrijven Je hebt kennis van basis programmeerconcepten De cursist heeft een breder begrip gecreëerd van de mogelijkheden en de achtergrond van Julia Encapsulating data Object references Garbage collection Modules en packages Multiple dispatch Polymorfisme Abstract types Interfaces en traits