De elektronische studiegids voor het academiejaar 2025 - 2026 is onder voorbehoud.





Besturingssystemen en C (4082)

  
Coördinerend verantwoordelijke :Prof. dr. Nick MICHIELS 
  
Co-titularis :Prof. dr. Davy VANACKEN 
  
Lid van het onderwijsteam :De heer Brent ZOOMERS 
 De heer Sebe VANBRABANT 


Onderwijstaal : Nederlands


Studiepunten: 6,0
  
Periode: semester 2 (6sp)
  
2de Examenkans1: Ja
  
Eindcijfer2: Numeriek
 
Volgtijdelijkheid
 
   Adviserende volgtijdelijkheid op niveau van de opleidingsonderdelen
 
 
  Volgende opleidingsonderdelen worden geadviseerd ook opgenomen te zijn in uw studieprogramma tot op heden.
    Software-ontwerp in Java (3826) 4.0 stptn
 

Begincompetenties

De student kan een programmeertaal (bijvoorbeeld Java of Python) en aanverwante tools aanwenden om oplossingen te implementeren. De student is bekend met concepten als datatypes, variabelen, arrays en strings, operatoren, controle- en lusstructuren, en functies. Begrip van de concepten en programmatie van een microcontroller (Arduino).



Inhoud

In dit opleidingsonderdeel maakt de student kennis met de fundamentele concepten van de werking van een besturingssysteem. Een besturingssysteem verschaft een omgeving waarin andere programma's op een beschermde en efficiënte manier uitgevoerd kunnen worden en beheert systeemfaciliteiten zoals CPU-rekentijd, geheugen en randapparatuur. Het fungeert zo als medium tussen de hardware, de toepassingssoftware en de gebruiker. Daarnaast worden in dit opleidingsonderdeel een reeks concepten en (programmeer)vaardigheden behandeld in de context van imperatief programmeren in C, een programmeertaal die relatief dicht bij het besturingssysteem en de hardware staat. Het opleidingsonderdeel bouwt verder op de eerder opgedane kennis en vaardigheden met betrekking tot het oplossen van problemen, computationeel denken en coderen van oplossingen. Dankzij het referentiekader dat uitgebreid wordt in dit opleidingsonderdeel kan de student snel nieuwe programmeertalen leren (in het bijzonder de programmeertaal C++).

Een aantal van de behandelde onderwerpen rond besturingssystemen (in een niet-bindende lijst):

  • belangrijke concepten, componenten en functies van besturingssystemen;
  • process, memory en storage management, CPU scheduling, threads;
  • introductie tot multi-threading en synchronisatie.

Een aantal van de behandelde onderwerpen rond C (in een niet-bindende lijst):

  • de programmeertaal C, de C Standard Library, header en source files;
  • primitieve en user-defined datatypes in C, inclusief arrays en structures;
  • pointers, stack en heap, parameterbinding, dynamische geheugenallocatie;
  • aanverwante technieken en tools voor compileren, debuggen en testen.

 

 



Organisatie- / Werkvormen
Organisatievormen  
Applicatiecollege  
Werkzittingen  
Werkvormen  
Groepswerk  
Huiswerktaken  
Oefeningen  


Evaluatie

Periode 2    Studiepunten 6,00

Evaluatievorm
Schriftelijke evaluatie tijdens onderwijsperiode40 %
Behoud van deelcijfer in academiejaar
Voorwaarde behoud van deelcijfer in academiejaarVanaf 12/20
Open-boek
Schriftelijk examen60 %
Behoud van deelcijfer in academiejaar
Voorwaarde behoud van deelcijfer in academiejaarVanaf 10/20
Open vragen
Evaluatievoorwaarden (deelname en/of slagen)
VoorwaardenDe student moet op elke deelevaluatie van het opleidingsonderdeel (dus op zowel de evaluatie tijdens de onderwijsperiode als het schriftelijk examen) minimaal 8,0/20 halen.
GevolgIndien de student minder dan 8,0/20 haalt op een of meerdere deelevaluaties, kan de student als totale examencijfer voor het opleidingsonderdeel maximaal 9/20 halen.

Tweede examenkans

Evaluatievorm tweede examenkans verschillend van eerste examenkans
Neen
 

Verplichte handboeken (boekhandel)
 

Handboek 1:

Operating System Concepts, A. Silberschatz, P.B. Galvin, G. Gagne, Tenth Edition, John Wiley & Sons, Inc., e-book beschikbaar, https://www.os-book.com/OS10/

ISBN: 9781118063330

 

Verplicht studiemateriaal
 

Slides en overig lesmateriaal worden ter beschikking gesteld via de elektronische leeromgeving en/of tijdens de les verspreid.

 

