lu.se

Datavetenskap

Lunds Tekniska Högskola

Denna sida på svenska This page in English

Litteratur

Ladda ner kursmaterial

Kurskompendiet är öppen källkod och alla är välkomna att bidra enligt instruktioner i appendix i kompendiet. En tryckt version säljs till självkostnadspris via institutionen efter beställning på första föreläsningen.

Dokumentation

Övriga resurser

Rekommenderad bredvidläsning

Kurskompendiet, som är fritt att ladda ner, definierar kursens innehåll och ordningen på materialet. Om du vill ha kompletterande kursmaterial som bredvidläsning rekommenderas nedan två böcker. De finns tillgängliga via nätbokhandlare, t.ex. AdLibris.

Bredvidläsning för nybörjare:

  • Lewis & Lacher, 2016: ''Introduction to Programming and Problem-Solving Using Scala, Second Edition'', Mark C. Lewis, Lisa Lacher.

Lewis & Lacher täcker stora delar av kursen, men innehåller även en del material som ingår i senare LTH-kurser. Ordningen är ganska annorlunda, men det går bra att läsa boken i en annan ordning än den är skriven, men du får själv anpassa din läsning av denna bok efter pgk-kursens progression.

Bredvidläsning för dig som redan programmerat en hel del i ett objektorienterat språk:

  • Odersky et al., 2016: ''Programming in Scala", Third Edition, Martin Odersky, Lex Spoon, and Bill Venners.

Martin Odersky är upphovspersonen bakom Scala och denna välskrivna bok innehåller en komplett genomgång av Scala-språket med många exempel och tips. ''Third Edition'' täcker senaste versionen av Scala, version 2.12. Boken riktar sig till de som redan har kunskap om något objektorienterat språk, t.ex. Java. Boken följer inte kursens upplägg men det finns ett bra index som gör det lätt att anpassa din läsning efter kursens progression. Boken är på mer än 800 sidor och innehåller mycket material som är på en mer avancerad nivå än pgk-kursen, men du kommer att ha stor nytta av innehållet i kommande kurser och när du fördjupar dig i Scala.

Errata

Här kommer eventuella fel i den tryckta versionen av kompendiet publiceras. Den elektroniska versionen kommer att uppdateras kontinuerligt.

Errata i kompendium

  • Kapitel 2.1.27: "namngiven parameter" ska vara namngivet argument.
  • Del 1 sid. 126, uppgift 5 d) fel i facit (en gammal lösning visas med SimpleWindow). Korrigerad lösning med PixelWindow kommer finnas i compenium.pdf för nedladdning inom kort.
  • På alla ställen där kursbiblioteket introprog omnämns ska senaste version vara 1.1.4 och namnet på jarfilen vara introprog_2.12-1.1.4.jar se dokumentation.

Errata i quickref

Du får inte anteckna i quickref som är hjälpmedel på tentan, förutom noteringar om nedan errata, beroende på vilken version du har. Nedanstående fel är fixade i senaste versionen.

Inga fel upptäckta än i senaste tryckta pappersversionen av quickref (v1.11). Vid upptäckt av fel kontakta kursansvarig.

I v1.7 som trycktes på papper inför HT2017 av snabbreferensen fanns följande fel:

  • Metoder i Seq, Scala sid 6: metoderna max, min, maxBy, minBy hör hemma under Traversable och borde stå på sidan 5.

I version v1.0 som trycktes på papper inför HT2016 fanns följande fel:

  • Grundtypernas implementation, Scala sid 4: Omfång för Int ska ha exponent 31 (inte 15) och omfång för Long ska ha exponent 63 (inte 15).
  • Saknade samlingsmetoder: Under rubriken "Methods in trait Map[K, V]" saknas metoderna keySet och mapValues. Seör tentahjälpsgodkänd beskrivning av dessa metoder.