Cursus Julia Programmeren

Programmeertalen

De cursist leert de programmeertaal Julia kennen en doet diverse praktijkgerichte oefeningen met deze veelgebruikte wetenschappelijke programmeertaal. Daarbij wordt ingegaan op de sterke punten van Julia, zoals de hoge rekensnelheid, de uitstekende ondersteuning voor numerieke en wetenschappelijke berekeningen, en het combineren van gebruiksgemak met prestaties op het niveau van low-level talen. Julia wordt veel toegepast binnen data-analyse, machine learning en high-performance computing.

Cursusduur: 3 dagen

Gegeven door:

Peter Schols

Introductie tot Julia

Data-analyse en wetenschappelijk rekenen vormen de kern van moderne geo-informatie, onderzoek en data-gedreven besluitvorming. De programmeertaal Julia neemt hierin een steeds prominentere rol in als een snelle, nauwkeurige en moderne taal voor numerieke berekeningen en statistische analyse. Julia is ontworpen voor situaties waarin prestaties, schaalbaarheid en leesbaarheid samenkomen. Hierdoor is de taal bij uitstek geschikt voor onderzoekers en data-analisten die werken met complexe modellen en grote datasets.

Geo-ICT Training Center, Nederland - Julia programmerenMet Julia kun je rekenintensieve analyses, simulaties en statistische modellen uitvoeren zonder concessies te doen aan programmeergemak. Dit maakt Julia bijzonder waardevol in domeinen zoals geo-informatie, milieumodellering, engineering en datascience. Deze introductie neemt je mee in de wereld van data-analyse en wetenschappelijk computergebruik door de lens van Julia, met nadruk op de rol die de taal speelt in hedendaagse data- en rekenintensieve toepassingen.

Het beheersen van de basis van Julia biedt een krachtige en toekomstbestendige toolkit. Van numeriek nauwkeurige berekeningen tot schaalbare data-analyse en visualisatie: Julia combineert de snelheid van laag-niveau talen met de expressiviteit van hoog-niveau programmeertalen. Dit wordt mogelijk gemaakt door het moderne type-systeem, multiple dispatch en een rijk ecosysteem aan pakketten.

Geo-ICT erkent het groeiende belang van Julia binnen data-analyse en wetenschappelijk onderzoek. In de cursus Julia Programmeren staan theorie en praktijk centraal staan. Je leert niet alleen de taal begrijpen, maar ook effectief toepassen op realistische datasets en onderzoeks- en analysevraagstukken.

Wat is Julia en waarom is het belangrijk?

Julia is meer dan een programmeertaal. Het is een high-performance taal die speciaal is ontwikkeld voor numeriek rekenen, statistiek en wetenschappelijk computergebruik. Julia vult een niche die lange tijd leeg was: een taal die snel is zoals C of Fortran, maar leesbaar en productief zoals Python of R. Dit maakt Julia bijzonder aantrekkelijk voor data-analisten en onderzoekers.

Wat Julia onderscheidt, is de combinatie van prestaties en programmeergemak. De taal is vanaf de basis ontworpen met numerieke nauwkeurigheid, schaalbaarheid en herbruikbaarheid in gedachten. Julia wordt steeds vaker gebruikt voor simulaties, optimalisatie, statistische modellering en datascience workflows.

Daarnaast biedt Julia:

  • Uitgebreide ondersteuning voor parallel en gedistribueerd computergebruik
  • Mogelijkheden om gebruikers gedefinieerde datastructuren te ontwerpen
  • Geavanceerde metaprogrammering, inclusief het bouwen van eigen DSL’s
  • Naadloze interactie met C, Python en R
  • Een krachtig multiple-dispatch paradigma dat code overzichtelijker, flexibeler en beter onderhoudbaar maakt

Deze eigenschappen maken Julia tot een belangrijke speler in moderne data-analyse en computationele wetenschap. Door de cursus Julia Programmeren bij Geo-ICT te volgen, krijg je inzicht in hoe je deze unieke eigenschappen effectief inzet in je eigen analyses en projecten.

De rol van Julia in de hedendaagse data-analyse

Julia neemt een steeds centralere plaats in binnen data-analyse en wetenschappelijk rekenen. De taal wordt toegepast in uiteenlopende domeinen, van geo-informatie en klimaatonderzoek tot machine learning en statistiek. Julia onderscheidt zich door zijn focus op prestaties én expressiviteit.