Verplichte software
 

Visual Studio Community (of een andere IDE naar keuze) voor het programmeren in C, met Git voor versiebeheer. Daarnaast zal de student werken met Linux via Windows Subsystem for Linux (WSL), of een eigen reeds geïnstalleerde Linux-versie. Recente versies, op de laptop van de student. Al deze software is vrij beschikbaar.

 

Opmerkingen
 

Situering in het leerdomein/curriculum & Algemene visie
Studenten bestuderen in de opleiding verschillende aspecten van informatica en elektronica. Dit impliceert een wijde spreidstand tussen hardware-design enerzijds en (cloud) programming anderzijds. Een sluitstuk hierin is het besturingssysteem. Daarnaast wordt de programmeertaal C nog vaak gebruikt, zowel voor het programmatie van het besturingssysteem als de applicaties. Met het immense aantal IoT devices dat  in omloop is, is C nog alom tegenwoordig. Daarenboven helpt C bij het aanleren van basisconcepten die een opstap vormen naar C++.

Relatie met onderzoek
Operating Systems zijn nog steeds een actueel onderzoekstopic, maar omdat dit eerder een basisvak is op het gebied van zowel besturingssystemen als C, komen er amper recente onderzoeksbevindingen aan bod. Daar staat wel tegenover dat er verschillende interactive en embedded systemen gebouwd worden in het onderzoek op de campus. Vrijwel iedere programmatie van embedded systemen gebeurt in C. Met het zwaarder worden van de processing kracht en het complexer worden van ontwerpen, wordt het steeds realistischer om een besturingssysteem te gebruiken op een embedded systeem.

Relatie met het werkveld
Embedded software developers zijn gegeerd goed op de arbeidsmarkt. De basis voor een dergelijk profiel wordt in dit opleidingsonderdeel gelegd.



