Till KTH:s startsida Till KTH:s startsida

Labb 1

Laboration 1

Innehåll: 

  • Introduktion till Ubuntu
  • Python - kapitel 1-3 i kursboken: kommentarer, datatyper, variabler, villkor, print, input, if-else

Labben redovisas på veckans övning. Det Pythonprogram du skriver kan ge 0-2 bonuspoäng (beroende på hur väl det uppfyller kraven). 
Instuderingsfrågorna redovisas med ett prov, som också kan ge max 2 bonuspoäng.

Parprogrammering

Laborationerna görs i grupper om två. Under denna kursomgång är parprogrammering obligatoriskt. 

  1. Läs på om parprogrammering på sidan http://www.csc.kth.se/tcs/projects/cerise/parprogrammering/riktlinjer.html
  2. Byt roller ungefär var 20:e minut.
    • Se till att båda i paret har loggat in på http://parkour.csc.kth.se så att ni kommer med i systemet.
    • Låt en i paret logga in i verktyget och mata in sin labbkompis, kurs och labbnamn i sina respektive fält. Klicka start.
    • Klicka på timer. Här kan ni starta en timer för den person som är förare, byta förare eller stoppa timern när ni slutar jobba.

Introduktion till Ubuntu

Datorerna i CSC:s labbsalar har operativsystemet Ubuntu (en variant av Linux). Syftet med denna labb är att du ska bli hemmastadd i denna datormiljö, som används i många av CSC:s kurser.

Ubuntu - Uppgifter och frågor

  1. Läs "Inledning" s. 1-3 i Unixhäftet
    • Byt bakgrundsbild!

  2. Läs "Inloggning" s. 5-6
    • Hur mycket minnesutrymme har du på din hemkatalog?

  3. Läs "Grafiskt gränssnitt" s 7-9
    • Vad kan musens mittknapp användas till?

  4. Läs "Ubuntu" s 10-15
    • Titta igenom Applikationsmenyn.
    • Lägg upp ikoner/genvägar för följande applikationer: Terminal, Python3, och Chrome.
    • Vad heter skrivaren i den sal du sitter i? Hur tittar du på utskriftskön?

  5. Läs "Kommandoraden i UNIX" s 24-25
    • Öppna ett terminalfönster (applikationen "Terminal")
    • Byt lösenord

  6. Fortsätt läsa "Kommandoraden i UNIX" s 26-28
    • Skapa en ny katalog för programmeringsteknikkursen (kalla den prgcl).
    • Gå till den nya katalogen (så att prgcl blir aktuell katalog).
  7. Fortsätt läsa "Kommandoraden i UNIX" s 29-32
    • Vad är din utskriftskvot?
    • Hur ändrar du rättigheterna på en katalog?
  8. Fortsätt läsa "Kommandoraden i UNIX" s 33-37
    • Hur ser ditt filträd ut? Rita, och markera vad som är filer och vad som är kataloger.

  9. Läs om "Teckenkodning" s 9
    • Hur gör du för att konvertera en fil från utf-8 till iso8859-1?

     

Hederskodex

På CSC används en gemensam hederskodex för alla kurser. Du ansvarar själv för att läsa igenom och följa den.

Resultat

Gå till rapp och kolla att kursen finns med i din kurslista. Logga in med ditt kth-konto (som för Mina Sidor).

Dropbox

I denna kursomgång provar vi att använda Dropbox för att skapa en gemensam mapp för gruppen. När du är klar med en labbuppgift ska du lägga in programmet i den gemensamma mappen, så att din assistent och dina gruppkompisar kan titta på det.

Python (i IDLE)

Starta IDLE för Python 3 (se Unixlathunden kap 9.2). 
Fönstret "Python Shell" som öppnas är en Python-interpretator, där du direkt kan skriva in en sats och se vad som händer.

Längst upp i fönstret kan du välja bland menyerna File, Edit, Windows och Help. 
Välj 
     File -> New Window 
så öppnas ett nytt fönster där du kan skriva in, redigera, spara, och köra Python-program. 

För att spara det program du skrivit in väljer du 
    File -> Save As

Ge alltid dina program suffixet .py (t ex Layton.py).

När du är redo att provköra programmet väljer du 
    Edit -> Run Script

eller snabbtangent F5. 

Utmatningen från programmet kommer att synas i Shell-fönstret.

Python - Uppgifter och frågor

Vilket är billigast - månadskort eller reskassa?

  • Titta på SL:s biljettpriser
  • Skriv ett program där man kan ta reda på vilken typ av biljett som är billigast!
  • Du får själv bestämma hur avancerat programmet ska vara (se Krav nedan för minimikrav).
  • Börja med att planera (på papper):
    1. Vad är indata respektive utdata till ditt program? Vilka typer av data är det?
    2. Vilka beräkningar behöver du göra? Skriv upp formlerna!
    3. Villket villkor ska du använda för att avgöra vad som är billigast?
    4. I vilken ordning ska alltihopa göras?
  • Nu är det dags att skriva programmet!
  • Tips: Skriv in en sats i taget, spara och provkör.

Testning

Nu ska du testa att ditt program fungerar som det ska. Lägg in en kommentar längst ner i programmet där du skriver upp vilka indata du provkört programmet med och vad de gav för utdata.

Krav

  • Variabler, input, print, if-else och kommentarer måste användas i programmet.
  • Programmet ska ha en kommentarer överst med författarnas namn och datum.
  • Variabelnamnen ska göra programmet lättare att förstå.
  • Testdata ska finnas med i kommentar sist i programmet.
  • Programfilen ska kopieras till gruppens Dropbox-katalog.

Instuderingsfrågor

  1. Vilka är de fem reglerna i hederskodexen?
  2. Vilken roll har navigatören i parprogrammering?
  3. Hur skriver man en kommentar i Python (två olika sätt)?
  4. Ge exempel på två olika datatyper. Hur tar man reda på vilken datatyp en variabel har?
  5. Vad är en variabel?
  6. Hur ger man en variabel ett värde?
  7. Hur läser man in ett ord till programmet?
  8. Hur får man programmet att skriva ut text på skärmen?
  9. Hur får man programmet att skriva ut ett variabelvärde på skärmen?
  10. Vad är det för vits med att låta programmet läsa in värden?
  11. På vilket sätt anger man vilka satser som ingår i if-satsens block?
  12. Måste man ha med else-delen i en if-sats?

Efter labben

Hur tycker du att ditt eget arbete med labben fungerade? Borde du ha gjort något annorlunda? Fundera en stund, och skriv upp några tips till dig själv inför nästa labb!

Frivilliga extrauppgifter

Fler villkor

Ändra ditt program så att det tar hänsyn till rabatter och reslängd (zoner)

GUI - grafiskt gränssnitt

Ladda ner programmet konvertera.py och provkör. 
Ändra sedan så att programmet istället räknar ut kostnaden för ett antal resor.
Glöm inte att byta titeln!