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

Generativ AI

TL;DR! Jag fattar att jag inte får lämna in uppgifter jag inte gjort själv! Ta mig till tipsen på hur jag kan använda chatbottar utan att fuska!

Hur ska man förhålla sig till verktyg baserade på LLM:er (Large Language Models, t.ex. GPT, Claude, Llama, Gemini, DeepSeek) i dagens verklighet? Du har kanske hört personer som Jensen Huang, VD på Nvidia och hedersdoktor på LiU, uttala sig om att ingen bör lära sig programmera längre eftersom “Generativ AI” kan lösa problemet åt dig.

Problemet

Till att börja med ska man idka lite grundläggande källkritik och titta på vilka de personer som säger sådant är, och vilka intressen de influeras av. Någon vars framgång bygger på att tillhandahålla beräkningskraft, datorcenter eller energi till datorcenter, är inte opartisk när hen förordar att vi ersätter effektiv mjukvara skriven av människor med energitörstig och beräkningstung dito skriven av ChatGPT.

För det andra är sanningen fortfarande att även om LLM:erna kan lösa många enklare programmeringsproblem så presterar de markant sämre i större system. Vad vi ser mer och mer är att dessa språkmodeller blir verktyg som kunniga programmerare kan ta hjälp av men inte förlita sig på. Dessa verktyg kan snabba på ens arbete markant, men behöver kunna rätta till de misstag de gör. För att kunna göra det måste man själv kunna förstå allt som verktyget skapar. Med andra ord, en LLM kanske är en snabbare programmerare än du är, men du måste vara en bättre programmerare än en LLM är för att det ska vara någon mening med det.

I en introduktionskurs i programmering måste dock nivån av uppgifter naturligtvis ligga på en förhållandevis grundläggande nivå, och den typen av uppgifter du stöter på i den här kursen är just den typen som LLM:erna är jätteduktiga på att lösa. Delvis just för att det finns en enorm mängd med enkla uppgifter och exempel ute på nätet, som dessa språkmodeller är tränade på.

Detta leder alltså till att det är väldigt lätt att som nybörjare få intrycket att alla problem kan lösas av ChatGPT och det inte finns någon poäng med att lära sig programmera, precis som Jensen Huang och anda säger. Av naturliga skäl kan vi dock inte lägga uppgifterna i den här kursen på en sådan nivå att ChatGPT inte klarar av dem. De skulle i så fall ligga på en sådan nivå att det vore lika omöjligt för en mänsklig nybörjare, och det är inte något du kan lära dig något av.

Alltså måste vi be dig att motstå frestelsen att låta t.ex. ChatGPT lösa uppgifterna åt dig. Dels kommer det bara att motverka utvecklingen av din egen förståelse, och dels är det betraktat som akademiskt fusk att lämna in uppgifter man inte skrivit själv vilket kan leda till avstängning från studierna*.

* Värt att veta är att ett flertal studenter från kogvet har blivit avstängda från studierna de senaste åren pga fusk med hjälp av LLM:er som ChatGPT. Nej, det är inget de flesta känner till då vi lärare självklart inte pratar om individuella fall av sekretesskäl och studenterna det handlar om knappast skyltar med det. //Johan

Får jag inte använda ChatGPT alls? Skämtar du?

Det var länge vår rekommendation att inte använda chatbottar alls och på en nivå är det fortfarande det. Öva på att använda andra källor också. Läs kurslitteraturen, speciellt Pythons officiella dokumentation. Titta på föreläsningsmaterial eller material från storseminarierna. Ställ en fråga på en föreläsning, seminarie eller labbpass. Gå och knacka på Johans eller Charlies dörr och fråga. Skicka ett mail till Johan eller Charlie och fråga (Studenter från tidigare år kan vittna om mailsvar inom några minuter kl 3 på natten ibland men inget svar alls på ett dygn vid andra tillfällen. Jag lovar inget annat än att fortsätta ha ADHD och kraftigt bristande dygnsrytm. //Johan). Leta videos som förklarar koncepten på youtube. Använd Google, Brave, Duckduckgo eller någon annan sökmotor för att söka på koncept du behöver hjälp med. Kunskap du letat upp själv och syntetiserat genom att översätta förklaringar och exempel till din egna situation kommer sitta många gånger bättre och ge dig en djupare förståelse än ett färdigt svar.

För dig är det kanske fullständigt orimligt av oss att be dig att inte använda chatbottar alls i den här kursen. Vi vill dock be dig att tänka på hur du använder dessa.

Hur man INTE ska göra

Kopiera inte uppgiftstexten rakt av och klistra in den i chattfönstret. Chatbotten kommer oftast ge dig en korrekt lösning och det blir sedan väldigt svårt för dig att konstruera en egen lösning när ni redan fått en färdig dito, och just den får ni ju faktiskt inte lämna in, då det är betraktat som akademiskt fusk och kan leda till avstängning från studierna**. Och ja, det är oftast ganska tydligt för oss när lösningar kommer från chatbottar.

Utöver risken för avstängning så är det väldigt osannolikt att man kommer klara duggan om man inte kan lösa uppgifterna själv.

** Ett ytterligare tillägg här är att vi inför läsåret 25/26 har fått förtydligade instruktioner om att göra disciplinanmälningar vid minsta misstanke om fusk, även när det riskerar att gå ut över undervisningen i övrigt. //Johan

Så hur ska man göra då?

I princip alla sätt att använda chatbottar som INTE ger en färdig lösning är tillåtna, men vissa sätt är bättre än andra. Huvudsakligen, se chatbotten som en extra labbassistent, som ibland, precis som mänskliga labbassistenter, har fel.

  • Skriv en inledande “prompt”: “Jag är nybörjare på programmering som just nu läser en introduktionskurs i programmering med Python. Jag vill inte att du ger mig färdiga lösningar på uppgifter jag frågar om utan förklarar för mig det jag behöver veta för att kunna lösa uppgiften själv.”
  • Fråga om specifika koncept. Vad handlar uppgifterna du arbetar med om? Till varje kapitel av pythonuppgifter finns ett avsnitt “Att lära dig från uppgifterna” med några av de centrala koncepten för kapitlet. Ställ frågor om de koncepten. T.ex. “Jag har hört talas om <koncept> men vet inte vad det är, kan du förklara det för mig som läser en introduktionskurs i programmering med Python?”
  • Har du kört fast på en viss rad? Fråga vad som är fel med den raden och inget annat.
  • Kopiera felmeddelandet du får och fråga vad det betyder. Att lära sig läsa och förstå felmeddelanden är en mycket viktig kompetens som programmerare, då ingen programmerare alltid gör rätt på första försöket. (Fråga mig varför. //Johan)
  • Ställ en fråga i stil med: “Vad behöver jag förstå för att kunna lösa följande uppgift i python? Förklara utan att ge mig en färdig lösning.” Det här är enda omständigheten då det kan vara okej att skicka en hel uppgiftsbeskrivning till chatbotten.
    • Ställ gärna följdfrågor eller be om olika sätt att illustrera informationen. T.ex. “Kan du representera det som en kunskapsgraf?”
  • Om du är osäker på ifall du förstått något och har slut på uppgifter, t.ex. enkelrekursion: “Jag vet inte om jag har förstått enkelrekursion. Kan du ge mig 3 uppgifter som testar ifall jag har förstått enkelrekursion i python?”
  • Om du inte förstår ett exempel i litteraturen eller på kurshemsidan, fråga “Hur illustrerar det här exemplet <koncept>? Förklara för mig som är nybörjare.” och bifoga exemplet.

Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2025-08-10