Eindcompetenties
bachelor in de industriële wetenschappen
  •  EC 
  • EC1 - De Bachelor in de industriële wetenschappen bezit algemeen wetenschappelijke en technologisch toepassingsgerichte kennis van de basisbegrippen, structuur en samenhang van het specifieke domein. (kennis bezitten)

     
  •  DC 
  • EA-INF 1.1 De student kent ontwerpprincipes en architecturen om software op een gestructureerde manier te ontwerpen en ontwikkelen.

      
  •  BC 
  • De student kent de verschillende rollen en voorgestelde concepten en aanpakken met betrekking tot besturingssystemen.

    De student kent de voorgestelde concepten, richtlijnen en bijbehorende syntax in C om software te ontwikkelen.

  •  EC 
  • EC2 - De Bachelor in de industriële wetenschappen bezit algemeen wetenschappelijk en ingenieurstechnisch disciplinegebonden inzicht in de basisbegrippen, methodes, denkkaders en onderlinge relaties van het specifieke domein. (begrijpen)

     
  •  DC 
  • EA-INF 2.1 De student begrijpt waarom het nodig is om gepaste ontwerpprincipes en architecturen te gebruiken bij het ontwerp en de ontwikkeling van software.

      
  •  BC 
  • De student begrijpt de voorgestelde concepten en aanpakken binnen besturingssystemen, alsook hun werking en eigenschappen.

    De student begrijpt hoe de voorgestelde concepten, richtlijnen en bijbehorende syntax in C bijdragen tot kwaliteitsvollesoftware.

    De student begrijpt in het bijzonder de concepten en werking van de stack en heap, parameterbinding en dynamische geheugenallocatie in C.

  •  EC 
  • EC4 - De Bachelor in de industriële wetenschappen kan doelgericht relevante wetenschappelijke en/of technische informatie opzoeken en verzamelen of efficiënt en nauwgezet de benodigde informatie meten en correct refereren. (data verwerven)

     
  •  DC 
  • 4.1 De student kan doelgericht wetenschappelijke en/of technische informatie opzoeken.

      
  •  BC 
  • De student kan relevante delen uit softwarebibliotheken zoals de C Standard Library selecteren, exploreren en aanwenden.

    De student kan nieuwe, aanverwante concepten en aanpakken rond besturingssystemen en C opzoeken, exploreren enaanwenden.

  •  EC 
  • EC5 - De Bachelor in de industriële wetenschappen kan niet-vertrouwde, domeinspecifieke problemen analyseren, opsplitsen in deelproblemen, logisch structureren, de randvoorwaarden bepalen en de gegevens op een wetenschappelijke manier interpreteren. (analyseren)

     
  •  DC 
  • EA-INF 5.1 De student kan voor een specifieke probleemstelling of toepassing analyseren op welke manieren de software ontworpen en gebouwd kan worden en alternatieven afwegen op basis van relevante criteria.

      
  •  BC 
  • De student kan uit een algemene omschrijving van een probleem de vereisten voor de software en het besturingssysteem afleiden.

    De student kan analyseren op welke manieren de software zal interageren met of gebruik maken van hetbesturingssysteem.

    De student kan analyseren op welke manieren de software ontworpen en gebouwd kan worden en alternatieven afwegen.

  •  EC 
  • EC6 - De Bachelor in de industriële wetenschappen kan adequate oplossingsmethodes selecteren om niet-vertrouwde, domeinspecifieke problemen op te lossen en kan methodologisch te werk gaan in ontwerp en hierin gefundeerde keuzes maken. (oplossen en ontwerpen)

     
  •  DC 
  • 6.7 De student kan een modulair en onderhoudbaar ontwerp van software maken.

      
  •  BC 
  • De student kan software ontwerpen volgens het imperatief paradigma, hierbij richtlijnen aanwenden en gefundeerde keuzes maken.

    De student kan hierbij de nodige afwegingen maken tussen de verantwoordelijkheden van de software en hetbesturingssysteem.

  •  EC 
  • EC7 - De Bachelor in de industriële wetenschappen kan de geselecteerde methodes en hulpmiddelen innovatief aanwenden om domeinspecifieke oplossingen en ontwerpen planmatig te implementeren met aandacht voor de praktische en economische randvoorwaarden en bedrijfsgebonden implicaties. (implementeren en operationaliseren)

     
  •  DC 
  • 7.2 De student kan technische hulpmiddelen zoals rekentoestellen, meettoestellen en software gebruiken.

      
  •  BC 
  • De student kan gepaste tools en technieken aanwenden voor het schrijven, testen, analyseren en optimaliseren van code.

     
  •  DC 
  • 7.3 De student kan correcte en kwaliteitsvolle code schrijven aan de hand van een gepaste ontwikkel-, test- en onderhoudsstrategie. 

      
  •  BC 
  • De student kan de concepten, richtlijnen en bijbehorende syntax in C aanwenden om correcte, robuuste, efficiënte code te schrijven.

  •  EC 
  • EC8 - De Bachelor in de industriële wetenschappen kan (onvolledige) resultaten interpreteren, kan omgaan met onzekerheden en beperkingen en kan kennis en vaardigheden kritisch evalueren om op basis hiervan eigen denken en handelen bij te sturen. (kritisch reflecteren)

     
  •  DC 
  • 8.2 De student kan kritisch reflecteren met betrekking tot een technisch-wetenschappelijk project.

      
  •  BC 
  • De student kan sterktes en zwaktes in een ontwerp en C code identificeren.

    De student kan kritisch reflecteren over het geleverde werk en de aanpak.

  •  EC 
  • EC9 - De Bachelor in de industriële wetenschappen kan met vakgenoten mondeling en schriftelijk (grafisch) communiceren over domeingebonden aspecten in een relevante taal en met gebruik van de toepasselijke terminologie. (communiceren)

     
  •  DC 
  • 9.1 De student kan correct, gestructureerd en gepast schriftelijk communiceren in relevante talen voor zijn vakgebied.

      
  •  BC 
  • De student kan de code gestructureerd documenteren.

     
  •  DC 
  • 9.3 De student kan correct, gestructureerd en gepast grafisch communiceren.

      
  •  BC 
  • De student kan schetsen wat er tijdens de uitvoering van de software achterliggend gebeurt.

  •  EC 
  • EC12 - De Bachelor in de industriële wetenschappen kan toepassings- en oplossingsgericht, met het vereiste doorzettingsvermogen, professioneel en academisch handelen met oog voor realisme en efficiëntie en geeft blijk van een onderzoekende houding tot levenslang leren. (ingenieursattitude)

     
  •  DC 
  • 12.3 De student eigent zich een gepaste ingenieursattitude toe (nauwkeurig, efficiënt, veilig, resultaatgericht,...).

      
  •  BC 
  • De student kan iteratief en incrementeel, nauwgezet en planmatig werken.

 

  EC = eindcompetenties      DC = deelcompetenties      BC = beoordelingscriteria  
Aangeboden inTolerantie3
2de bachelor in de industriële wetenschappen - elektronica-ICT J
2de bachelor in de industriële wetenschappen - informatica J
schakel IW Elektronica-ICT - deel 1 J
schakel IW informatica - deel 1 J



1   Onderwijs-, examen- en rechtspositieregeling art. 12.2, lid 2.
2   Onderwijs-, examen- en rechtspositieregeling art. 15.1, lid 3.
3   Onderwijs-, examen- en rechtspositieregeling art. 16.9, lid 2.