In deze cursus maken de studenten kennis met de basisbeginselen van Linux-besturingssystemen, het op afstand benaderen van servers, de basisbeginselen van Bash-programmeren en programmeren in het algemeen. De cursus is praktijkgericht en legt de nadruk op het ontwikkelen van basisvaardigheden op het gebied van programmeerlogica, gegevensanalyse via de opdrachtregel, efficiëntie en een gepaste werkethiek op gedeelde servers (beheer van serverbronnen).
Door middel van een projectopdracht leren de studenten hoe ze de werklast kunnen verdelen en de resultaten kunnen optimaliseren in een bio-informatica-/programmeerproject.
In deze cursus leren de studenten hoe Linux/UNIX-besturingssystemen werken, krijgen ze inzicht in de voor- en nadelen van deze systemen en verwerven ze basisvaardigheden op het gebied van programmeren en het ontwikkelen van elementaire programmeerlogica.
Aan het einde van de cursus zijn de studenten in staat om Linux/UNIX-systemen te bedienen met behulp van opdrachtregelprogramma's, software uit te voeren via de opdrachtregel en bio-informatica-problemen op te lossen vanaf de opdrachtregel. De studenten weten ook hoe ze verbinding kunnen maken met externe servers in een netwerk, bestanden kunnen verplaatsen tussen computers en servers, en opdrachten kunnen uitvoeren op een externe server waarop een Linux/UNIX-besturingssysteem draait. Studenten zullen in staat zijn om gegevens rechtstreeks via het Linux-systeem te beheren en te analyseren, de benodigde resources voor rekenkundige taken in te schatten en het resourcegebruik van die taken te monitoren.
De studenten leren hoe ze efficiënt kunnen werken en hoe ze op verantwoorde wijze gebruik kunnen maken van de resources van grote servers. De nadruk ligt op een gepaste werkethiek: studenten leren hoe ze het resourcegebruik van hun server kunnen monitoren en hoe ze servers met meerdere gebruikers kunnen gebruiken, zonder andere gebruikers te storen in hun werk of onderzoek.
Onderwerpen:
I. Basisbegrippen van de programmeertaal Bash, basiscommando’s
II. Bash-scripts schrijven
III. Soorten Bash-variabelen en hun gebruik; ingebouwde variabelen
IV. Voorwaarden in Bash, logische operatoren
V. Programmeerlogica I.
VI. Oefening I.
VII. Lussen in Bash en lusbesturing
VIII. Opdrachtregelargumenten en hun gebruik in scripts
IX. Programmeerlogica II.
X. Oefening II.
XI. Monitoring van het gebruik van systeembronnen, bronbeheer
XII. Verantwoordelijk werken van bio-informatici op servers
+Projectwerk dat in groepsverband als zelfstudie moet worden uitgevoerd.
Beoordelings
De studenten leggen tijdens de tentamenperiode een colloquium af. Het colloquium bestaat uit twee delen: een theoretische toets en een praktische opdracht. De theoretische toets kan zowel meerkeuzevragen als open vragen bevatten. De praktische opdracht bestaat uit programmeeropgaven, die de studenten zelfstandig moeten oplossen.
Aan het einde van de cursus kan de cursist eenvoudige analysepijplijnen voor bio-informatica ontwerpen en implementeren in een Linux-omgeving, en het gebruik van de serverbronnen zelf in de gaten houden.
Voor de cursus moeten de studenten beschikken over een computer waarop bepaalde programma’s zijn geïnstalleerd, zodat ze kunnen inloggen op de server die tijdens de cursus wordt gebruikt. De docent zal hulp bieden bij het installeren van deze programma’s.
Er worden geen programmeervaardigheden verwacht.
Cursusliteratuur (verplicht of aanbevolen): Cursusmateriaal (presentatiedia’s, collegeaantekeningen)
Aanbevolen: Machtelt Garrels: Bash-gids voor beginners (online beschikbaar op: https://tldp.org/LDP/Bash-Beginners-Guide/html/)
Hoorcollege: 45 minuten
Praktikum: 45 minuten
Projectopdracht: de studenten moeten in de tweede helft van de cursus in groepen een projectopdracht uitvoeren. Dit omvat de analyse van verschillende soorten genetische gegevens (voorbeeldproject: schrijf een Bash-code die alle open leeskaders in een opgegeven DNA-sequentie identificeert).
Spreekuur: op verzoek van de studenten worden extra spreekuren aangeboden.
Cijferlijst