Laboration 0: Introduktion
- Inlämningsdatum 28 sep 2023 av 18:00
- Poäng 1
- Lämnar in en filuppladdning
- Filtyper pdf, txt, py, jpg och m
Välkommen till den första labben i DD1319!
I denna inledande labb tar vi upp:
0. Ubuntu
1. Hederskodex
2. Canvas
3. Parprogrammering
4. OLI
5. Python
6. Terminal
Checka av att du har gjort alla punkter ovan innan du redovisar!
Du kommer att bli tilldelad en övningsgrupp och veckans labbkompis. Gör alla uppgifterna nedan och redovisa för din lärare under labbtiden! Vid redovisningen ska du kunna uppvisa legitimation.
0. Ubuntu
Det är varken Windows eller Mac i datorsalarna som vi använder i denna kurs, utan operativsystemet Ubuntu (en variant av Linux).
- Logga in med ditt vanliga KTH-användarnamn och lösenord. (Om du glömt ditt lösenord: gå till KTH Entré för att byta. Ta med leg.)
- När du lyckats logga in är skärmen ganska tom.
Längst nere till vänster ser du denna ikon
Spara nu de appar du kommer att använda ofta i vänstermenyn:
- Sök efter Firefox, högerklicka, och välj Add to Favorites.
- Gör samma sak med Terminal (I Ubuntu använder man ofta Terminalfönstret för att hantera filer och köra program)
- Gör samma sak med IDLE (för att kunna skriva och köra Python-program)
Logga nu ut och låt din labbkompis logga in. Gör sedan om punkterna ovan så att ni bägge har alla tre ikonerna i vänstermenyn.
Nu kan ni gå tillbaka och fortsätta med resten av Laboration 0.
1. Hederskodex
På EECS används en gemensam hederskodex för alla kurser.
- Läs igenom hederskodexen.
- Skriv ett inlägg i Diskussioner där du bekräftar att du läst hederskodexen (ska göras av varje kursdeltagare).
- Diskutera följande situationer med din labbkompis. Bryter agerandet mot någon av reglerna i hederskodexen? Vilken regel? Vad kan det få för konsekvenser?
- Carina har influensa så Fuad gör labben på egen hand. Sen redovisar dom labben tillsammans.
- Shirin har gjort en extra smart lösning till sin P-uppgift. Hon lägger upp den på webben så att andra kan lära sig av den.
- Charlie och Kim pluggar tillsammans inför provet. Dom löser varannan uppgift och diskuterar sedan lösningarna med varandra.
2. Utforska kursen i Canvas 
- Gå till Startsidan och prova alla länkar.
- Vilken information kan du se under Moduler?
- Lägg in en bild på din profil i Canvas (det måste inte vara en bild som föreställer dig).
- Är du inloggad på KTH? Är du också inloggad på Canvas? Hur syns skillnaden?
- Hur ser du vilka uppgifter som är aktuella denna vecka?
Mer information om Canvas finns i Canvas Guides Links to an external site.
3. Parprogrammering
Laborationerna görs i grupper om två. Vid första labbtillfället blir du placerad i en grupp och tilldelad en labbkompis. Varje vecka kommer vi att ordna om i grupperna så att du får en ny labkompis.
Om du kan mer programmering än din labbkompis - öva dina pedagogiska färdigheter!
- Läs på om parprogrammering.
- Diskutera med din labbkompis hur ni ska organisera ert arbete. Gör sedan detta Parprogrammeringsquiz
4. OLI 
I denna kurs kommer vi att använda OLI.
OLI är en plattform där du kan läsa om de olika modulerna för kursen och sen få göra test på programeringskod kopplat till varje modul. Om du har arbetat aktivt med materialet och gjort veckans tester före deadline får du en bonuspoäng i kursen (oberoende av ditt resultat på testet).
Du kan nå OLI via Moduler i Canvas vänstermeny.
5. Python 
I denna kurs kommer du att arbeta mest med programspråket Python. Det är ett språk som lämpar sig väl för nybörjare. Mer om Python kan du läsa på Pythons hemsida Links to an external site.
- När du använder en dator i en datorsal på KTH kan du öppna utvecklingsmiljön IDLE genom att klicka på IDLE3-ikonen i din vänstermeny.
- När du jobbar på egen dator så kan du installera Python från https://www.python.org/downloads/ Links to an external site.
IDLE
IDLE står för Integrated Development and Learning Environment. Det är ett program där du kan redigera och köra dina Python-program. (Om du hellre vill använda en annan utvecklingsmiljö så går det förstås bra!)
Shell-fönstret
Fönstret IDLE Shell är en Python-interpretator, där du direkt kan skriva in en sats och utföra den. Här hamnar också utskriften från program du kör.
Testa nu att skriva satser direkt i Python Shell! Räkna ut hur många timmar denna kurs motsvarar (1,5 hp motsvarar 40 timmar).
Program-fönstret
Längst upp i fönstret kan du välja bland menyerna File, Edit, Shell, Debug, Options, Windows och Help.
Välj nu File -> New File så öppnas ett nytt fönster där du kan skriva in och redigera program.
Skriv ett litet Python-program som bara innehåller satsen
print("Hello world!")
För att spara det du skrivit väljer du
File -> Save
Spara och provkör! Dina Python-program ska alltid ha suffixet .py (t ex Layton.py).
Om du senare vill öppna en fil som du sparat kan du använda Open...
□ Uppgift: Ett textbaserat Pythonprogram
- Öppna IDLE
- Gå till menyn File och välj New File
- Skriv in programmet nedan och spara som multiplikation.py
def main(): # Skriver ut en multiplikationstabell n = 5 print() print("Multiplikationstabell för", n) print("-------------") for i in range(1, 10): print(i*n) print() main()
- Provkör med Run -> Run Module
- Ändra så att multiplikationstabellen för 9 skrivs ut istället
- Snygga till streckraden under rubriken
- Under avsnittet Parprogrammering ovan bestämde ni var ni skulle spara kod så att ni bägge kan komma åt den. Spara programmet där, och testa så att ni bägge kan lägga upp filer.
□ Uppgift: Ett Pythonprogram med grafiskt gränssnitt
- Skriv in programmet ovan (Copy-Paste fungerar) och spara det som konvertera.py
- Provkör med några olika värden. Det verkar vara något fel med konverteringen.
- Ändra så att programmet konverterar rätt!
#Konverteringsprogram med grafiskt gränssnitt from tkinter import * def inches2cm(inch): return 1*inch def konvertera(indata): utmatning["text"] = str(inches2cm(indata)) STORLEK = 20 TIMES = ("Times", STORLEK) COURIER = ("Courier", STORLEK) rot = Tk() rot.title("Lindas konverteringsprogram") huvudRam = Frame(rot) huvudRam.grid() info = Label(text = "Konvertera inches till cm", font = TIMES) info.grid(row = 0, column = 0, padx = 5, pady = 5) inmatning = Entry(font=COURIER, width = 11) inmatning.grid(row=1, column = 0, padx = 5, pady = 5, sticky = E) ledtext = Label(text = "inch", font=TIMES) ledtext.grid(row = 1, column = 1, padx = 5, pady = 5, sticky = W) utmatning = Label(font=COURIER, width = 4) utmatning.grid(row=2, column = 0, padx = 5, pady = 5) svarstext = Label(text = "cm", font=TIMES) svarstext.grid(row = 2, column = 1, padx = 5, pady = 5, sticky = W) knapp = Button(text = "Konvertera", font = TIMES, command = lambda: konvertera(float(inmatning.get()))) knapp.grid(row = 3, column = 1, padx = 5, pady = 5) rot.mainloop()
6. Terminal 
I Ubuntu använder man ofta Terminalfönstret för att hantera filer och köra program.
Läs avsnittet Why use the terminal? (fram till Starting a Terminal). Om du vill kan du översätta texten till svenska med ChatGPT Links to an external site. ("Översätt till svenska" + klistra in texten) eller Google translate Links to an external site..
- Öppna ett terminalfönster genom att klicka på Terminal-ikonen i vänster-menyn.
- Skriv några tecken i terminalfönstret och tryck på Retur/Enter. Vilken felutskrift får du?
Läs avsnittet File and directory commands (fram till Running a File Within a Directory)
- Prova alla kommandon i avsnittet i ditt eget terminalfönster.
- Testa också att använda wildcard: tecknet * matchar vilka tecken som helst.
Läs avsnittet Save on typing (fram till Change the text).
- Skapa en ny katalog för programmeringsteknikkursen (kalla den prgcl).
- Använd kommandot cd för att gå till katalogen prgcl (så att prgcl blir aktuell katalog).
- Skapa nu sju underkataloger labb0, labb1, ... ,labb6
- Gå upp till din hemkatalog igen.
- Flytta dina python-program till din underkatalog labb0
- Hur ser ditt filträd ut? Rita, och markera vad som är filer och vad som är kataloger.
- Genom att skriva cat filnamn kan du visa en fil på skärmen. Prova! (kanske behöver du använda cd först...)
- Testa till sist att köra ett pythonprogram genom att skriva python3 programnamn.py
Redovisning
- Lämna in dina program multiplikation.py, konvertera.py här i Canvas.
- Tryck på knappen "Starta uppgift" så kommer du till inlämningssidan.
- Ser du ingen inlämningsknapp? Kontrollera att du är inloggad i Canvas.
- OBS: Bägge i gruppen ska lämna in!
- Visa för din lärare att du gjort alla delarna av labben och se till att du blir avprickad på listan.
Nästa vecka ska du göra Labb 1. Läs igenom labben och planera tillsammans med din labbkompis (samma som för denna labb). |