News feed
Log in to your course web
You are not logged in KTH, so we cannot customize the content.
Do you have questions regarding this course?
If you are registered on a current course round, please refer to the Canvas course room. You find the right course room under "Courses" in the personal menu.
If you are not registered, see Course PM for DD1320 or contact your student office or study counsellor.
In the News feed, you find updates for pages, schedule and posts from teachers (when aimed also at earlier registered students).
Vill du sälja din gamla kursbok (Miller-Ranum) på www.kthbok.com ? Höstens kursomgång börjar nu på måndag 1 sept!
Hej, vad innebär talen i attributet platser?
Hej, vad innebär ett "Perfekt" program och ett testfall?
Hej, Vi undrar också över termen "testfall", vad innebär det i praktiken? Ska bara ta med saker som kan gå fel, eller ska man skriva specifika programsnuttar som testar för olika scenarios?
@Alexander:
9 / 17 (24) innebär att 9 platser är bokade av 17 bokningsbara och det finns 24 platser totalt (några platser är reserverade för drop-in).
@Carl:
När det gäller "perfekt program" kan du kolla på kraven för P-uppgiften längst ner på denna sida: http://www.csc.kth.se/utbildning/kth/kurser/DD1315/prgi12/P-del/
Tesdata: I första labben räcker det att du talar om hur du provkört programmet (indata + resultat).
@Fabian:
Senare ska ni få skriva testprogram som kör programmet för olika indata, men i första labben räcker det att ni skriver upp vilka indata ni testat med och vad resultatet blev.
Hej,
Vi tycker att uppgiftsbeskrivningen är ganska öppen. Måste man exempelvis kunna söka på passens alla olika attribut eller räcker det att kunna söka på exempelvis passtyp?
Och, vi anser att vi har ett fullt fungerande program med endast två metoder. Ska vi då bara skriva till 3 metoder som vi egentligen inte behöver?
Upplys oss gärna om vi är helt fel ute och man egentligen inte kan skriva programmet med endast två metoder.
Tacksam för snabbt svar :)
Jag hittar inte var man gör inlämningen här på KTH social, kan någon vänlig själ hjälpa med det?
@Emilie
Det räcker att man kan söka på exempelvis passtyp.
Ja, ni ska skriva fem metoder, även om ni inte känner behov av flera! I resten av labbarna ska ni också skriva klasser med metoder så ni behöver träna på det.
@Bálint
Det ska stå "Inlämningsuppgifter" längst ner i vänstermenyn på https://www.kth.se/social/course/DD1320/subgroup/tilda13/
Problemet kan vara att du inte är registrerad på kursen, kolla med din studievägledare!
Hej!
Angående problemen att nå inlämning för Lab1: Min labbpartner kan nå inlämning för laboration 1, men är inte registrerad enligt social. Jag är registrerad enligt social men möts av "Permission Denied. User does not exist in moodle database. Please contact your system administrator.".
@Johan
Tack för utmärkta debuggingtips (som jag ska skicka vidare till KTH Social-gänget)!
Det måste vara det för jag har inte det alternativet. Jag ska se med min studievägledare.
Jag och min labbpartner får båda samma felmeddelanden som Johan skrev tidigare; "Permission Denied. User does not exist in moodle database. Please contact your system administrator."
Eftersom våra konton inte verkar fungera som de ska så mailar vi istället in våra laborationer till dig, Linda. Så har vi lämnat in dem i något format i alla fall.
Om det är något som går felanmäla så är våra KTH-konton fabianwa@kth.se samt pvbr@kth.se.
@Fabian
OK!
KTH Social-gänget jobbar med problemet. Den här kursen betatestar inlämningar, så det är extra bra när vi upptäcker sånt som inte fungerar än :-)
Herregud. Jag går inte denna kurs men jag tittade runt litegrann här på KTH-webben och blir sjukt förvånad nu! Linda Kann, vilken bra struktur och information du har lagt upp om inlämningsuppgifterna för denna kurs! Finns det inte möjlighet att du kan hjälpa dina kollegor att förbättra sina, haha. Nu förstår man ju varför du förtjänar priset du fick för pedagogik! Bra jobbat! :)
Hej Oktay,
Du behöver inte vara orolig, nästan alla lyckades lämna in sina labbar i systemet (dom som hade problem fick möjlighet att lämna in på annat sätt). Inlämningssystemet testades under kursen, så det är inte konstigt att det inte fungerade perfekt. Brister som upptäcks under testning rapporterar jag så att dom kan åtgärdas i senare versioner - det är så det normalt fungerar i systemutveckling.
Hej Linda! Nej orolig är jag absolut inte, tvärt om! Ville bara hylla att ni som håller i denna kurs har gjort ett otroligt bra jobb att ge bra information för labbarna så eleverna vet precis vad dem ska göra, vilket är något som saknas på många andra kurser! Önskade att fler kursledare kunde vara lika bra och ge ut mycket information som ni gör i denna kurs! :)
Vad bra, hoppas du får ett skönt jullov!
Är det nödvändigt att kunna skriva flera molekyler under samma körning av programmet. Eller är det okej att att starta om programmet imellan?
Man ska kunna mata in flera formler utan att starta om programmet emellan!
Är det bara följande molekyler som behöver visas upp på redovisningen?:
O CO2
(CH3)2(CH2)4
Nej, den du redovisar för kan testa med helt andra molekyler.
Ska syntaxträd ritas upp även om syntaxen inte är korrekt?
Nej, då räcker det med en felutskrift!
Är det meningen att hela molekylen ska skickas till weight(mol) eller kan man beräkna vikten del för del?
@Sofie:
Det var en bra fråga som visar att du är på rätt spår. Hela molekylen ska skickas till weight, som sen gör rekursiva anrop för att beräkna delarnas vikter.
Hur menar du att man ska rita syntaxträden i förberedelseuppgiften? Det korta exemplet i föreläsningsanteckningarna är inte särskilt klargörande och boken verkar inte ta upp det.
Ska de bara se ut som det som molgrafik sen ritar upp?
@Martin:
Ja - rita som bilden i labben ovan! Tanken är att det ska bli enklare att se att det ditt program sen ritar är rätt.
Hej !
Redovisningstiderna till 13-11-21 är slut, kommer det komma upp fler? :)
Jag tror att jag fixade det samtidigt som du skrev och frågade :-)
Hej,
När vikten ska skriva ut i samma ruta, krävs det bara att den skrivs ut i samma ruta? Får den vara ihopkopplad med molekylen med ett rött sträck exempelvis?
@Bálint:
Vikten ska skrivas ut i samma fönster, inte i en av atomrutorna! Titta i koden på
http://www.csc.kth.se/utbildning/kth/kurser/DD1320/tilda13/labbar/molgrafik.py
Vad exakt skall specen handla om för betyg C? Är det för den här labben? (Och varför skall vi då skriva den efter vi har gjort programmet?)
Ja, det är en spec för programmet i denna labb. Det är tänkt att man ska skriva den i förväg, inte efteråt! Hade du redan gjort beyg E-delen innan du läste uppgiften för betyg C?
Ok, då förstår jag. För C skulle man ju ha gjort allt för E, men då gör vi det lite rekursivt, det också.
:-)
Ska Kattis klara av att läsa t.ex 100 som atomnummer? Om den klarar 332 känns det som att den borde klara 100 men BNF'en innehåller bara 2-9.
Na332 accepteras som korrekt syntax, ska Na311 fungera? Struntar vi helt i siffrorna 0 och 1?
<num> ::= 2 | 3 | 4 | ...
ska läsas som 2 eller 3 eller 4 eller ... eller 99 eller 100 eller 101 ...
Hej.
Jag försöker förstå lite hur KATTIS jobbar...
Kollar hon bara att hennes hemliga input blir rätt output, eller kollar hon hela programmet?
Jag menar... spelar det någon roll om man programerar fult eller snyggt så länge output blir ok?
Mvh
Kattis struntar fullständigt i hur din kod ser ut (men assen du redovisar för kommer nog att klaga om du har fulkodat).
Det finns grader...
Tack.
"Inför metoden peek() i din köklass" ska vi använda oss av köer i labben? Är det tänkt att varje tecken i den inhämtade molekylen ska läggas i en kö? Vilken lista på molekyler ska vi använda oss av? Är det dem från exemplena? :)
Ja, det är tänkt att de tecken du läser in (t ex H2O) ska läggas i en kö.
Börja att provköra programmet med de molekyler som finns i problemlydelsen på Kattis (Sample Input 1 och 2).
Sen är det bara att använda fantasin för att hitta på egna formler (både korrekta och felaktiga) att testa med!
En fråga i förtydligande syfte: Är situationen sådan att alla formler man vill testa inte är kända (det finns fler än i sample input i Kattis) och vår uppgift blir att lista ut alla formler som behöver testas?
Ja, precis så är det!
De första två omgångarna med testformler som Kattis kör är "Sample Input 1" och "Sample Input 2". Sen finns det ytterligare två omgångar kvar efter det...
Hej!
Vi har läst in sample input 1 både från en fil och skrivit in det manuellt via kommandoraden. Vi får till synes korrekt output med stdout.write(). Vi har även jämfört med personer som får rätt av kattis och vår output är till synes identisk för sample input 1. Vi får dock "Wrong Answer" på första testet. Idéer?
Hej!
Vi har gett inputten från Sample Input 1 och Sample Input 2 till ett godkänt program och till vårt icke godkända program, sparat respektive output till två olika textfiler och sedan kört diff på resultatet, vilket ger att filerna är identiska. Hur är detta möjligt?
Kan det vara så att ni skickat en annan version av programmet till Kattis?
Enligt Kattis så godkänner ert program inte Si(C3(COOH)2)4(H2O)7
Jag har också provkört och det ser ut så här:
dator>python3 formelkoll2.py
Si(C3(COOH)2)4(H2O)7
Saknad högerparentes vid radslutet )2)4(H2O)7
#
Hej!
Ok, löste det. Det stod " if q.peek() is not ")": " vilket jag bytte till " if q.peek() != ")": "Intressant nog fungerade is not versionen på http://repl.it/languages/Python, på windows 7 kommandoraden med python 3.3.2 och min vän fick samma fungerande beteende på sin linux med samma pythonversion. Vad händer hemma hos kattis egentligen? :)
Hej, Linda!
Innebär "testprogram" ett program med unittest, eller bara ett program som testar exempeldatan och avgör om detta är korrekt eller inte (likt Kattis)?
@Johan:
Det är Kattis som har rätt - operatorn "is" används för att jämföra om två objekt är samma, inte om värdena är lika/olika; det använder man "==" resp "!=" för (se http://docs.python.org/3.0/reference/expressions.html#id10).
@Stephan:
Testprogrammet behöver inte använda unittest!
Vad menar du att testprogrammet ska testa?
Min gissning är att testprogrammet ska testa ifall mitt första program ger korrekt output av en given input? På samma sätt som Kattis kollar ifall mitt program fungerar. Korrekt?
Om ja, visst är det väl okej att jag låter testprogrammet testa en version där jag läser inputen från en fil på vanligt vis
fil = open('textfil.txt', 'r')
rad = fil.readline()
istället för att använda stdin som Kattis vill ha?
För övrigt är länkarna till föreläsnings-pdferna på prgi12 borttagna vad jag kan se.
http://www.csc.kth.se/utbildning/kth/kurser/DD1315/prgi12/Forelasningsmaterial/
Test-programmet skall bara skicka in input(t.ex. läsa från fil, som du föreslog), "köra programmet" och kontrollera att rätt output kommer(kanske även där matcha mot en fil?). Mer testprogram än så verkar inte efterfrågas!
indata:C(Xx4)5 -> *syntaxkoll* -> utdata från programmet -> Matcha mot förväntad utdata(dvs kattis "sample outputs") -> Om de två är samma har testet lyckats!
Måste testprogrammet skicka inputen till formelprogrammet?
Just nu har jag gjort så att testprogrammet kör formelprogrammet -> formelprogrammet läser själv in inputen från en fil och skickar outputen tillbaka till testprogrammet -> testprogrammet kollar om outputen stämmer med förväntad output (läst från en fil)
Jag gjorde alltså en ny version av formelkoll-programmet där jag ersatte stdin med att läsa från en fil, dvs ersatte stdin.readline() med fil=open('fil.txt'), fil.readline() osv.
Det är nog kanske mer av en Linda-fråga förstås, men generellt skall man bara veta vilka tester man skall köra(dvs den indata du mycket riktigt läser in) och vilken utdata/vilket resultat som förväntas.
Jag tycker din test-algoritm låter bra iallafall!
Ok, tack för hjälpen!
Ja, det är precis som Fredrik skriver - testa att formelkoll ger Sample Output 1 när man ger Sample Input 1 som indata, och samma för indata/utdata 2.
Så jag behöver inte använda stdin alltså?
I programmet som du skickar in till Kattis så måste du använda stdin, men inte i ditt eget testprogram.
Finns det någom möjlighet att få veta vad kattis inte tycker är korrekt med mitt svar? Sitter och famlar i mörkret då alla exempel och mina svar är lika(?), och jag inte har någon aning om i vilken ordning felmeddelandena ska komma.
Tack på förhand!
Du löste tydligen problemet själv medan jag sov :-)
Is there any way of finding out what KATTIS dosen't like about my Program ? Because i get Accepted for the first two Test Cases but an Run Time Error for Test Case 3. And I have no idea what i should change anymore.
Invent some more test cases to try the following
- numbers: 0 and 1 are not OK but 10 is
- endings: lines that end with different errors
Nja, det där godkända svaret är när jag körde formelkoll, inte formelkoll2 som det står att man ska göra. Så formatet på min text verkar inte vara problemet. En liten hint skulle vara mycket uppskattad!
OK: C0 och C1 är inte OK, men t ex C10 ska godkännas!
How should I understand a line that ends with a diffrerent Error ? An Error appart from the Errors i have defined ?
A quick guess is that some line gives a different error output than it should. For example, some line could have two errors, and then it's supposed to catch the first occurring error and not the second.
Hej! Tänkte bara höra om det är OK att istället för att printa ut felmeddelandena i huvudprogrammet bara returnera dessa så att man kan ta till vara på dessa i testprogrammet för betyg A? I annat fall sitter vi nämligen och brottas med "None Type Object" som vad vi vet inte går att jämföra med det vi vet att vi borde få ut av programmet.
Med felmeddelanden menar jag egentligen också om tex "Formeln är syntaktiskt korrekt"
@Nils:
Here is an example
- (CO2)
- (CO2)H
First line is missing a number after ")"
Second line is too, but that is not at the end of the line...
@Michaela:
Javisst, testprogrammet kan ni lägga upp på önskat sätt!
Tack !
Äntligen ....
:)
Hej!
Vi får "Wrong Answer" som svar när vi lämnar in vårt program till Kattis. Dock fungerar det utan problem när vi kör sample input 1 och 2 från textfiler i idle. Men Kattis godkänner ingenting för oss, vad gör vi för fel?
/Emanuel
@Emanuel:
Har ni talat om för Kattis vilken fil som innehåller main?
Ja det har vi gjort. Har provat att läsa in sample indata från en fil och vår output blir då rätt.
Trots det får vi fel på test case 1 av Kattis, domarstatus "Wrong answer". Har provat säkert 50 olika varianter men får det ej att fungera. VAD gör vi fel?:) id nr 459298.
Ert program verkar ge "För litet tal vid radslutet" alltför ofta...
Finns det något sätt att veta vad som går fel på de olika stegen? Nu fungerar alla sample output som de ska (Och massa andra som jag försöker med) men vi får ändå wrong answer i steg 2... ID 459349.
Hittade felet, det var ett stavfel bara :-)
Har du testat atomer som inte finns?
Japp! Exempel:
NaXl2 - Okänd atom vid radslutet 2
Har du testat enbokstavsatomer som inte finns?
Jaa, nu fick jag det att funka! Problemet var att programmet inte angav rätt "radslut" när den okända atomen bara var en bokstav (den antog att även nästa tecken tillhörde atomen). Nu gick det, tack för hjälpen!
Hej!
Angående artistnamn i laboration 5: storfil.py tolkar i grundläget "T-Pain featuring R. Kelly_ Pimp C (of UGK)_ Too $hort_ MJG (of Eightball & MJG)_ Twista & Paul Wall" som en artist, är detta det önskade beteendet/tillräckligt beteende? Eller ska man ändra koden för att identifiera individuella artister?
Det är OK som artistnamn; du behöver inte parsa noggrannare än så.
Hej!
Har ännu inte fått något registrerat för laboration 5 i rapp, är det något ni inte har hunnit med än eller är det bara en miss av labassistenten? Vem ska jag kontakta för att få det fixat?
Där finns ingen länk för inlämming av Hemtal 2. Kommer det snart ?
Tack för påpekandet - jag hade bara lagt upp inlämning av hemtal 2 & 3 på tildae13. Nu fixat!
Längst från gud, måste den lösas med hjälp av rekursion och child; har löst den utan båda, men är lösningen giltig då?
Det är inte ett formellt krav att använda rekursion!
Hej Linda,
I have asked you after the last lecture if it is still possible to hand in my sollutions to the Hemtal1 ,and you said i can still upload it, because you reopened the Hand In Function. But somehow it is still not possible for me to upload it.
Now I've tried to fix the problem - please try again!
Det står i koden att man kan få tips i kursens FAQ. Var finns den?
Måste uppgiften Bakfram kortkonst lösas med Stack?
Hej!
Behöver "bakfram konst" fungera för godtyckligt antal kort eller räcker det med 13?
@Michael:
Nu ligger FAQ som undersida till labb2!
@Robin:
Nej, men man får inte förstöra sin kö....
@Emanuel:
Det finns ingen anledning att begränsa det till exakt 13 kort. Satsa på godtyckligt antal!
Hej!
Kommer denna kursbok även att användas under kursomgången som ges under vårterminen 2014?