Kontrollskrivningen
Kontrollskrivningen är 2 timmar lång och består av 30 frågor av typen flerval eller korta svar. Det kan också komma någon/några frågor där du behöver rita en bild för att förklara hur någonting ser ut i datorns minne. Under pandemin kommer kontrollskrivningen att hållas online. Alla hjälpmedel (till exempel miniräknare, böcker, Stack Overflow, Wikipedia, iPython) är tillåtna, men allt samarbete är förbjudet. För mer information om tentamensregler, se KTH:s officiella sida.
Rekommenderad studieteknik
För att klara kontrollskrivningen är det viktigt att allokera mycket vaken tid till att läsa i boken. Det andra bra tipset är att trots att du är vaken, läs boken långsamt och ge dig tid till återkopplingsövningar.
Kontrollskrivningen är på 1 högskolepoäng vilket motsvarar c:a 27h heltidsstudier. För specifika läsanvisningar, se detaljplaneringen för föreläsningarna och kursinnehållssidan. För specifika uppgifter att räkna, se bokens hemsida Links to an external site.. Där finns uppgifter och facit. För tutorials, FAQ:s och liknande Links to an external site., se Pythons hemsida.
När du läser på till kontrollskrivningen, tänk hela tiden på återkoppling. Några bra återkopplingsloopar under studier:
- Innan du läser ett kapitel, innehållsförteckning, kurs-PM eller en uppgiftslydelse, försök att tänka ut själv hur ämnet fungerar och hur det bäst skulle förklaras. Skriv några stödord eller en komplett text med dina tankar och jämför med hur texten du skulle läsa förklarade det. Vad var skillnaden?
- Efter att ha läst ett kapitel i boken, testa att stänga boken och se om du kan repetera det du har läst.
- Testa att tillämpa tankarna i boken genom att lösa programmeringsproblem. Om du har slut på problem i boken så finns det ännu fler här Links to an external site..
- Täck för det du ska läsa med ett papper och flytta det sakta nedåt. Då kan du själv lösa alla uppgifter och få återkoppling i form av att se hur författarna gjorde. Det sänker även takten på ditt läsande vilket är bra eftersom det ger mer tid till att få saker att sjunka in.
- Om det fortfarande finns föreläsningar och övningar kvar i kursen så är dessa tänkta som återkoppling på ditt läsande.
Underskattade studietekniker (Gör mer av detta!)
Programmera! Testa att lösa uppgifter i boken eller lös uppgifter på Kattis
Links to an external site.. Hitta uppgifter som ligger nära problem du själv vill lösa, eller ladda ner exempelkoden från föreläsningarna, skriv om den, ta sönder den och titta hur den kraschar för olika fel.
Vad kommer på kontrollskrivningen?
Kontrollskrivningen består av 6 lärandemål med 3 eller 5 frågor för varje lärandemål. För godkänt behövs 60% av poängen på frågorna för varje lärandemål dvs 2/3 frågor eller 3/5 frågor. Om 1 lärandemål missas ges möjlighet till komplettering. Om flera lärandemål missas behövs allt göras om på nästa kontrollskrivningstillfälle.
Kursens lärandemål | Omfattning på kontrollskrivningen | Hur lär man sig det? |
beskriva källkoden till ett dataprogram med rätt terminologi, |
Lexing: Ni behöver veta vad som menas med identifierare, delimiter (skiljetecken), operator, literal och keyword (nyckelord). Parsing: Ni behöver behärska termerna uttryck och sats. Övrigt: Ni behöver kunna begreppet syntax. |
Kursboken, föreläsningarna samt språkspecen på Pythons hemsida |
beskriva och tillämpa grundläggande datatyper, klasser och typkonverteringar, |
De inbyggda typerna int, string, float, list, set, dictionary och typkonverteringar däremellan. Ni behöver kunna implementera egna klasser och skapa objekt av dessa. |
Tutorials, kursboken, föreläsningar och laborationer. |
beskriva, tillämpa och felsöka flödeskontroll samt logiska och aritmetiska uttryck, |
Ni behöver kunna använda if, for, while, continue, break samt de logiska och aritmetiska operatorerna. | De tidiga föreläsningarna. |
beskriva en variabels räckvidd och livslängd, |
scope, aliasing och garbage collection. | Kursboken eller tutorials. |
grafiskt beskriva kopplingen mellan variabelnamn, typer och data, |
Ni behöver kunna rita, tolka och utvärdera ett låd- och pildiagram som förbinder namn, scopes, objekt och attribut. | Tidiga föreläsningar och denna längre guide Links to an external site.. |
Felsöka, och med rätt terminologi beskriva rekursiva algoritmer, |
I felsökning ingår att kunna beräkna värdet av enkla rekursioner. | En föreläsning handlar om rekursion samt att rekursionskapitlet är bokens bästa kapitel. |
För en mer formell genomgång av vad som kommer, se kursinnehållssidan.
Hur hittar jag mer information?
Om du till exempel vill veta vad raise gör, skriv följande i Google:
site:python.org python3 raise
Det finns utmärkta FAQ:er på pythons hemsida Links to an external site..
Kolla också bokens index och innehållsförteckning.
Gamla Kontrollskrivningar/Tentor
Det moment som heter kontrollskrivning och ligger utanför tentaperioden hette förut tenta och låg i tentaperioden. Innehållsmässigt följer kontrollskrivningen samma struktur som den moderna kontrollskrivningen.
Observera att äldre tentor innehåller frågor om Bash, Git och tidskomplexitet. Bash och Git har förflyttats till att examineras på labbar istället för tentan och tidskomplexitet har förflyttats till årskurs 2.
En modern exempeltenta Links to an external site. finns nu här som följer den nya formen med lärandemål.
En gammal exempeltenta med facit finns tillgänglig.
Tentan från 2019-10-18 finns här med facit.
Fx-kompletteringen från 2019-12-02.
Omtentan från 2019-12-17.
Tentan från 2016-10-20 har facit här.
Tentan från 2017-10-20 har facit här.
Tentan från 2018-10-19 har ett kommenterat facit här och ett lösningsförslag här.
Tentan från 2018-12-18 har ett facit här.
Slutligen, en exempelfråga:
Ringa in siffran framför det eller de alternativ som du tror är rätt. Om du vill ändra ditt svar, stryk över det felaktiga alternativet. Om du råkar stryka över det rätta alternativet, rita en pil som pekar på det rätta svaret. Om du har mer än en pil som pekar på olika alternativ, stryk över de felaktiga pilarna.
(A) Vad händer när du försöker köra följande python3-kod?
def mystery(first, second):
return second+first
print(mystery("al","pin"))
1) Den skriver ut:
alpin
2) Den skriver ut:
pinal
3) Programmet kraschar på grund av typfel.
4) Programmet fastnar i en oändlig loop.
5) Inget av ovanstående alternativ
Facit till ovanstående.