Unix & Python Programming for bioinformatikere
Overordnede kursusmål
Den studerende skal være i stand til at skrive Python programmer i et Unix miljø for at løse bioinformatiske opgaver på struktureret vis, f.eks. i forbindelse med projektarbejde. Det er vigtigt mål at lære den studerende, hvordan man tænker omkring programmering.
See course description in English
Læringsmål
- anvende Unix kommandoline med 10-15 almindelige Unix kommandoer, inklusiv filsystem navigation, pipelines, proces- og filsystem-kontrol.
- demonstrere og forklare anvendelsen af Python syntaks, objektmodel, datastrukturer, klasser og 65-70 Python funktioner/metoder.
- udøve mønstergenkendelse i (bioinformatiske) data filer med henblik på at udtrække information.
- anvende metoder/programmmeringsteknikker demonstreret i kurset på lignende problemer.
- analysere et (programmerings)problem og fastslå dets komponenter, samt konstruere en effektiv løsning ved at anvende de rigtige komponenter i den rigtige rækkefølge.
- analysere et program og, baseret på dets opførsel, finde og udrydde fejl.
- evaluere kvaliteten af kode baseret på kriterier vist i kurset, og demonstrere at koden opfylder en kvalitetsstandard ved at anvende unit-test teknikken.
- skrive klar, præcis og veldokumenteret kode, som er anvendelig i større samarbejdsmæssige sammenhæng.
- evaluere effektiviteten af kode med hensyn til hastighed og hukommelsesforbrug ved anvendelse af Big O notationen.
- anvende kode-biblioteker, både videnskabelige og andet, til hurtig og god løsning af programmeringsopgaver.
Kursusindhold
Dette kursus giver en introduktion til Unix, som anvendes bredt i bioinformatik. Man lærer basale kommandoer, fil-manipulation, input/output redirection, filsystemstruktur og procesmanipulation. Der bygges ovenpå den eksisterende viden om Python, og man lærer om regulære udtryk, avancerede datastrukturer, funktioner, Pythons objektmodel, klasser, unittest, og videnskabelige biblioteker. Dette sker under en paraply af øvelser baseret på bioinformatiske og dataanalytiske problemstillinger.
Øvelserne skal peer-evalueres og er integrerede med forelæsningerne. De studerende skal i tomandsgrupper løse et mindre programmeringsprojekt under kurset, eventuelt et projekt de selv designer. Individuelle bidrag til projektet skal angives for at muliggøre individuel bedømmelse. En studerende skal også peer-evaluere en anden gruppes projekt.
Undervisningsform
Forelæsninger og computerøvelser
Fakultet
Bemærkninger
Omgængere kan genbruge tidligere godkendte øvelser og projekt.