Kursplanen innehåller ändringar
Se ändringarKursplan fastställd 2023-02-07 av programansvarig (eller motsvarande).
Kursöversikt
- Engelskt namnComputer programming and numerical analysis
- KurskodSEE125
- Omfattning9 Högskolepoäng
- ÄgareTKTFY
- UtbildningsnivåGrundnivå
- HuvudområdeDatateknik, Matematik, Teknisk fysik
- InstitutionRYMD-, GEO- OCH MILJÖVETENSKAP
- BetygsskalaUG - Godkänd, Underkänd
Kurstillfälle 1
- Undervisningsspråk Svenska
- Anmälningskod 57123
- Sökbar för utbytesstudenterNej
- Endast studenter med kurstillfället i programplan.
Poängfördelning
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
---|---|---|---|---|---|---|---|
0121 Projekt 3 hp Betygsskala: UG | 3 hp | ||||||
0221 Projekt 6 hp Betygsskala: UG | 3 hp | 3 hp |
I program
Examinator
- Georgia Virginia Panopoulou
- Forskarassistent, Astronomi och plasmafysik, Rymd-, geo- och miljövetenskap
Behörighet
Grundläggande behörighet för grundnivåSökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.
Särskild behörighet
Samma behörighet som det kursägande programmet.Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.
Syfte
Syftet med kursen är att ge studenterna grundläggande färdigheter i programmering och numerisk analys, en kraftfull kombination för att lösa en mängd vetenskapliga problem. Styrkan i kombinationen ligger i den gemensamma referensen till algoritmer där numerisk analys utvecklar och tillhandahåller algoritmer för att lösa matematiska problem, medan programmering automatiserar och utför uppgifter utifrån en algoritm. Kursen kommer att utbilda studenterna inom bägge dessa områden, där främst programmeringsspråket Python kommer användas.Lärandemål (efter fullgjord kurs ska studenten kunna)
Kunskap och förståelse- Uttrycka matematiska formler med hjälp av programmeringsspråket och lämpliga algoritmer
- Välja lämpliga datatyper och datastrukturer för olika typer av data
- Strukturera stora program i hanterbara och återanvändbara moduler genom att använda funktioner
- Hitta relevanta numeriska analysverktyg och programbibliotek samt använda dem på adekvata sätt
- Lära sig Pythons syntax
- Använda funktionalitet från befintliga Python-moduler, t.ex. Numpy och Scipy
- Bl.a. använda begrepp från linjär algebra, differentialkalkyl integrationskalkyl, ekvationslösning och andra matematiska modeller för att lösa vetenskapliga problem
- Skriva väl kommenterade program som hanterar både numerisk data och textdata samt producera korrekt formaterade diagram
- Skapa program som läser, omvandlar och genererar filer i filsystemet
- Använda standardbibliotek och tillämpa de bäst lämpade programmeringsmetoderna
- Testa olika programmeringsmetoder
- Använda programmeringsverktyg såsom kodredigerare och versionskontrollsystem
- Bedöma den komplexitet och de beräkningsresurser som behövs för typiska programmeringsuppgifter
- Bestämma effektiviteten och tillförlitligheten hos en algoritm
- Analysera kod skriven av andra och hitta fel och möjligheter till förbättringar
Innehåll
Kursen introducerar programmering främst m.h.a. Python med specifikt fokus på algoritmbaserade numeriska lösningar av vanliga vetenskapliga problem. Studenten får omfattande kunskaper om algoritmerna via Python och introduceras till de grundläggande begreppen och verktygen för datorprogrammering och numerisk analys, nämligen:- Tolkning av algoritm och källkod
- Datatyper, variabler och matriser
- Förhållanden och loopar
- Funktioner
- Felanalys och flytande aritmetik
- Numerisk differentialkalkyl och integrationskalkyl
- Linjär algebra: arbeta med matriser
- Ekvationslösning
- Interpoleringar och approximationer
- Ordinära differentialekvationer
Organisation
Kursen är uppbyggd av moduler, där varje modul består av introduktions- och uppföljningsföreläsningar samt övningar och projektuppgifter.Veckoföreläsningar ger studenterna programmerings- och numeriska analysbegrepp och verktyg, tillsammans med ett brett perspektiv på tillämpningar. Problemlösning med fysikfrågeställningar kommer att användas som utgångspunkter för studenternas lärande. Studenten kommer att producera sin egen kod och implementera befintliga algoritmer. I samband med problemlösningarna kommer vi att ha uppföljningsföreläsningar som diskuterar olika lösningsstrategier och reflekterar över de olika lösningarna. Kursen löper över tre läsperioder.
Litteratur
- Learning Scientific Programming with Python - Christian Hill, Cambridge University Press, ISBN 9781107428225 https://scipython.com/- Numerical Methods in Physics with Python - Alex Gezerlis, Cambridge University Press, ISBN 9781108772310 https://numphyspy.org/
Examination inklusive obligatoriska moment
Kursen examineras med skriftliga inlämningar. Alla tre läsperioderna inkluderar tvåveckors projektarbeten med uppföljande självreflektionsrapporter. Projektarbetena kommer bestå av programmeringsuppgifter och problemlösning och utförs vanligtvis i grupper om två.Kursens examinator får examinera enstaka studenter på annat sätt än vad som anges ovan om särskilda skäl föreligger, till exempel om en student har ett beslut från Chalmers om pedagogiskt stöd på grund av funktionsnedsättning.
Kursplanen innehåller ändringar
- Ändring gjord på kurstillfälle:
- 2024-10-30: Examinator Examinator ändrat från Matthias Maercker (maercker) till Georgia Virginia Panopoulou (georgiap) av Viceprefekt
[Kurstillfälle 1]
- 2024-10-30: Examinator Examinator ändrat från Matthias Maercker (maercker) till Georgia Virginia Panopoulou (georgiap) av Viceprefekt