känna igen alla strukturer i Python och designval bakom dem
förklara designalternativen i modulär och skalningsbar programmering
F
ä
r
d
i
g
h
e
t
o
c
f
ö
m
å
a
:
skapa välorganiserade mjukvaruprojekt för komplexa uppgifter
läsa och analysera andras kod
bidra till kollaborativa projekt
använda standardbibliotek till avancerade programmeringsuppgifter
tillämpa testningsmetoder för att garantera kvalitén i koden
skriva koddokumantation på olika detaljnivåer
V
n
s
l
resonera om designval i mjukvaruutveckling
uppskatta komplexiteten i programmeringsuppdrag
Kursinnehåll
Kursen börjar med en snabb introduktion till grunderna i Python, vilket fungerar som upprepning för studenter som redan kan Python med även möjliggör för studenter med annan bakgrund att komma igång med Python.Efter introduktionen går kursen vidare till mera avancerade drag i Python-programmering:
objektorienterad design
funktionella programmeringstekniker
avancerade Python-specifika tekniker
användning av standardbibliotek
testmetodik
skapandet av större programmeringsprojekt
Målet är att ge en gedigen förståelse av Python så att deltagarna kan läsa och skriva "state of the art"-kod och resonera om designval.
Det teoretiska materialet presenteras i relation till ett projekt, som är uppdelat i individuella komponenter ("labbar") och som resulterar i ett omfattande mjukvarusystem som implementerar tekniker sådana som vetenskapliga beräkningar, dataanalys, visualisering och maskininlärning. Tidigare kunskaper av dessa tekniker förutsätts inte utan kommer att ges som en del i undervisningen; fokusen ligger inte på teorin utan på att hjälpa studenterna att använda relevanta mjukvarubibliotek på adekvata sätt.