Till KTH:s startsida Till KTH:s startsida

Laboration 1

Laboration 1 - Python: Klasser, filer och listor

SimaManager

Under Applications och sedan CSC hittar du SimaManager. I fönstret som öppnas kan du välja kursen tilda. Denna kö använder du när det är full rulle under labbarna och du vill få tag på en assistent. Är det lugnt så är det bara att vifta så kommer vi!

Formaliteter

Laborationerna görs normalt i grupper om två (om det finns utrymme kan du labba ensam, men större grupper är inte tillåtna).

  • Hederskodex.
    1. Läs igenom hederskodexen
    2. Klicka på rosa knappen "Ställ en fråga" och skriv ett inlägg där du bekräftar att du läst hederskodexen ((ska göras av varje kursdeltagare).

  • Öppna ett terminalfönster.
    Under Applications hittar du Accessories och därunder Terminal. Prova att skrivawhoami i terminalfönstret för att se vilken av er som är inloggad just nu.

  • Gör en gemensam labbkatalog där du och din labbkamrat kan jobba.
    Fysiskt skapas katalogen med mkdir hos en av er. Denne måste också sätta accessrättigheter med
      fs sa KATALOGNAMN LABBKAMRAT rlidwk 
    Allt som återstår är att labbkamraten nu loggar in eller gör su (switch user) i ett nytt teminalfönster och skapar en symbolisk länk med
      ln -s ~LABBKOMPIS/KATALOG
    till den gemensamma katalogen.

    Vid redovisning ska du kunna förklara hur en symbolisk länk fungerar.

  • Starta Python.
    Vi rekommenderar att du använder:
    Emacs + Terminal
    Under Applications hittar du Accesories och därunder GNU Emacs och Terminal. Skriv programmet i Emacs och kör det i Terminalen med kommandot:python3 programmet.py

    Du kan också mjukstarta med IDLE (rekommenderas dock inte ihop med Tkinter).
    Under Applications hittar du Programming och därunder IDLE (using Python-3.1)

Uppgifter

Spara filen fsdata.txt (se tabellen nedan) på din katalog tilda13.
Där finns data för dagens gympapass på Friskis & Svettis Stockholm

fsdataUTF8.txt fsdataISO8859.txt fsdata.txt (anvands endast i nodfall)

  1. Skriv en egen klass som representerar ett gympapass.
    Klassen ska ha attributen lokal, tid, passtyp, rum, ledare och platser.
    Klassen ska ha minst fem metoder, bland dem metoden __str__

  2. Skriv en funktion som läser in data från filen fsdata.txt, skapar gympapass-objekt, och lagrar objekten i en lista. (lista = []).

  3. Skriv ett huvudprogram där man kan söka efter önskat pass.

Vid redovisning ska du kunna förklara hur klasser/objekt/listor/filhantering fungerar i Python.

Betyg

betyg E: Du kan svara tillfredsställande på frågor om labben, ditt program löser uppgiften.

betyg C: Kraven för E uppfyllda + Labben inlämnad via KTH Social senast onsdag 11 sept kl 20.00 och redovisad på labbtillfälle 12 sept.

betyg A: Kraven för C uppfyllda + Perfekt program + Testfall

Redovisning

Labben redovisas muntligt av bägge gruppmedlemmarna.
Bokningslistor läggs upp måndag 9 sept.

Väl labbat av ......................................... medger....................... den ...............

Administratör Linda Kann skapade sidan 1 september 2013

Linda Kann taggade med labb1. 1 september 2013

Linda Kann flyttade sidan från tilda13 2 september 2013

Lärare Linda Kann ändrade rättigheterna 2 september 2013

Kan därmed läsas av alla och ändras av lärare.

Lärare Linda Kann ändrade rättigheterna 8 september 2013

Kan därmed läsas av lärare och ändras av lärare.

Linda Kann flyttade sidan från Tillämpad datalogi (DD1320) 8 september 2013

Administratör Linda Kann ändrade rättigheterna 8 september 2013

Kan därmed läsas av alla och ändras av lärare.
kommenterade 9 september 2013

Hej, vad innebär talen i attributet platser?

kommenterade 10 september 2013

Hej, vad innebär ett "Perfekt" program och ett testfall?

kommenterade 10 september 2013

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? 

Administratör kommenterade 10 september 2013

@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).

Administratör kommenterade 10 september 2013

@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).

Administratör kommenterade 10 september 2013

@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.

kommenterade 10 september 2013

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 :)

kommenterade 11 september 2013

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?

Administratör kommenterade 11 september 2013

@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.

Administratör kommenterade 11 september 2013

@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!

kommenterade 11 september 2013

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.".

Administratör kommenterade 11 september 2013

@Johan

Tack för utmärkta debuggingtips (som jag ska skicka vidare till KTH Social-gänget)!

kommenterade 11 september 2013

Det måste vara det för jag har inte det alternativet. Jag ska se med min studievägledare.

kommenterade 11 september 2013

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.

Administratör kommenterade 11 september 2013

@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 :-)

kommenterade 20 december 2013

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! :)

Lärare kommenterade 21 december 2013

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.

kommenterade 21 december 2013

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! :)

Lärare kommenterade 21 december 2013

Vad bra, hoppas du får ett skönt jullov!