IntroPython

Introduktion til Programmering i Python ‘

Python er for tiden det mest populære og anvendte sprog i verdenen (se bare stats fra tiobe index og red monk). Det er relativt hurtigt og har et kæmpe økosystem (100.000+) pakker, som gør os i stand til at lave stort set alt med sproget på relativt kort tid. Nærværende github repository, beskriver et kursus/forløb i Python.

Vi forudsætter, at du allerede har et vist kendskab til programmering, som du får i eksempelvis i forløbet om “Introduktion til programmering i P5.js”.

Det er af afgørende betydning, at du laver de nødvendige øvelser undervejs. At lære at programmere er lidt som at bygge et hus. Kun hvis væggene er solide og sikre kan du begynde at sætte taget på. Øvelserne skal med andre ord hjælpe dig med at sikre, at du har godt nok styr på det fundamentale. God arbejdslyst.

Mvh. Peter Sterner og Henrik Sterner

Grundbog, slides og øvelser

Vi bruger uddrag af følgende to gratis og opensource bøger af af Jake Vanderplas:

  1. (PY) Grundbog: A Whirlwind Tour of Python
  2. (ØP) Middelsvære Øvelser
  3. (ØP2) Nybegynder Øvelser
  4. (AdvPy) Videregående Python
  5. (Noter) Noter
  6. (Slides) Slides

Bogen er gratis, og rummer en række kapitler i jupyter-formatet, som gør det muligt at kombinere tekst og kode. Derudover vil der være uddrag fra andre bøger og internet ressourcer.

Software

Kurset forudsætter at du kan afvikle Python og tilhørende pakker enten i skyen eller på din egen computer. Du kan nemt og bekvemt skrive, afvikle og sågar dele Python i skyen ved brug af:

Foretrækker du at kode lokalt anbefales VS Code og Anaconda:

Vi bruger Python 3.8 eller nyere.

Undervisningsplan

Herunder en tentativ plan for undervisningen, der opdateres undervejs. Øvelser refererer til numre i øvelsesdokumentet:

Lav øvelserne i den rækkefølge som de står. Lav så mange som overhovedet muligt. Den eneste måde at blive god til faget er ved at øve sig regelmæssigt og så meget som overhovedet muligt. Træning gør mester! Gå ikke videre før du har styr på det fundamentale. Øvelser med fed skrift skal afleveres i Lectio.

Modul Nr Kapitel Indhold Øvelser
1 PY: 1,2,3 Intro til python, Colab og evt jupyter Installere og afprøve software
2 PY: 4 og 5 Variabler og operatorer ØP2 alle opgaver,1-3,ØP:4-6
3 PY: 6 og 7 Indbyggede typer og datastrukturer ØP:7-11,12-14
4 PY: 8 og 11 Løkker og betinget udførsel ØP:21-25,26-27
5 PY: 9 Funktioner ØP:33
6 Øvelse WebApps og GUIs ØP:41-42
7 PY: 10 Undtagelser ØP:32
8 PY: 11-12 Operationer på lister ØP:34-35, 28
9 PY: 14 Moduler og pakker ØP:37
10 PY: 15 Strenge og lidt om regulære udtryk ØP:36, 29, 30
11 Noter Objektorienteret programmering og principperne bag ØP:38, 39, 40
12 PY11, AdvPy:5 Videregående Python: Zip funktionen ØP:49
13 PY11, AdvPy:4 Videregående Python: Lambda udtryk ØP:50
14 PY11, AdvPy:4 Videregående Python: filter funktion ØP:53
15 PY11, AdvPy:4 Videregående Python: map funktion ØP:52
16 PY11, AdvPy:4 Videregående Python: reduce funktion ØP:54
17 PY11, AdvPy:6 Videregående Python: Decorators  
18 PY11, AdvPy:10-11 Videregående Python: Tests, docTests, UnitTests, PyTests  
19 PY11, AdvPy:12-13 Videregående Python: Regulære udtryk  
20 PY11, AdvPy:12-13 Videregående Python: Tråde og parallellisering 51