Belangrijke kenmerken van Julia in data-analyse:

  • Hoge uitvoersnelheid voor rekenintensieve analyses en simulaties
  • Multiple dispatch voor het logisch structureren van analytische code
  • Uitgebreide ondersteuning voor parallel en gedistribueerd rekenen
  • Open-source ecosysteem met actieve community en snelle innovatie

Met Julia kun je het volledige analyseproces ondersteunen:

  • Data inlezen en wegschrijven via bestanden en DataFrames
  • Data voorbereiden, structureren en transformeren
  • Statistische analyses uitvoeren en hypothesen toetsen
  • Modellen bouwen en evalueren
  • Resultaten visualiseren met moderne plotbibliotheken

Deze eigenschappen maken Julia bijzonder geschikt voor professionals die werken met complexe, grootschalige of rekenintensieve data-analyseprojecten.

Wat je leert in de Cursus Julia Programmeren

Basisbeginselen van Julia Programmeren

De cursus start met een grondige introductie tot Julia en haar ontwikkelomgeving. Je leert:

  • De rol en positionering van Julia binnen data-analyse
  • Wat je van deze cursus kunt verwachten
  • Werken met de Julia REPL en batch-uitvoering
  • Alternatieve ontwikkelomgevingen zoals IJulia (Jupyter) en editors
  • Het Julia-ecosysteem: documentatie, pakketten en community

Daarna ga je aan de slag met de fundamenten van de taal:

  • Strings en het “Hello World”-principe
  • Scalaire typen: gehele getallen, floats, complexe en rationale getallen
  • Arrays: vectoren, matrices, multidimensionale en heterogene arrays
  • Andere elementaire typen: tuples, ranges, dictionaries en symbolen

Structuren, Functies en Multiple Dispatch

Julia blinkt uit in het ontwerpen van flexibele en herbruikbare code. In dit onderdeel leer je:

  • Het bouwen van eigen typen (abstract, samengesteld en parametrisch)
  • Functies definiĂ«ren en werken met methoden
  • Het principe van multiple dispatch en hoe dit verschilt van OOP
  • Parametrische en anonieme functies
  • Functies met optionele en vereiste argumenten
  • Innerlijke en buitenste constructeurs

Deze kennis helpt je om analytische code logisch te structureren en schaalbaar te maken.

Controle stroom, Code Organisatie en Metaprogrammering

Je leert hoe je Julia-programma’s robuust en onderhoudbaar maakt:

  • Voorwaardelijke evaluatie en lussen
  • Uitzonderingsafhandeling en taken
  • Organisatie van code met modules en pakketten

Daarnaast verdiep je je in metaprogrammering, een van Julia’s krachtigste kenmerken:

  • Symbolen en expressies
  • Citeren en interpolatie
  • Parseren en evaluatie

Data, Statistiek en Visualisatie

Een belangrijk deel van de cursus richt zich op data-analyse en statistiek:

  • Gegevens lezen en schrijven
  • Werken met DataFrames
  • Kansverdelingen en statistische metingen
  • Hypothesetoetsing
  • Lineaire regressie en gegeneraliseerde lineaire modellen

Voor visualisatie maak je kennis met verschillende plotbibliotheken, waaronder Gadfly, PyPlot en Plotly, en leer je hoe je interactieve en inzichtelijke grafieken maakt.

Parallel en Gedistribueerd Rekenen

Tot slot ga je in op Julia’s sterke ondersteuning voor parallel computergebruik:

  • Message passing en remote calls
  • Parallelle lussen en pmap
  • Taken en scheduling
  • Gedistribueerde arrays

Dit stelt je in staat om Julia effectief te gebruiken voor grootschalige analyses en simulaties.

Waarom kiezen voor onze Cursus Julia Programmeren?

De cursus is specifiek gericht op data-analisten en onderzoekers die Julia willen inzetten voor serieuze analyse- en rekenvraagstukken.

Waarom kiezen voor Geo-ICT:

  • Ervaren docenten met praktijkervaring
  • Sterke focus op hands-on oefeningen
  • Inhoudelijk diepgaande en actuele cursus
  • Ondersteuning tijdens en na de cursus

