Kursboken
Kursboken är Introduction to programming in Python av Sedgewick, Wayne och Dondero.
På bokens webbplats
Links to an external site. finns sammanfattningar av texten, men det är inte en gratisversion av innehållet utan bara en kort sammanfattning.
På webbplatsen finns också en errata
Links to an external site. och många övningsuppgifter för att komma igång med Python.
Bra saker med kursboken: Algoritmdelen är bra, särskilt för rekursion. Introduktionen till objektorientering är också bra även om den kommer en aning sent. Bokens exempel är plockade från olika naturvetenskapliga ämnen, främst matematik. Den introduceras Pythonsyntax mycket långsamt och fokuserar mer på algoritmer och minnet vilket är precis vad som är centralt.
Centralt med läsningen i kurser på Kth är: Se till att läsa längre, kurerade texter och inte bara uppgooglade kommentarer på olika webbplatser som StackOverflow. Det går förstås att lära sig från andra källor också, men ni får ut betydligt mer av dessa om ni har en grundstomme av att ha läst en rejäl och ordentlig bok.
Några förvånande detaljer med boken:
- Istället för att välja en av Python2 och Python3 så väljer den att använda ett eget bibliotek som heter stdio för att skriva kod som fungerar i båda huvudversionerna. Där boken skriver stdio.write("Hello World!") så kan du i Python3 bara skriva print("Hello World!")
- Best practise för att skriva kod som fungerar i både Python2 och Python3 är att skriva
from __future__ import print
och sedan använda print som i Python3. - Boken motstår in i det sista att berätta att funktioner i Python kan returnera mer än ett värde och att tilldelningsoperatorn kan hantera mer än ett uttryck åt gången vilket innebär att syntax som
left, right = right, left
och i förlängningen den här vanliga och användbara syntaxenfor index, value in enumerate(my_list): print(index, value)
inte används i boken. - Bokens bibliotek stdio som används för inläsning och utskrift kommer inte på kontrollskrivningen men ni får förstås använda det om ni vill.