Avancerad vetenskaplig programmering i Python, 3 hp
Advanced Scientific Programming with Python
Kursinformation
Undervisningsspråk: Engelska
Tid då kursen ges: Våren 2025
Undervisningsformat, på campus eller digitalt: Campus
Rekommenderade förkunskaper
Studenter bör vara bekanta med programmering. Grundläggande kunskaper i Python rekommenderas och vi kan tillhandahålla resurser för att komma igång.
Kursens mål
Målet med denna kurs är att lära ut bästa praxis inom vetenskaplig programmering, så att studenterna blir effektivare programmerare och så småningom spenderar mindre tid på att koda och mer tid på forskning. De kommer att introduceras till en rad verktyg som kommer att göra dem mer produktiva. Dessutom kommer studenterna, med hjälp av koncepten som lärs ut i denna kurs, att kunna producera väl dokumenterad och testad kod, vilket gör deras arbete tydligare, mer reproducerbart och användbart för andra. Detta kommer att förbättra studenternas förmåga att oberoende angripa ett brett spektrum av vetenskapliga problem med olika beräkningsmetoder.
Efter avslutad kurs ska studenterna kunna:
- Känna till och tillämpa bästa praxis inom vetenskaplig programmering
- Vara medvetna om utbudet av tillgängliga programmeringsverktyg
- Välja och använda rätt verktyg vid behov
- Skapa väl dokumenterad och testad kod
- Producera tydlig kod, som är mer reproducerbar och användbar för andra
Hur kursen relaterar till mål för examen på forskarnivå
Kursen ger studenten kunskap och förståelse, inklusive specialistkunskap, inom området vetenskaplig dataanalys. Den bidrar även till att skapa förtrogenhet med en mängd olika analysmetoder. Det slutgiltiga projektet tränar även studenternas förmåga att identifiera och formulera problem med vetenskaplig precision, kritiskt, autonomt och kreativt, samt att planera och använda lämpliga metoder för att genomföra forskning och andra kvalificerade uppgifter inom fastställda tidsramar och att granska och utvärdera sådant arbete.
Kursinnehåll
Denna kurs täcker bästa praxis inom vetenskaplig programmering med Python. Beslutet att använda Python grundar sig på det faktum att det är allmänt använt i forskning inom många discipliner. Innehållet i denna kurs är:
• Introduktion till UNIX-skal
• Användning av git-arkiv för att organisera och dela kod
• Interaktiv Python-programmering (Jupyter-anteckningsböcker)
• Testdriven programvaruutveckling och dokumentation
• Avancerad Numpy/Scipy
• Datakontenare (HDF5, h5py, pandas)
• Prestanda (MPI och CUDA)
Undervisning
Kursen startar med en intensiv vecka av föreläsningar på förmiddagen och övningar på eftermiddagen, inklusive många praktiska exempel. Därefter följer ett veckolångt projekt kopplat till studentens forskning.
Examination
Examinationen baseras på närvaro (> 90%) och slutförande av det individuella kodningsprojektet.
Examinator
Filipe Maia, Filipe.Maia@icm.uu.se
Huvudansvarig institution
Institutionen för cell- och molekylärbiologi
Kontaktperson/er
Filipe Maia, Filipe.Maia@icm.uu.se
Ansökan
Skicka anmälan till kursen till: https://bit.ly/3yUY3wP
Skicka anmälan senast: 2025-01-31