Till KTH:s startsida Till KTH:s startsida

Nyhetsflöde

Logga in till din kurswebb

Du är inte inloggad på KTH så innehållet är inte anpassat efter dina val.

I Nyhetsflödet hittar du uppdateringar på sidor, schema och inlägg från lärare (när de även behöver nå tidigare registrerade studenter).

Juni 2016
under HT 2015 oopk15

Christian Smith skapade sidan 19 oktober 2015

kommenterade 4 december 2015

Hej,

 När man i lab 6 ska skapa en iterator som ger element i Djupet-först ordning, är det då tänkt att iteratorn först skapar en intern lista som är sorterad i djupet-först ordning och returnerar element ur den listan, eller ska den istället, då next() anropas, leta upp nästa element enligt djupet-först algoritmen?

// Robert

Lärare kommenterade 4 december 2015

Den bör inte behöva skapa en egen lista, utan bara plocka element ur composite-trädet i rätt ordning.

kommenterade 13 december 2015

I A3 i lab 6 så står det att ens klass ska vara jämförbar med LinkedList vid instoppning och ArrayList vid uttag men när jag testkör prestandan för LinkedList och ArrayList bara så är ArrayList bättre än LinkedList i båda avseendena. Är det tänkt att vara så? För då blev uppgiften helt plötsligt mycket svårare.

Lärare kommenterade 13 december 2015

Arraylist kan vara snabbare än LinkedList för vissa tillämpningar, men inte alla. En av upgifterna ni ska lösa är att besvara den allra sista frågan i A3.2.

Lärare kommenterade 18 december 2015

Jag la ursprungligen upp länkar till cachade versioner av sidorna när den av KTH:s webservrar som labbsidorna låg på crashade för ett tag sedan. Eftersom webservern kom upp igen efter någon timme behövs de inte längre. Jag vill uppmärksamma er på att Googles version var från en tidigare kursomgång, och det fanns ett fåtal mindre skillnader i labblydelse. Man får förstås godkänt även om man råkat göra en äldre version av labben.

kommenterade 2 mars 2016

Kommer det komma upp restlabtillfällen? Jag har t.ex. lab 6 kvar som jag gärna skulle redovisa.

Lärare kommenterade 2 mars 2016

Info om restlabbar kommer efter tentan. Vi siktar på att ha extra tilfällen i period 4.

kommenterade 4 mars 2016

Hej!

I uppgift A2 i labb 6, ska Fysiker och Datalog-klasserna ligga i Human-klassen eller i separata "dokument"?

Lärare kommenterade 7 mars 2016

Det avgör du själv.

kommenterade 28 mars 2016

Hej!

Jag undrar när de extra redovisningstillfällena kommer att vara?

Var kommer den infon upp ifall det inte är bestämt ännu?

Tack!

kommenterade 28 mars 2016

Jag har lite problem med uppgift A3 i labb 6. ArrayList är snabbare än LinkedList både på att sätta in och ta ut element.

Lärare kommenterade 29 mars 2016

Extra tillfällen för redovisning kommer att anslås på kurshemsidan.

Lärare kommenterade 29 mars 2016

Ledning för labb 6:

Visa ett scenario där er klass är minst 1000 gånger snabbare för att köra pseudokoden ovan (dvs en körning innehåller först N st insättningar och sedan N st utplockningar) än att använda endera av de två andra List-typerna. De enda metoder som bör anropas i någon lista är add och get. För vilka typer av a()-metoder får ni störst förbättring?

kommenterade 31 maj 2016

Finns några redovisningstillfällen inplanerade innan sommaren?

Lärare kommenterade 31 maj 2016

Nu är kompletteringsmöjligheterna färdiga för i år. De som fortfarande har labbar kvar är välkomna till de ordinarie passen i nästa kursomgång, som börjar i november.

kommenterade 3 juni 2016

Innebär det att passen för DD1346 i detta schema inte gäller? https://docs.google.com/spreadsheets/d/1hQIQtWRH00fe6mXEXTao5o57yTMPndpR1H7axyPQvFQ/edit#gid=0

Lärare kommenterade 3 juni 2016

Schemat för labbveckan gäller, jag fick precis info om att vi kommer att ha en av kursens assar med där.

kommenterade 3 juni 2016

Okej, ska man boka tid i så fall, eller är det bara att dyka upp?

 
Mars 2016
under HT 2015 oopk15

Christian Smith skapade sidan 19 oktober 2015

kommenterade 15 mars 2016

Det verkar vara problem att läsa tentorna 2012-2013 på denna sida. Dessa tentor verkar ligga under CSC. Det är även problem att läsa föreläsningar 11 och 12. 

Lärare kommenterade 15 mars 2016

Jag har inga problem att komma åt tentorna via länken ovan, jag ska se om jag kan ta reda på vad som går snett.

kommenterade 15 mars 2016

Jonathan: Testa en annan webbläsare. Jag lyckas komma åt dem med Firefox, men inte med Google Chrome.

Det här problemet har uppstått för andra kurser också. Jag har ingen aning om vad det beror på.

Lärare kommenterade 15 mars 2016

Jag har inga problem med någon kombination av system/webläsare/nerladdare som jag har kunnat testa, så det borde finnas någon version som fungerar för dig.

En användare har tagit bort sin kommentar
kommenterade 16 mars 2016

Angående nyckelordet "synchronized"..

Från din föreläsning och tenta-facit verkar det som att när en tråd anropar en synkroniserad metod tar den låset för just den metoden.

Däremot, enligt oracle docs (https://docs.oracle.com/javase/tutorial/essential/concurrency/locksync.html) tycker jag det verkar som att om en tråd anropar en synkroniserad metod tar den det "intrinsiska låset" för hela objektet, aka ett lås som verkar på alla synkroniserade metoder i det objektet.

Vilket av dem har jag tolkat fel?

Lärare kommenterade 16 mars 2016

Om du deklarerar en metod som synchronized används objektets egna lås, och alla metodanrop på synkroniserade metoder i samma objekt använder alltså samma lås.

Om du däremot deklarerar ett enskilt kodblock som synchronized kan du explicit ange vilket lås som ska användas, och det är möjligt att låsa olika kodblock med olika lås.

kommenterade 16 mars 2016

Tack för svaret!

Varför, i så fall, är 3b) på den här tentan https://www.kth.se/social/upload/536a1db3f2765409e5cccce9/DD1346_140320.pdf inte trådsäker?

Lärare kommenterade 16 mars 2016

I 3b har vi en klassvariabel (static), som alltså är gemensam över alla instanser. Om tråd 1 anropar incA() på objekt A, och tråd 2 anropar incA() på objekt B, så kommer respektive anrop att låsas med olika lås, och kan alltså ske samtidigt, med interferens som en möjlig följd.

I 3c har vi sett till att alla objekt delar på samma lås, och det går alltså inte att komma runt låset genom att anropa t.ex incA() på ett annat objekt.

 
Oktober 2015
under HT 2015 oopk15

Christian Smith skapade sidan 19 oktober 2015

 
under HT 2015 oopk15

Christian Smith skapade sidan 19 oktober 2015

 
under HT 2015 oopk15

Christian Smith skapade sidan 19 oktober 2015

 
under HT 2015 oopk15

Christian Smith skapade sidan 19 oktober 2015