FAQ - vanliga frågor
Allmänna frågor
- Labbtillfällen: bara redovisning eller även hjälp?
Ja, det går att få hjälp på labbtiderna. Det går också att få hjälp hos Allmänhandledningen
- Lämna in labbarna i tid? Deadline?
Datum och tid för inlämning syns i varje labb-beskrivning.
- Om vi har gjort olika program, ska vi visa bägge vid redovisningen?
Det beror på om det finns tid till det. Det räcker oftast att titta på det ena eftersom det är era kunskaper vi kollar.
- Om ens labbpartner har fått förhinder och inte kan redovisa, går det att redovisa labben själv?
Det går bra att redovisa själv. Men labbkompisen måste redovisa senare.
- Vad händer om man är sjuk och inte kan redovisa?
Lämna in labben i Canvas och kontakta mig så berättar jag när du kan redovisa (och ser till att labben inte räknas som sen).
- Vad innebär "i tid"? Måste jag redovisa labbarna vid den deadline som står i labben eller kan jag redovisa alla labbar sista veckan?
- En labb i veckan tack! Det är den deadline som står i labben som gäller. Hör av dig till kursledaren och be om dispens att få redovisa veckan därpå om du t ex blir sjuk.
- Ska labbarna ha presenterats innan deadline?
- Ja. Deadline ligger efter veckans sista redovisningstillfälle. När det gäller labb 1 så är det en del som inte hunnit bli anmälda till kursen och dom får förlängd tid.
- Ska vi använda Kattis eller Canvas för att skicka in våra labbar?
- Ni ska alltid lämna in den slutliga versionen i programmet. Om det dessutom står i labben att ni ska lämna in i Kattis så ska ni göra det också!
- När släpps redovisningstiderna för datorlaborationerna?
- Dagen efter veckans sista redovisningstillfälle.
- Får man redovisa labbar när som helst innan deadline? Ponera att jag av någon anledning vill presentera exempelvis labb 7 nu, är det då möjligt?
- Veckans labb har prioritet, menom det finns tid kan du redovisa extra labbar via hjälpkön.
Frågor om Labb 1
- Jag kan inte lämna in i Canvas.
-
- Kontrollera att du är inloggad i Canvas (se bilder nedan).
-
Prova med en annan webbläsare.
-
Följ instruktionerna som IT-supporten lagt upp här: https://www.kth.se/student/studier/it/learning-platforms/frequently-asked-questions-on-canvas-for-students-faq
Inte inloggad | Inloggad |
-
Måste man kunna redogöra hur GitHub fungerar vid redovisning av Lab 1?
Ja, men bara översiktligt.
Frågor om Labb 2
- Vad är ett privat attribut?
Ett privat attribut inleds med understreck (t ex self._strumpor) och går bara att komma åt inuti klassen. Läs mer om privata attribut här: slides Links to an external site.
- Blir x en array om jag skriver så här?
x = []
Nej, x blir en lista. Du kan kolla vilken typ/klass x har har genom att skriva print(type(x))
- Har kö index?
Nej.
- Hur fixar man inläsningen med Kattis?
Om det inte fungerar att använda "input" så kan du läsa in från "sys.stdin", så här
indata = sys.stdin.readline()
Titta också på exemplet "A different problem" i Kattis hjälptexter Links to an external site.
- Kattis säger "Wrong answer" men mitt svar ser rätt ut - vad ska jag göra?
- Ta bort ledtexten (skriv bara input() istället för input("Ge korten: ) ")
- Se till att det är mellanslag mellan värdena i utskriften (1 2 3 istället för 123)
- Om varken 1 , 2 eller 3 löser problemet så är det bäst att fråga!
- Hur vet Kattis vilken av mina filer som innehåller main och vilken som innehåller klassen?
I rutan Entry point kan du skriva namnet på filen som innehåller main.
- Finns det någon begränsning på hur många gånger man får lämna in i Kattis?
Nej - man kan lämna in hur många gånger som helst.
Frågor om Labb 3
- Var ska hända om man försöker putta in något som redan finns i trädet?
Ingenting. Trädet ska bara lagra en upplaga av varje objekt som läggs in.
- Var ska hjälpfunktionerna ligga?
I samma fil som klassen. Här är ett exempel med shrink som hjälpfunktion.
class Box:
def put(self, thing): # Metod
self.contents = shrink(thing)
def shrink(thing): # Funktion
return thing/1000
- Måste vi skriva tre hjälpfunktioner putta, finns och skriv som anropas av metoderna i klassen?
Ja! Det handlar om abstraktion - att dölja implementationen för den som anropar metoderna i klassen Bintree.
- Måste vi använda rekursion?
Nä, men att gå igenom hela trädet blir enklare med rekursion.
- Vad ska vi skicka in i Kattis?
Både klassen bintreeFile.py och testprogrammet main.py (som är givet i uppgiften).
Frågor om Labb 4
- Ska labb4 och labb5 redovisas samma vecka?
Nej, se datum i labben.
- Får man bestämma själv vilka parametrar makeChildren ska ha? Och om den ska ha returvärde?
Ja - du får själv bestämma hur din makeChildren ska vara uppbyggd.
Frågor om Labb 5
- Hur ritar man stack frames?
Titta på exemplet i kursboken, Figure 6 i avsnitt 5.6
Frågor om Labb 6
- Hur lägger man in ett objekt i en dictionary?
Först gäller det att välja vad som ska användas som nyckel. Om vi t ex har en klass Glass och väljer att ha attributet "smak" som nyckel skulle det kunna se ut så här:
glassobjekt = Glass(pris, smak, ingredienser)
glassdict[glassobjekt.smak] = glassobjekt
Frågor om Labb 7
- Får man använda Pythons inbyggda hash som sin hashfunktion?
Nej. Man måste skriva en egen hashfunktion.
- Går det bra att använda något av exemplen på hashfunktioner från föreläsningen?
Ja.
Frågor om Labb 8
- Testas några andra typer av fall än de givna i exemplen som tex två stora bokstäver (HH2) eller två små (Hee)?
Nej. Flera atomer i rad (t ex HH2) kommer först i labb 9.
- Varför ska indata "cr12" ge utskrift "Saknad stor bokstav vid radslutet cr12" och inte "Saknad stor bokstav vid radslutet r12". Jag tänker när vi har kollat "c" mot regeln <LETTER> ska den inte finnas kvar i kön längre och ska alltså inte skrivas ut i felutskriften.
Principen är att man säger till direkt när det syns att det är fel. Redan när man tjuvkikar (med peek) på första tecknet i "cr12" så syns det att det saknas en stor bokstav.
- Varför ska indata "H01011" ge "För litet tal vid radslutet "1011" och inte "För litet tal vid radslutet "01011" ?
När det gäller talen måste man använda en annan strategi än för atomnamnen. Första siffran måste läsas in så att vi kan tjuvtitta på nästa tecken för att se om det också är en siffra.
Frågor om Labb 9
- Ska man skicka in filen atoms.txt ?
Nej. Kattis tar bara emot programfiler. Skriv om programmet så att atomerna inte läses från fil. Tips: Det finns ett testprogram i Labb 7 som har alla atomdata.
Frågor om Labb 10
- Det kommer inte upp något tkinter-fönster när jag kör testgrafik.py, vad ska jag göra?
Prova att gå in i filen molgrafik.py och kommentera bort anropet mainloop()
Frågor om Kontrollskrivningarna.
- Var finns information om kontrollskrivningarna?
På sidan Kontrollskrivningar
- Var finns läsanvisningar inför kontrollskrivningarna?
I kursPM finns alla läsanvisningar för boken.
- Den schemalagden tiden för KS är 2h. Dock är skrivtiden bara 45min. Varför är det så?
Skrivtiden är 9:00 - 9:45 men Funka R1 har längre skrivtid och börjar tidigare. - Hur många poäng ger godkänt?
4 poäng eller mer (av 6 möjliga) ger godkänt. - Om jag missar en kontrollskrivning, måste man då göra om alla?
Nej, det räcker att du gör om den kontrollskrivning du missade. - Om jag råkar lämna in för tidigt, kan jag börja om?
Nej. Om du missar KS:en får du skriva om den vid omKS-tillfället. - Måste jag anmäla mig till omKS?
Nej. - När är det omKS?
Se "Examination" i schemat (början av period 2) - Hur får man högre betyg än E på tentan?
Man muntar för betyg C och sen för betyg A. - Kan jag få över E på momentet KONT fast jag omtentat en KS?
Ja, efter att du kompletterat och blivit klar med alla KS:ar har du samma sorts E som den som klarade alla KS:ar vid första försöket! - Får jag göra högrebetygslabbar även fast man missat en KS?
Labbarna är ett separat moment med separat betyg, KS:arna påverkar inte betyget på labb-momentet. - På sista frågan på KS0 var ordgränsen 30 ord. Vad händer om man skriver fler ord?
Ordgränsen är bara ett tips om ungefär hur mycket man behöver skriva. Det är OK att skriva fler ord.
Frågor om högrebetygslabb/munta.
- Är muntan på plats eller i Zoom?
Hösten 2023 kommer muntorna att gå på plats på KTH.
- Och själva muntan, innebär det frågor som hör till labben eller kan det vara vilka typer av C-frågor från gamla tentor som helst?
Muntan kan vara vilken typ av C-fråga som helst.
- Går det att göra enbart den ena, alltså bara munta eller bara labb?
Det går bra att bara göra den ena. Muntan höjer betyget på moment KONT och labben höjer betyget på moment LABD, se KursPM
- Kan man plussa?
Betyget på KONT (muntan) kan plussas men bara en gång per läsår, i omtentaperioden i juni. Betyget på LABD kan inte plussas. Se KursPM.