Göm meny
Gäller för: VT24

Laboration 1: Introduktion till programmering

Laboration 1 består av tre delar:

  • Del 1: Terminalanvändning, textfiler, texteditor (redovisas)
    • använda terminalen och terminalkommandon,
    • söka efter information som har med programmering och relaterade områden,
    • använda en texteditor för att skriva skript (både shellskript och pythonskript)
  • Del 2: Består av uppgifterna Pythonuppgifter 1 som ni automaträttar och skickar in via Sendlab.
  • Del 3: Exekverbara pythonskript (redovisas)
    • Använda Python för att utveckla skript.

Redovisning, inlämning och kompletteringar

På redovisningstillfället är det Del 1 och Del 3 som ni ska redovisa.

Del 2 (Pythonuppgifter 1) lämnas in via SendLab. Se Inlämningar för mer information.

Del 1 och Del 3 genomförs och redovisas gemensamt.

Frånvaro från redovisningstillfälle kan kompletteras antingen genom att boka in redovisning på ett annat handlett laborationspass, eller genom att skicka in en screencast. Se Redovisning för mer information.

Checklista att gå igenom vid redovisning

Del 1

  • Förklara hur ni hittade filen i kurskatalogen. Vilka kommandon använde ni, vad gör de?
  • Navigera till katalogen ni kopierade filen till och kör den (mitt_skript.sh)
  • Förklara och ge exempel på en absolut sökväg.
  • Förklara och ge exempel på en relativ sökväg.
  • Visa hur ni (i terminalen) kan kopiera en fil från den katalogen ni står i till dess förälrakatalog genom att använda relativa sökvägar.
  • Visa hur det hade sett ut om ni använt er av absoluta sökvägar.

Del 3

  • Visa koden för pythonskriptet från del 3 och berätta vad ni lade till.
  • Demonstrera att pythonskriptet fungerar som det ska.

Förberedelser

Ni bör vara införstådda i allt lektion 1 tar upp innan ni påbörjar laboration 1.

Läs igenom instruktionerna och läs självständigt på om de termer och begrepp som nämns. Det är lite som att lära sig ett nytt språk: om man inte kan orden är det både svårt att göra sig förstådd och att förstå vad andra försöker säga!

För att kunna redovisa och lämna in laborationen måste ni anmält er pargrupp i Webreg. Det är via Webreg som era resultat på laborationerna kommer att rapporteras.

Anmäl er labbgrupp för VT1 (LAB1) i Webreg.

Del 1: Terminalanvändning och textfiler

Översikt

Denna uppgift består av en kort praktiskt övning, men den största delen av tiden kommer att gå åt till att söka information kring hur du genomför övningen. Efter den här kursen är målet att du ska känna att du behärskar den terminologi som behövs för att du på ett effektivt sätt kan söka och hitta information på webben om de flesta problem du stöter på relaterade till användning av Linux-miljön på LiU och programmering i Python.

För den praktiska övningen ska du göra följande steg. Stegen beskrivs utförligare i följande avsnitt.

  1. Skapa en katalog i din hemkatalog.
  2. Kopiera en angiven fil från kurskatalogen till er skapade katalog.
  3. Döp om filen.
  4. Köra en fil
  5. Redigera filen.
  6. Förbered VSCode för Python.

Du kommer att jobba från terminalen istället för från fönsterhanteraren för att bekanta dig med filer och mappar m.m. från ett mer tekniskt perspektiv.

OBS! All navigering och kopiering av filer ska göras i terminalen.

Lathund och söktips

Lite hjälp med att komma igång med kommandon och terminalen kan ni hitta i denna lathund: Lathund för UNIX och Emacs. Det är framförallt avsnitten 1 och 2 som är relevanta.

Söktips

Det operativsystem som körs på datorerna här på IDA är en version av Ubuntu Linux. För att få bättre träffar kan du därför lägga till ordet “linux” till din sökning. Andra ord som kan ge bättre resultat är “tutorial”, “guide”, “documentation”, “manual”.

Hjälpkommandon

Du kan även använda kommandot som visar manualsidor för kommandon: man följt av ett kommando, t.ex.

$ man ls

För att få mer information om kommandot ls. För att avsluta visning av manualsidan trycker du på tangenten q på tangentbordet.

De flesta kommandon har en inbyggd hjälptext som man kommer åt genom att ange flaggan -h eller --help, t.ex.

$ man --help

Du kan även läsa på IDAs sidor med systeminformation för studenter: https://www.ida.liu.se/local/students/index.sv.shtml

