Göm menyn

TDDC91 Datastrukturer och algoritmer

Laborationer


Laborationerna utförs på IDAs linux-system, men den programvara som krävs för att genomföra labbarna kan laddas ner gratis på nätet och ni kan göra labbarna på egen dator. Men anmäl er ändå i webReg, annars kan assistenterna inte registrera era resultat. Redovisning skall göras på IDA's system.

Laborationsuppgifter

Läs HELA denna sida innan du påbörjar dina laborationsuppgifter.
Laborationsuppgifterna är fyra till antalet och finns beskrivna i ett laborationskompendium.

Policy och regler för datorlaborationer vid IDA

Här finns IDAs policy och regler för datorlaborationer.

Automaträttning

Som en del i ett pedagogiskt utvecklingsprojekt finansierat med medel från Programnämnden för data- och medieteknik (DM) vid LiTH, genomfördes ett försök med ett automaträttningssystem under 2012 års labbserie i DALG-kursen. Då försöket togs väl emot kommer vi att använda oss av automaträttning av labbarna i år igen. Laborationerna kommer att finnas i onlinedomaren Kattis. För att vi ska kunna se era inskickningar behöver ni anmäla er till kursen även i Kattis: Gå till kursens sida i Kattis (live när terminen startar) och logga in med liuid, så dyker det upp en anmälningslänk. För vidare information om hur redovisningarna ska gå till se labbkompendiet.

Bra Kattis-länkar
  • Kursens sida på Kattis.
  • Komma igång med Kattis.
  • Observera att Kattis inte hanterar Javafiler med package-deklarationer. Om du har din labb i ett paket måste du alltså låta bli att ta med paketdeklarationen när du skickar filerna till Kattis.
Länkar till laborationerna i Kattis

Inskickning av laborationer

OBS! Gör detta -innan- du påbörjar dina laborationer!
I denna kurs används ett nytt system för labinlämning som vi valt att kalla sendlab. Detta system kommer hjälpa er att hålla koll på er kod med hjälp av IDAs gitlab-server.

För att börja använda systemet kan du öppna en terminal och köra föjande kommando:

	/home/TDDC91/sendlab register
	
sendlab kommer då fråga dig efter din privata gitlabnyckel. Det är en kod som används för att komma åt information i gitlab och även för att exempelvis skapa nya projekt. För att hitta din privata nyckel går du in på följande adress: https://gitlab.ida.liu.se/profile/account. Om du inte redan är inloggad på gitlab kommer du då till denna sida:
Inloggining på gitlab
Klicka på länken för inloggning på LiU-ID och logga in via CAS (dvs vanliga LiU-ID + lösenord).
Din nyckel hittar du sedan i det markerade fältet nedan. Kopiera nyckeln och klistra in den i terminalen som kör sendlab.
Privat gitlabnyckel markerad

Kommandon i sendlab

Här är en sammanställning av kommandona som finns i sendlab utifrån vad man vill använda det till

Påbörja ny lab

För att påbörja en ny lab körs kommandot ~TDDC91/sendlab start <LABNAMN> där <LABNAMN> byts ut mot namnet på en lab. Exempelvis kan kommandot vara
~TDDC91/sendlab start Datum
            
För att påbörja labben med namn Datum.
Det som händer nu är att det skapas en katalog med namn ~/TDDC91/Datum. I denna katalog kommer även eventuella givna filer för labben finnas tillgängliga. I detta skede skapas även ett projekt i gitlab för att versionshantera labben.

Lista labbar

Om du är osäker på vilka labbar som finns i kursen kör du kommandot ~TDDC91/sendlab list

Spara ändringar till gitlab

För att få filer att bli versionshanterade samt spara era ändringar till gitlab kör ni kommandot ~TDDC91/sendlab save. Systemet kommer då fråga dig efter vilka filer du vill spara.

Redovisa labbar och skicka in kompletteringar

För att redovisa kör du kommandot ~TDDC91/sendlab send. Vid en första redovisning kommer den fråga efter ett engångslösenord som din assistent matar in. Vid komplettering är det bara att skicka själv.

Hämta uppdateringar

Om ert gitlabprojekt har uppdaterats av någon anledning (oftast genom att er assistent lagt upp kommentarer) kan ni uppdatera er kod med kommandot ~TDDC91/sendlab load

Se kommentarer

Er assisstent lägger kommentarer direkt i koden eller i en separat textfil. Ni kan såklart se dessa kommentarer direkt i koden, men det finns även ett kommando för att visa dessa i terminalen.
~TDDC91/sendlab diff. Utskriften kan vara lite svår att tyda, men enkelt sett så visas kommentarerna med grön text

Eftersom ni nu startat första labben (och kanske även andra) kommer ni först behöva köra kommandot start, därefter flytta in filerna som ni skapat i den katalog som generaras av systemet (vanligen ~/TDDC91/<LABNAMN>) och därefter redovisa med send

OBS!: Se till att köra kommandot ~TDDC91/sendlab load om koden blivit uppdaterad av någon (exempelvis om en assistent gett kommentarer) innan ni börjar göra ändringar i koden.

Deadline

Laborationerna skall vara redovisade senast vid första tentamenstillfället. Det är iofs möjligt att redovisa laborationerna senare, men endast i samband med kursens omtentamenstillfällen. Kontakta i så fall laborationsassistenten i god tid. Om laborationskursen inte är godkänd i sin helhet vid andra omtentamenstillfället skall nästa års laborationskurs göras i sin helhet.

Kodskelett

Kodskelett för labbarna finns i biblioteket /home/TDDC91/code.

 


Sidansvarig: Magnus Nielsen
Senast uppdaterad: 2019-08-31