Göm menyn

TDDC70 Datastrukturer och algoritmer

Muddy-cardsutvärdering


Datum: 2013-09-27

Antal svar: 24

Föreläsningar/tenta:

  • Bra föreläsningar (6 stycken)
  • Bra kurs (4 stycken)
  • Mer exempel/tentauppgifter (2 stycken)
  • Bra tempo (2 stycken)
  • Bra takt om man inte haft andra kurser som tar för mycket tid
  • Skulle gå att ha högre takt (kanske svårt då folk inte svarar på frågor)
  • Svår kurs
  • Bra med visualisering av datatyper
  • Bra med applets på kurshemsidan
  • Gärna fler exempel på rotationer i träd
  • Gärna en sammanfattning av de olika ADT och vad de gör
  • Fattade inte vad cyberdollargrejen löste
  • Föreläsaren behöver inte fråga oss om komplexitet så mycket
  • Ännu mer exempel från verkliga tillämpningar

Lektioner:

  • Fler lektioner (2 stycken)
  • Räkneuppgifter kan kännas lite "utanför"
  • Lektionsupgifterna är svåra
  • Uppgifterna på komplexitet är svåra
  • Kanske testa att ha lektioner i datasal?

Labbar:

  • Bra/roliga labbuppgifter (4 stycken)
  • Bra assistent (IT)
  • Borde vara enbart elektronisk inlämning av labbar

Bonusproblem:

  • Bra uppgifter
  • Bra att det finns bonusuppgifter
  • Uppgifterna för svåra för antalet poäng man kan få

Kattis:

  • Mer info vid "Wrong Answer" och andra fel (5 stycken)

Tommys kommentarer:

Det är svårt att ge en kurs på ett sätt som tilltalar alla. Av kommentarerna ovan tycker jag mig ändå kunna utläsa att jag träffat någorlunda rätt. Naturligtvis tar jag till mig av er feedback och hoppas att ni kommer att uppleva att så är fallet också. Nedan följer mer specifika kommentarer.

Föreläsningar:

Min tanke med föreläsningarna är just att det är där teorin ska presenteras. Jag vill inte att inriktningen på föreläsningarna ska vara att lära sig att lösa uppgifter, det är det lektionerna är till för. Vi är precis i slutet av ett block i kursen där ett helt menageri av abstrakta datatyper och datastrukturer introducerats och granskats. Det är helt i enlighet med kursmålen, men kan kanske göra den delen av kursen rätt så fyrkantig eftersom stoffet tenderar att vara av enbart deskriptiv karaktär. Detta återspeglas också i lektionsuppgifterna som hör till den här delen av kursen; de handlar mest om att bekanta sig med nya strukturer och operationer på dessa. Däremot är det så att så gott som alla datorprogram behöver någon/några av dessa strukturer, det är därför ni ska lära er hur de fungerar!

Lektioner:

Antalet lektioner bestäms förstås till stor del av våra begränsade resurser. Jag skulle själv gärna se riktiga lektioner istf räknestugor, men det är också en resursfråga. Det verkar finnas ett visst behov av fler räknestugor/lektioner, jag tar med mig önskemålen.

Lektionsmaterialet består av ett kompendium med 56 uppgifter (varav flertalet är gamla tentatal, vilket till viss del kan förklara att de upplevs som svåra) samt 53 rekommenderade uppgifter ur kursboken. Till uppgifterna i kompendiet finns facit. För att man ska få ut maximal nytta av lektionerna behöver man naturligtvis ha läst på relevanta kapitel i kurslitteraturen innan man angriper övningsuppgifterna.

Labbar:

Jag försöker hela tiden flytta kursen mot att förbruka en mindre och mindre mängd papper. Ett logiskt nästa steg är att sköta labbinlämning helt elektroniskt. Än så länge finns det dock inte något bra system för att märka upp er inskickade kod och ge kommentarer.

Bonusproblem:

Det verkar som att bonusproblemen i huvudsak upplevs som något positivt. Det är kul att se att så många är med och löser uppgifterna! Vi får se hur många som till slut väljer att göra uppgifterna som krävs för att få bonuspoäng på tentan och ifall den arbetsinsatsen kan anses vara rimlig.

Åsikter om specifika bonusproblem tar vi tacksamt emot!

Kattis:

Överlag verkar Kattis fungera bra. Dock finns en signal i utvärderingen om att det skulle vara bra ifall Kattis gav mer ledtrådar om vad som är fel när man får "Wrong Answer" (eller andra felmeddelanden). På labbarna ser det i dagsläget ut så att, om man är registrerad som student på kursen, så får man en mer eller mindre omfattande beskrivning av det testfall man fastnade på om man klickar på submissionnumret i Kattis. I vissa fall står där explicit vad det är som testas och i andra fall handlar det mer om vilken funktionalitet som testas eller vilken typ av kod som exekveras.

Anledningarna till att inte ersätta Kattis med att ge testdatat och ett testprogram tillsammans med kodskeletten är flera. För det första går det då så klart att passera testerna genom att bara skriva en stor tabell, vilket försvåras (men inte omöjliggörs) när Kattis istället har testdatat. Naturligtvis blir inte en sådan labb godkänd av assistenten, men vi vill ändå undvika att den situationen uppkommer. Detta leder in på det andra skälet att inte avslöja exakt hur testdata ser ut; vi vill inte att fokus ska hamna på att klara av en uppsättning kända tester --- istället ska fokus vara på att labbkoden uppfyller den specifikation som finns i labbkompendiet. Sedan understödjer Kattis genom sina tester, så långt det går, att koden uppfyller precis den funktionaliteten. Ett tredje skäl är att om ni inte känner till exakt hur vi testar er kod tvingas ni bli duktiga på att felsöka och att skriva egen testkod --- något som kommer att vara mycket viktigt i er framtid som yrkesverksamma programmerare.

Kattis återkoppling på bonusproblemen är sådan återkoppling som används på "riktiga" programmeringstävingar. Man skulle kunna tänka sig att införa mer utförlig återkoppling på åtminstone föreläsningsproblemen, men det är ett mycket tidskrävande arbete.

Till de som har blivit trötta på att det är mycket att fylla i vid inskickning till Kattis kan vi rekommendera att använda submit-programmet.

Önskemålen om att låta Kattis döma "Presentation Error" tar vi med oss. Det handlar om att företaget som tillhandahåller Kattis kanske behöver göra utveckling för att stödja viss funktionalitet (vilket kostar pengar).

Tommy


Sidansvarig: Tommy Färnqvist
Senast uppdaterad: 2013-10-01