OBS! Kurskatalogerna i Linuxmiljön monteras vid behov (vilket inte är ett standardbeteende). Detta betyder att om ingen användare använt katalogen på ett tag så kommer den inte synas i /courses/. Om du försöker besöka katalogen direkt t.ex. med cd /courses/TDDE44 så kommer systemet att göra katalogen tillgänglig för åtkomst om den inte var det sedan tidigare.

Steg 1: Skapa en katalog i din hemkatalog

Öppna ett terminalfönster. Skapa sedan en katalog där du kan ha filer som du jobbar med i denna uppgift. Förslagsvis skapar du en katalog för denna kurs i din hemkatalog och sedan en underkatalog till den för denna uppgift.

Användbara kommandon: ls, cd, mkdir, pwd

Steg 2: Kopiera fil från kurskatalogen

I kurskatalogen (/courses/TDDE44) kan du hitta katalogen kursmaterial/laboration1. I denna katalog olika filer i olika kataloger. Katalogernas och filernas namn har ingen betydelse för uppgiften. Er uppgift är att hitta den fil vars innehåll börjar med följande rader:

#!/bin/bash

# Rader som börjar med ett # tolkas som kommentarer

och slutar med följande rad:

# Du har nu hittat rätt fil.

Kopiera den filen till den katalog som skapades i det tidigare steget.

Användbara kommandon: head, tail, cat, less, grep, cp

Steg 3: Byt namn på filen

Döp om filen du kopierade till mitt_skript.sh. I Unix-liknande miljöer som Linux finns det dock inget “döp om”-kommando utan man använder kommandot mv som även används för att flytta filer och kataloger. Man kan tänka på det som att man flyttar innehållet i filen till en ny fil med ett annat namn.

Steg 4: Kör filen

Filen du kopierat innehåller text med skalkommandon, samt information på första raden som gör att kommandoskalet ska förstå att det innehåller skalkommandon.

Efter att du döpt om filen, prova att skriva namnet på filen som ett kommando i terminalprompten och se vad som händer:

$ mitt_skript.sh

För att kunna köra filen och använda den som ett kommando behöver den vara exekverbar av dig, dvs du behöver ha exekveringsrättigheter. Ta reda på hur man med hjälp av kommandot ls tar reda på vilka filrättigheter som är satta.

Förrutom att du behöver ha exekveringsrättigheter för filen, behöver du också anropa filen på rätt sätt.

Eftersom det är fullt möjligt att döpa filen till namnet på ett systemkommando som t.ex. ls vill man försvåra missbruk genom att kräva att användaren måste skriva ./ för att kunna köra skript som ligger i arbetskatalogen.

Om du har exekveringsrättigheter för filen, prova att köra den med

$ ./mitt_skript.sh

Om du inte har exekveringsrättigheter för filen, ta reda på hur du ger dig själv det med kommandot chmod.

Steg 5: Redigera mitt_skript.sh

Starta Visual Studio Code. Öppna sedan filen du kopierade och bytte namn på och följ instruktionerna i filen.

Steg 6: Förbered VSCode för Python

Kopiera filen /courses/TDDE44/kursmaterial/settings.json till ~/.config/Code/User/settings.json. Var noga med att se till att båda personerna i er labbgrupp gör detta så att ni inte har miljöer som beter sig olika beroende på vem som är inloggad.

Del 2: Automaträttade pythonuppgifter

Nu när ni kan köra kommandon i terminalen, kopiera och redigera filer, så kan ni göra de första Pythonuppgifterna!

Pythonuppgifterna lämnas in tillsammans i pargrupp, se Inlämningar.

En rekommenderad arbetsgång är att skriva koden för pythonuppgifterna var för sig och testa er kod utan att köra rättningsskriptet. Det är viktigt ni lär er hur man testar sin kod - ni kommer oftast inte ha ett rättningskript ni kan använda. Försök att så långt som möjligt rätta fel i er kod på egen hand. Kör ni fast kan ni diskutera uppgiften med er labpartner, eller be om hjälp från en assistent. När ni båda har löst uppgifterna diskuterar ni era respektive lösningar och sätter ihop en gemensam inlämning.

Ett annat alternativ är att arbeta tillsammans i ert labbpar och lösa uppgifterna tillsammans.

När ni har en gemensam lösning kör ni rättningsskriptet.

Del 3: Pythonskript

Den sista delen av laboration 1 handlar om att skripts som skrivs i Python också kan köras från terminalen.

  1. Kopiera filen /courses/TDDE44/kursmaterial/laboration1/pythonskript.py till lämplig katalog i din hemkatalog.
  2. Se till att den inloggade användaren rätt att exekvera filen.
  3. Kör filen.
  4. Öppna filen och följ instruktionerna som finns där.

Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2024-01-08