Kursplan för Programmering i Python med tillämpningar inom fysik

Scientific Programming in Python with Applications in Physics

Kursplan

  • 5 högskolepoäng
  • Kurskod: 1FA453
  • Utbildningsnivå: Avancerad nivå
  • Huvudområde(n) och successiv fördjupning: Fysik A1N, Datavetenskap A1N

    Förklaring av koder

    Koden visar kursens utbildningsnivå och fördjupning i förhållande till andra kurser inom huvudområdet och examensfordringarna för generella examina:

    Grundnivå
    G1N: har endast gymnasiala förkunskapskrav
    G1F: har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav
    G1E: innehåller särskilt utformat examensarbete för högskoleexamen
    G2F: har minst 60 hp kurs/er på grundnivå som förkunskapskrav
    G2E: har minst 60 hp kurs/er på grundnivå som förkunskapskrav, innehåller examensarbete för kandidatexamen
    GXX: kursens fördjupning kan inte klassificeras.

    Avancerad nivå
    A1N: har endast kurs/er på grundnivå som förkunskapskrav
    A1F: har kurs/er på avancerad nivå som förkunskapskrav
    A1E: innehåller examensarbete för magisterexamen
    A2E: innehåller examensarbete för masterexamen
    AXX: kursens fördjupning kan inte klassificeras.

  • Betygsskala: Underkänd (U), godkänd (3), icke utan beröm godkänd (4), med beröm godkänd (5)
  • Inrättad: 2019-03-07
  • Inrättad av: Teknisk-naturvetenskapliga fakultetsnämnden
  • Gäller från: vecka 27, 2019
  • Behörighet: 120 hp inom teknik/naturvetenskap med Kvantfysik.
  • Ansvarig institution: Institutionen för fysik och astronomi

Mål

Efter godkänd kurs ska studenten kunna:

  • redogöra för grundläggande komponenter i ett Python-program
  • använda centrala Python-bibliotek
  • implementera numeriska algoritmer i Python
  • använda Python för att lösa beräkningsproblem från olika fysikområden

Innehåll

Kursen ger en introduktion till programmering med Python och programmeringsrelaterad lösningsmetodik. 
Introduktion till Python: installation, Anaconda3, Python3, NumPy, SciPy, Spyder
Komponenter av Python: variabler (integers, floats, strings, Booleans, complex).
Behållare (containers): lists, dictionaries, sets, tuples, arrays. Operatorer. Input/output: open, read, write, append, print. Programstruktur: indrag (indentation), if, while, for, else, try. Funktioner: def, parametrar, keywords, docstrings, return.
Programmering: Grundläggande programmeringstänkande. Numerisk integration. Lösning av icke-linjära ekvationer. Approximation av data. Minsta kvadratapproximation. Konvergensanalys och optimering.
Lösningsmetodik: uppdelning av problem i delproblem, implementering i Python, debugging. Centrala exempel på tillämpningar hämtas från fysikens huvudområden, t ex klassisk mekanik, elektrodynamik, termodynamik och kvantfysik.

Undervisning

Föreläsningar och datorlaborationer.

Examination

Datorlaborationer och inlämningsuppgifter.

Om särskilda skäl finns får examinator göra undantag från det angivna examinationssättet och medge att en enskild student examineras på annat sätt. Särskilda skäl kan t.ex. vara besked om särskilt pedagogiskt stöd från universitetets samordnare för studenter med funktionsnedsättning.

Litteratur

Litteraturlista

Gäller från: vecka 03, 2019

  • Hill, Christian Learning scientific programming with Python

    Cambridge, United Kingdom: Cambridge University Press, 2015.

    Se bibliotekets söktjänst

    Obligatorisk