Avanceret Unix & Python for Bioinformatikere
Overordnede kursusmål
Den studerende skal kunne løse større bioinformatiske problemstillinger på en struktureret måde ved anvendelse af Python i et Unix-miljø, med brug af avancerede programmeringsmetoder, hensigtsmæssige testmetoder samt samarbejdsbaserede versionsstyringsarbejdsgange med Git for at understøtte teamwork.
See course description in English
Læringsmål
- Navigere i Unix-filsystemet og udføre grundlæggende tekstfil-manipulationer.
- Anvende avancerede Unix-kommandoer og konstruere simple bash-scripts til automatisering.
- Bruge Git til versionering og samarbejde.
- Forklare og anvende forskellige metoder til argumentoverførsel, scope og namespace håndtering.
- Konstruere og anvende avancerede datastrukturer ved hjælp af relationer mellem navne, referencer og objekter.
- Forklare principperne bag grundlæggende og avanceret iteration, herunder comprehensions og generatorer.
- Implementere nye klasser ved hjælp af magiske metoder, indkapsling og arv.
- Udføre enhedstest ved hjælp af parameterisering, fixtures og eksterne filer.
- Evaluere et programs køretids-skalering baseret på inputstørrelse ved hjælp af Big-O notation.
- Evaluere eksisterende kodebaser med henblik på at forbedre eller udvide funktionalitet og vedligeholdelse.
- Anvende strategier for brug af GAI til at understøtte kodeudvikling, samtidig med at selvstændig problemløsning opretholdes og egen forståelse af underliggende programmeringskoncepter demonstreres.
Kursusindhold
Dette kursus giver en introduktion til Unix, som er meget brugt inden for bioinformatik. Du lærer grundlæggende kommandoer, filmanipulation, input/output-omdirigering, filsystemstruktur og procesmanipulation.Git versionering og samarbejde anvendes på Unix platformen. Kurset bygger på den eksisterende viden om Python, og du lærer om avancerede datastrukturer, funktioner, Pythons objektmodel, klasser, enhedstests og runtime-evaluering. Dette sker under en paraply af øvelser baseret på bioinformatik og dataanalyseproblemer.
Øvelserne skal peer-evalueres. Studerende i grupper af to vil få et mindre programmeringsprojekt i løbet af kurset, muligvis et projekt af deres eget design. Individuelle bidrag til projektet skal angives for at lette individuel vurdering. En studerende vil også peer-evaluere en anden gruppes projekt.
Undervisningsform
Forelæsninger med ugentlige obligatoriske øvelser.




