Introduktion till Mathematica, 5 hp
Introduction to Mathematica
Kursinformation
Undervisningsspråk: Engelska
Tid då kursen ges: Period 1, höstterminen 2025
Undervisningsformat, på campus eller digitalt: Campusundervisning. Möjligheten att delta via Zoom kommer att erbjudas till doktorander på Gotland.
Rekommenderade förkunskaper
Studenter bör vara bekanta med analys och linjär algebra, samt grundläggande programmering. Inga förkunskaper i Mathematica förutsätts.
Kursens mål
Efter godkänd kurs ska studenten kunna:
1. redogöra för den grundläggande strukturen hos datoralgebrasystem,
2. implementera olika algoritmer i Mathematica,
3. jämföra och kontrastera olika programmeringsstilar,
4. använda funktionell och regelbaserad programmering på ett effektivt sätt,
5. förstå hur Mathematica utvärderar uttryck,
6. testa och optimera Mathematicakod,
7. designa och bygga upp ett Mathematica paket,
8. tillämpa Mathematica för att lösa problem inom matematik, fysik, kemi och biologi.
Hur kursen relaterar till mål för examen på forskarnivå
Enligt målbeskrivningen för doktorsexamen i Högskoleförordningen (1993:100, bilaga 2) ska en doktorand ”visa brett kunnande inom och en systematisk förståelse av forskningsområdet”. Datoralgebrasystem och symboliska beräkningar är ett område som ligger mellan matematik och datavetenskap. Kursen gör det därför möjligt för studenter inom vissa områden (matematik, informationsteknologi och fysik) att få djupare kunskap om en viktig (och växande) del av sina fält.
En doktorand ska också “visa förtrogenhet med vetenskaplig metodik i allmänhet och med det specifika forskningsområdets metoder i synnerhet”, samt ”visa förmåga [...] att planera och med adekvata metoder bedriva forskning”. Datoralgebrasystem i allmänhet och symbolisk beräkning med Mathematica i synnerhet är kraftiga metoder för att bedriva forskning inom många områden i TekNat. Dessa inkluderar, förutom matematik, fysik och informationsteknologi, även kemi, biologi och materialvetenskap. I detta avseende är gästföreläsningarna om modellering inom biologi särskilt relevanta. Dessutom är slutprojektet utformat för att direkt hjälpa studenterna att tillämpa Mathematica på sin forskning.
Slutligen identifierar dokumentet ”Mål och strategier för Uppsala universitet ” (UFV 2018:641) målet att “samtliga doktorander ska ingå i eller ha tillgång till en stimulerande forskarutbildningsmiljö”. Jag anser att kursens aktiviteter, inklusive i första hand grupparbetet där studenter från olika institutioner och med olika expertis arbetar tillsammans, kommer att underlätta fruktbara utbyten och bidra till att skapa en stimulerande och trevlig inlärningsmiljö.
Kursinnehåll
1. Introduktion till datoralgebrasystem och symbolisk programmering
2. Grunderna i programmering med Mathematica (symboliska uttryck, vektorer och matriser)
3. Linjär algebra och analys med Mathematica
4. Procedurell programmering med Mathematica (loopar, villkorade uttryck)
5. Funktionell programmering med Mathematica
6. Substitutioner, regler och mönstermatchning. Regelbaserad programmering
7. Utvärdering
8. Introduktion till optimering och parallellprogrammering
9. Skriva ditt eget Mathematica-paket
10. Tillämpningar relevanta för forskning inom matematik, fysik, kemi och biologi (totalt 5 föreläsningar)
De tillämpningar som diskuteras under kursen beror på deltagarnas intressen. Till exempel innehåller 2023 års upplaga av kursen de följande:
- Gröbner-bas. Av intresse för alla.
- Optimeringsmetoder och linjär programmering. Av intresse för kemister/fysiker/ingenjörer.
- Två föreläsningar om evolutionära modeller med Mathematica, inklusive analytiska verktyg för att lösa differentialekvationer (gästföreläsning av professor Sylvain Glemin, institutionen för ekologi och genetik).
Dessa ämnen är tillräckligt breda för att deltagare från olika institutioner ska kunna dra nytta av föreläsningarna. Ytterligare ämnen kan inkluderas beroende på studenternas intressen, t.ex. maskininlärning och alternativ till Mathematica med öppen källkod. Dessutom kommer ytterligare tillämpningar att tas upp under de tre inlämningsuppgifterna.
Litteraturlista:
- P. Wellin, ”Programmering med Mathematica: An Introduction”, Cambridge University Press, 2013
- Andrey Grozin, ”Introduction to Mathematica for Physicists”, Springer, 2014;
Användbar referens:
- Wagner, ”Power Programming with Mathematica: the Kernel”, McGrawHill, 1996
Studiematerialet består av föreläsningsanteckningar som delas ut under kursens gång (de ovanstående böcker är främst som referenser).
Kursen finns också som en masterkurs med kod 1FA164; denna ansökan ber om medel för att stödja deltagande av doktorander och för att hålla föreläsningar med fokus på tillämpningar av Mathematica utanför fysik (inklusive gästföreläsningar).
Undervisning
- 13 föreläsningar (totalt 26 timmar)
- 3 problemlösningtillfällen där deltagarna arbetar i grupper
- 2 extra lektioner som hölls i början av kursen för att stödja studenter som behöver lite extra hjälp med materialet (t.ex. studenter som aldrig använt Mathematica förut)
- 2-3 öppna programmeringstillfällen där studenterna får hjälp med uppgifter (dessa inkluderades i den senaste versionen av kursen efter återkoppling från kursutvärdering).
Föreläsningarna genomförs med hjälp av presentationer där nytt material som diskuteras av läraren kombineras med korta övningar utformade för praktisk inlärning.
Grupparbetet består av studenter som arbetar tillsammans för att lösa några uppgifter. På så sätt ger min kurs en möjlighet att också utveckla förmågan till grupparbete. Grupperna är sammansatta så att de består av studenter från olika institutioner.
50% av studentens slutbetyg kommer från ett individuellt slutprojekt. Detta ger studenterna möjlighet att tillämpa kursinnehållet på sin egen forskning och att få individuell återkoppling. Individuell återkoppling och hjälp erhålls också under de öppna programmeringstillfällena.
Kursens struktur är avsedd att vara flexibel och anpassningsbar för studenter som kommer från olika institutioner och har olika förkunskaper i Mathematica. Extra lektioner är inriktade på att hjälpa studenter som aldrig har använt Mathematica tidigare. Vissa avancerade ämnen är avsedda för mer avancerade användare. Valet av ämnen för föreläsningarna som fokuserar på tillämpningar kommer att göras enligt studenternas intressen. Slutligen, i inlämningsuppgifterna, kan studenterna välja de problem de vill arbeta med baserat på deras intressen och benägenheter.
Examination
Inlämningsuppgifter med grupparbete (50%), individuellt slutprojekt inklusive muntlig presentation (50%).
Examinator
Marco Chiodaroli, marco.chiodaroli@physics.uu.se
Huvudansvarig institution
Institutionen för fysik och astronomi
Kontaktperson/er
Marco Chiodaroli, marco.chiodaroli@physics.uu.se
Ansökan
Skicka anmälan till kursen till: marco.chiodaroli@physics.uu.se
Skicka anmälan senast: Augusti 2025