BASIS PROGRAMMEREN
14/02/2024 – HOORCOLLEGE 1
H1: INLEIDING
1.1 Doelstellingen
Waarom beleidsinforma/ca?
à Nood aan technologieën (mobiliteit, informa/e, communica/e, energie)
à In meeste toekoms@ge technologieën zit een ICT-component ingebouwd
à Huidige chips = kleiner + grotere rekenkracht
Gartner Hypecycle for Emerging Technologies = curve die verwach@ngen in de industrie
m.b.t. een technologie aangeeM (eerst hype, hoge verwach@ngen)
Digitale technologie: informa@e opgeslagen als sequen@e van bits (0 en 1)
Analoge technologie: informa@e opgeslagen op analoge manier bv. horloge is analogie voor het
verdergaan van de 1jd
Data = alles wat je kan opslaan als sequen@es van bits
ó Informa@e = data die nuXg is voor gebruiker bv. handboek
ó Kennis / wijsheid = bij gebruiker intern in het hoofd bv. handboek gestudeerd
à Informa@esystemen om data te verwerken, transformeren, rapporteren…
à SoMware + programmeren
Impact van IT op macro-economisch niveau (over bedrijven heen):
1) Digitalisa@e (switch naar services industry / dienstenindustrie, geen fysieke nood)
bv. van videotheken naar ne5lix
2) Innova@e (nieuwe manieren van produceren vervangen oude / oude manieren worden vernie/gd
= crea/ve destruc/on)
bv. Nokia produceert geen telefoons meer maar so<ware
3) Globalisa@e (diensten ona>ankelijk van loca/e + outsourcing + offshoring)
è Impact kan posi@ef of nega@ef zijn
Impact van IT op micro-economisch niveau (binnen bedrijf):
1) Produc@viteit
2) Compe@@ef voordeel à kosten verlagen, inkomsten verhogen
3) Posi@eve impact op bedrijfsvoering
è Nood aan goed beleid over gebruik van IT
,H2: ALGORITMEN EN PROGRAMMEREN
2.1 Algoritmen
Algoritme
= eindige reeks instruc;es die vanuit een gegeven begintoestand naar een beoogd doel leidt
à Lost bepaald probleem op + bepaalt stappen die nodig zijn om vanaf een bepaalde
beginsitua@e een vooropgestelde uitkomst te bereiken (Al-Chwarizmi)
à Instruc@es = welbepaalde elementaire handelingen, specifiëring a_ankelijk van
uitvoerder van het algoritme !! EINDIGE reeks instruc@es in aantal + @jd
à Instan;a;e van een probleem = specifieke begintoestand en doel
>> correct algoritme bereikt voor iedere instan@a@e het beoogde doel
Andere defini1es fout / onvolledig
bv. verzameling ≠ reeks, begintoestand niet besproken, beperkt tot computerprogramma’s…
2.2 Computeralgoritmen
Computeralgoritme
= duidelijk gedefinieerde computa;onele procedure die een waarde of verzameling van
waarden als invoer neemt en een waarde of verzameling van waarden als uitvoer produceert
à Instruc@es = computa@onele procedure, eindige reeks computer-uitvoerbare instruc@es
à Begintoestand / probleem = waarde of verzameling van waarden als invoer (in bits)
à Doel = waarde of verzameling van waarden als uitvoer (in bits)
Voorbeelden: Bubble sort, debiteren zichtrekening
Algoritme noteren: tekstueel, visueel, pseudocode, combina@e…
Computa;onele procedure
= geordende reeks ondubbelzinnige, computer-uitvoerbare stappen die een eindig proces
beschrijven
!! Begin- en eindtoestand + instruc1es kunnen vervat ziLen in begrip “proces”
1) Geordend: volgorde belangrijk, anders andere uitkomst MAAR niet al@jd belangrijk, soms
uitkomst door samenvoegen van deelresultaten
à Parallel compu@ng >> parallele / mul@-threaded algoritmen omvaden meerdere
reeksen stappen die expliciet bepaald zijn en afzonderlijk kunnen uitgevoerd worden
2) Ondubbbelzinnig: computer kan niet interpreteren DUS exacte instruc@es nodig
!! bij Chat GPT misschien wel mogelijkheid tot interpreta/e?
3) Computer-uitvoerbaar: uitvoerbaarheid van de stap door een computer
, à Stap kan bestaan uit reeks instruc@es >> instruc@es computer-uitvoerbaar? Stap ook
à Gebruikmakend van instruc@es op verschillende niveaus
1. Laagste niveau = ondubbelzinnige basisinstruc@es
2. Bestaande algoritmes als hogere orde instruc@es herbruikt
4) Eindig: doel = resultaat bekomen
!! ook zinnige toepassingen met con/nue algoritmen zoals levenssignalen van
ziekenhuispa/ënt, thermostaat
Proces
= ac@viteit waarbij een algoritme wordt uitgevoerd, dat op zijn beurt geïmplementeerd is als
een programma / ac@viteit waarbij een programma wordt uitgevoerd dat een bepaald
algoritme implementeert
Programma
= uitvoerbare representa@e of implementa@e van een algoritme
2.3 Eerste programma’s in Python
Programmeeromgeving: Codeboard (online)
2.4 Programmeren
Algoritme ≠ tastbaar à nood aan manier van noteren, materialisa@e
ó Abstrac@e maken = van nota@e naar algoritme
Representa;e van algoritme
- Exact gedefinieerde primi@even = ondubbelzinnige bouwstenen
à Bestaat uit:
(1) Symbolische representa@e (leders, woorden)
(2) Seman@ek (betekenis)
à Syntax = verzameling regels voor de manier waarop primi@even kunnen
gecombineerd worden tot correcte uitdrukkingen / instruc@es
è Primi@even + syntax = programmeertaal ! indien de primi1even computer-uitvoerbare
instruc1es betreffen
Programmeren
= implementeren van een algoritme in termen van een reeks computeruitvoerbare
instruc@es met behulp van een programmeertaal
(+ ontwikkelen / bedenken van het algoritme)
à Resultaat = computerprogramma
à Implementeren = uitschrijven in een programmeeromgeving die toelaat het
resulterende programma uit te voeren op een computer
14/02/2024 – HOORCOLLEGE 1
H1: INLEIDING
1.1 Doelstellingen
Waarom beleidsinforma/ca?
à Nood aan technologieën (mobiliteit, informa/e, communica/e, energie)
à In meeste toekoms@ge technologieën zit een ICT-component ingebouwd
à Huidige chips = kleiner + grotere rekenkracht
Gartner Hypecycle for Emerging Technologies = curve die verwach@ngen in de industrie
m.b.t. een technologie aangeeM (eerst hype, hoge verwach@ngen)
Digitale technologie: informa@e opgeslagen als sequen@e van bits (0 en 1)
Analoge technologie: informa@e opgeslagen op analoge manier bv. horloge is analogie voor het
verdergaan van de 1jd
Data = alles wat je kan opslaan als sequen@es van bits
ó Informa@e = data die nuXg is voor gebruiker bv. handboek
ó Kennis / wijsheid = bij gebruiker intern in het hoofd bv. handboek gestudeerd
à Informa@esystemen om data te verwerken, transformeren, rapporteren…
à SoMware + programmeren
Impact van IT op macro-economisch niveau (over bedrijven heen):
1) Digitalisa@e (switch naar services industry / dienstenindustrie, geen fysieke nood)
bv. van videotheken naar ne5lix
2) Innova@e (nieuwe manieren van produceren vervangen oude / oude manieren worden vernie/gd
= crea/ve destruc/on)
bv. Nokia produceert geen telefoons meer maar so<ware
3) Globalisa@e (diensten ona>ankelijk van loca/e + outsourcing + offshoring)
è Impact kan posi@ef of nega@ef zijn
Impact van IT op micro-economisch niveau (binnen bedrijf):
1) Produc@viteit
2) Compe@@ef voordeel à kosten verlagen, inkomsten verhogen
3) Posi@eve impact op bedrijfsvoering
è Nood aan goed beleid over gebruik van IT
,H2: ALGORITMEN EN PROGRAMMEREN
2.1 Algoritmen
Algoritme
= eindige reeks instruc;es die vanuit een gegeven begintoestand naar een beoogd doel leidt
à Lost bepaald probleem op + bepaalt stappen die nodig zijn om vanaf een bepaalde
beginsitua@e een vooropgestelde uitkomst te bereiken (Al-Chwarizmi)
à Instruc@es = welbepaalde elementaire handelingen, specifiëring a_ankelijk van
uitvoerder van het algoritme !! EINDIGE reeks instruc@es in aantal + @jd
à Instan;a;e van een probleem = specifieke begintoestand en doel
>> correct algoritme bereikt voor iedere instan@a@e het beoogde doel
Andere defini1es fout / onvolledig
bv. verzameling ≠ reeks, begintoestand niet besproken, beperkt tot computerprogramma’s…
2.2 Computeralgoritmen
Computeralgoritme
= duidelijk gedefinieerde computa;onele procedure die een waarde of verzameling van
waarden als invoer neemt en een waarde of verzameling van waarden als uitvoer produceert
à Instruc@es = computa@onele procedure, eindige reeks computer-uitvoerbare instruc@es
à Begintoestand / probleem = waarde of verzameling van waarden als invoer (in bits)
à Doel = waarde of verzameling van waarden als uitvoer (in bits)
Voorbeelden: Bubble sort, debiteren zichtrekening
Algoritme noteren: tekstueel, visueel, pseudocode, combina@e…
Computa;onele procedure
= geordende reeks ondubbelzinnige, computer-uitvoerbare stappen die een eindig proces
beschrijven
!! Begin- en eindtoestand + instruc1es kunnen vervat ziLen in begrip “proces”
1) Geordend: volgorde belangrijk, anders andere uitkomst MAAR niet al@jd belangrijk, soms
uitkomst door samenvoegen van deelresultaten
à Parallel compu@ng >> parallele / mul@-threaded algoritmen omvaden meerdere
reeksen stappen die expliciet bepaald zijn en afzonderlijk kunnen uitgevoerd worden
2) Ondubbbelzinnig: computer kan niet interpreteren DUS exacte instruc@es nodig
!! bij Chat GPT misschien wel mogelijkheid tot interpreta/e?
3) Computer-uitvoerbaar: uitvoerbaarheid van de stap door een computer
, à Stap kan bestaan uit reeks instruc@es >> instruc@es computer-uitvoerbaar? Stap ook
à Gebruikmakend van instruc@es op verschillende niveaus
1. Laagste niveau = ondubbelzinnige basisinstruc@es
2. Bestaande algoritmes als hogere orde instruc@es herbruikt
4) Eindig: doel = resultaat bekomen
!! ook zinnige toepassingen met con/nue algoritmen zoals levenssignalen van
ziekenhuispa/ënt, thermostaat
Proces
= ac@viteit waarbij een algoritme wordt uitgevoerd, dat op zijn beurt geïmplementeerd is als
een programma / ac@viteit waarbij een programma wordt uitgevoerd dat een bepaald
algoritme implementeert
Programma
= uitvoerbare representa@e of implementa@e van een algoritme
2.3 Eerste programma’s in Python
Programmeeromgeving: Codeboard (online)
2.4 Programmeren
Algoritme ≠ tastbaar à nood aan manier van noteren, materialisa@e
ó Abstrac@e maken = van nota@e naar algoritme
Representa;e van algoritme
- Exact gedefinieerde primi@even = ondubbelzinnige bouwstenen
à Bestaat uit:
(1) Symbolische representa@e (leders, woorden)
(2) Seman@ek (betekenis)
à Syntax = verzameling regels voor de manier waarop primi@even kunnen
gecombineerd worden tot correcte uitdrukkingen / instruc@es
è Primi@even + syntax = programmeertaal ! indien de primi1even computer-uitvoerbare
instruc1es betreffen
Programmeren
= implementeren van een algoritme in termen van een reeks computeruitvoerbare
instruc@es met behulp van een programmeertaal
(+ ontwikkelen / bedenken van het algoritme)
à Resultaat = computerprogramma
à Implementeren = uitschrijven in een programmeeromgeving die toelaat het
resulterende programma uit te voeren op een computer