Göm menyn

Studiematerial

Studiematerialet består av 25 kapitel där en del kapitel innehåller filmer som kompletterar texten. Materialet innehåller den information ni behöver kunna för att klara kursen. Inför varje seminarie kommer ni att behöva läsa ett antal kapitel. Vilka kapitel detta är står i respektive seminariematerial.

  1. Programmeringspraxis (korrekthet, läsbarhet, namnformatering, kommentarer, radlängd, testbarhet)
  2. Komma igång med Python (starta Python, köra Python, Python i Emacs)
  3. Satser och uttryck (enkla satser, sammansatta satser, enkla uttryck, sammansatta uttryck)
  4. Introduktion till programmering (heltal, flyttal, sanningsvärden, funktioner)
  5. Upprepning (range, grundläggande rekursion och iteration)
  6. Hur man programmerar (programutvecklingsprocessen, divide and conquer)
  7. Datatyper (dynamisk typning, list index och slicing)
  8. Strängar (index, slicing, immuterbarhet, jämförelse, operationer, lagring, teckenkodningar)
  9. Iteration och rekursion (hur tänker man, mallar, olika typer av upprepning)
  10. Selektion (sant och falskt, booleska operatorer, if uttryck, if-sats)
  11. Metoder (metoder, object, hjälp, strängmetoder, listmetoder, destruktiva funktioner)
  12. Grafik (graphics-paketet, figurer, färger, interaktivitet)
  13. Game of Life (regler, möster)
  14. Mer om datatyper (tuple, dictionary, sammansatta datatyper, binära sökträd)
  15. Funktioner (parameterisering, varför en funktion?, vad händer?, parameteröverföring, synlighet (en. scope), skuggning)
  16. Dubbelrekursion (nästlad lista)
  17. Undantag (vanliga undantag, undantagshantering, try-except-else-finally, undantagshantering på fler nivåer)
  18. Testning (testningsnivåer, teststrategier, enhetstestning)
  19. Funktionell programmering som paradigm (programmeringsparadigm, egenskaper, nackdelar och exempel på funktionell programmering)
  20. Funktionell programmering (högre ordningens funktioner, lambda-funktioner, funktioner som utdata, iteratorfunktioner, listbyggare)
  21. Problemlösning (att lösa problem, algoritmer, lösningsmodeller, top-down, bottom-up, algoritmkomplexitet)
  22. Utvecklingsmiljön Eclipse (utvecklingsmiljöer, Eclipse på IDA)
  23. Grunderna till interpretator och kompilator (källkodsanalys, introduktion labb 5, språket Calc)
  24. Dataabstraktion (abstrakt kontra konkret, definition av datatyp, arbetsmetodik för datatypsval)
  25. Algoritmer (selection sort, insertion sort, rekursiva algoritmer, quicksort)
  26. Extra läsning: Emacs (layout, kortkommandon, konfiguration, modes, kända problem)

Vanliga frågor


Sidansvarig: Peter Dalenius
Senast uppdaterad: 2016-08-23