Met deze cursus ontwikkel je niet alleen technische Julia-vaardigheden, maar ook het inzicht om Julia effectief toe te passen binnen data-analyse, onderzoek en modellering. Hiermee ben je optimaal voorbereid op data- en rekenintensieve uitdagingen van vandaag en morgen.

Lees meer

Inschrijven






    Korting: 10% bij 3 cursisten
    15% vanaf 4 cursisten

    €1695,- Excl. btw

    €1695,- Excl. btw

    Dagindeling

    Dag 1 – Fundamenten van Julia en Data-Analyse

    De eerste dag staat volledig in het teken van oriëntatie, basisconcepten en het leggen van een stevige fundering. Je maakt kennis met Julia als programmeertaal en krijgt inzicht in waarom en wanneer Julia wordt ingezet binnen data-analyse en wetenschappelijk computergebruik. We starten vanuit een breed perspectief en bouwen dit stap voor stap op richting praktische vaardigheden. Je leert welke niche Julia vult ten opzichte van talen als Python en R, en hoe Julia je kan ondersteunen bij data-analyse, statistiek en numerieke berekeningen. Vervolgens ga je praktisch aan de slag met de Julia-ontwikkelomgeving. Hierbij maak je kennis met de Julia REPL en alternatieve omgevingen zoals IJulia (Jupyter notebooks), zodat je comfortabel leert werken met de tooling. Daarna verdiepen we ons in de kern van de taal. Je leert werken met elementaire datatypen zoals getallen, strings en booleans, en krijgt inzicht in hoe Julia omgaat met variabelen en typen. Aansluitend behandelen we arrays in verschillende vormen: vectoren, matrices en multidimensionale arrays. Dit vormt de basis voor vrijwel alle data-analyse in Julia. De dag wordt afgerond met een eerste kennismaking met data-inleesprocessen en eenvoudige data-manipulatie. Je leert hoe datasets worden ingelezen, bekeken en voorbereid voor analyse. Aan het einde van dag 1 heb je een helder begrip van Julia’s basisstructuur en kun je zelfstandig eenvoudige analyses uitvoeren.

    Dag 2 – Structuur, Functies en Statistische Analyse

    Op de tweede dag verschuift de focus van basiskennis naar structuur en herbruikbaarheid van code. Je leert hoe Julia is ontworpen om schaalbare, leesbare en onderhoudbare analytische code te schrijven. Dit vormt een belangrijke stap van algemeen programmeren naar professioneel gebruik van Julia. We starten met functies en methoden. Je leert hoe functies worden gedefinieerd en hoe Julia’s multiple dispatch werkt. Dit concept staat centraal in Julia en helpt je om code logisch te organiseren op basis van datatypen. We vergelijken deze aanpak met traditioneel objectgeoriënteerd programmeren, zodat duidelijk wordt waarom Julia hierin afwijkt en wat de voordelen zijn. Vervolgens ga je aan de slag met het bouwen van eigen datastructuren. Je leert werken met abstracte typen, samengestelde typen en parametrische typen. Hierdoor krijg je grip op complexere data en leer je analytische modellen beter structureren. In de tweede helft van de dag ligt de nadruk op data-analyse en statistiek. Je leert werken met DataFrames, statistische verdelingen en beschrijvende statistieken zoals gemiddelde en variantie. Ook komen hypothesetoetsing en eenvoudige regressiemodellen aan bod. Aansluitend leer je hoe je resultaten visualiseert met moderne plotbibliotheken. Aan het einde van dag 2 ben je in staat om gestructureerde Julia-code te schrijven, statistische analyses uit te voeren en de resultaten helder te presenteren.

    Dag 3 – Geavanceerde Technieken en Praktische Toepassing

    De derde dag richt zich op de meer gespecialiseerde en krachtige mogelijkheden van Julia. We bewegen van analyse naar optimalisatie, schaalbaarheid en geavanceerde toepassingen. Hierbij ligt de nadruk op situaties waarin Julia zich duidelijk onderscheidt van andere programmeertalen. Je maakt kennis met metaprogrammering en leert hoe Julia code als data kan behandelen. Dit geeft inzicht in hoe macros, expressies en symbolen werken, en hoe je hiermee flexibele en dynamische oplossingen kunt bouwen. Deze onderwerpen zijn vooral relevant voor onderzoekers en gevorderde gebruikers die maximale controle over hun code willen. Daarna verdiepen we ons in parallel en gedistribueerd computergebruik. Je leert hoe Julia rekenintensieve taken kan versnellen door middel van parallelle lussen, taken en gedistribueerde arrays. Dit is bijzonder relevant voor grote datasets en simulaties. De dag wordt afgesloten met geïntegreerde praktijkvoorbeelden waarin meerdere onderdelen samenkomen. Je past Julia toe op realistische analyse- of onderzoeksproblemen, waarbij data-inleesprocessen, statistiek, visualisatie en performance-optimalisatie samen worden gebruikt. Na afloop van dag 3 heb je niet alleen inzicht in de mogelijkheden van Julia, maar ook het vertrouwen om Julia zelfstandig toe te passen binnen data-analyse, onderzoek en computationele projecten.

    Cursusduur: 3 dagen
    Schrijf me in

    Leerdoelen

    • Effectief werken met Julia’s type-systeem en multiple dispatch
      De deelnemer kan Julia-code structureren met behulp van abstracte, samengestelde en parametrische typen, en begrijpt hoe multiple dispatch wordt ingezet om schaalbare, leesbare en herbruikbare analytische software te ontwikkelen.
    • Uitvoeren van data-analyse en statistische berekeningen in Julia
      De deelnemer kan datasets inlezen, manipuleren en analyseren met Julia, gebruikmakend van DataFrames, statistische verdelingen en hypothesetoetsing om onderbouwde conclusies te trekken uit data.
    • Ontwikkelen van efficiĂ«nte en numeriek nauwkeurige Julia-programma’s
      De deelnemer begrijpt hoe Julia hoge prestaties bereikt en kan rekenintensieve analyses en modellen schrijven die zowel snel als betrouwbaar zijn, zonder concessies te doen aan leesbaarheid.
    • Toepassen van metaprogrammering en geavanceerde taalconcepten
      De deelnemer kan gebruikmaken van symbolen, expressies en macros om flexibele en uitbreidbare Julia-oplossingen te bouwen, en begrijpt wanneer metaprogrammering meerwaarde biedt binnen data-analyse en onderzoek.
    • Gebruikmaken van parallel en gedistribueerd rekenen in Julia
      De deelnemer kan Julia inzetten voor parallelle en gedistribueerde berekeningen met taken, parallelle lussen en gedistribueerde arrays, en weet hoe deze technieken worden toegepast om schaalbare data-analyse en simulaties uit te voeren.

     

    Profiel foto van Suzy Palmer-Smith. Onze Opleidingscoördinator Internationaal

    Meer informatie?

    Heb je vragen over de inhoud van de cursus? Of twijfel je of de cursus aansluit bij jouw leerdoelen of wensen? Liever incompany of een privé cursus? We helpen je graag verder.

    Veelgestelde vragen over Julia programmeren

    Dit is veruit de meest gestelde vraag. Julia bereikt hoge prestaties doordat code Just-In-Time wordt gecompileerd naar efficiënte machinecode, en doordat het type-systeem en multiple dispatch optimaal worden benut. Wanneer functies type-stabiel zijn, kan Julia extreem snelle code genereren. Het programmeren blijft tegelijkertijd leesbaar en expressief, wat Julia uniek maakt ten opzichte van andere talen.

    Veel gebruikers merken dat Julia-code de eerste keer langzamer lijkt. Dit komt door compilatie tijdens de eerste uitvoering. Zodra de code eenmaal is gecompileerd, wordt deze hergebruikt en draait hij aanzienlijk sneller. Begrip van dit mechanisme helpt om Julia correct te benchmarken en performanceproblemen realistisch te beoordelen.

    Multiple dispatch is één van Julia’s krachtigste, maar ook minst intuïtieve concepten voor nieuwe gebruikers. Veel mensen vragen zich af wanneer het nodig is. In de praktijk blijkt multiple dispatch vooral waardevol bij analytische code die met meerdere datatypen en modellen werkt. Het helpt om logica te scheiden van data en maakt code uitbreidbaar zonder bestaande functies te wijzigen.

    Deze vraag komt vrijwel altijd terug. Julia is ontworpen om goed samen te werken met andere talen. In de praktijk gebruiken veel teams Julia voor rekenintensieve kernlogica, terwijl Python of R wordt ingezet voor bestaande workflows of visualisatie. Julia’s sterke interoperabiliteit maakt een geleidelijke adoptie mogelijk zonder bestaande codebases te herschrijven.