725G92
725G92 > Kursinformation
Göm menyn

725G92 Problemlösning och programmering

Kursinformation

Nyheter för i år

Det finns ett antal saker som har ändrats från föregående års upplägg. Här är en "kort" sammanfattning av detta. Mer information finns på kurshemsidans övriga sidor förstås.

Eftersom denna kurs har gjots om från grunden under de senaste åren har vi tyvärr haft en del "barnsjukdomar" som vi arbetar bort allt eftersom. Sedan förra året har vi löst de delar som vi upptäckte då och dessutom lagt till lite ny funktionalitet som förhoppningsvis kommer att hjälpa er att komma smidigare igenom kursen. Vill du se vilken feedback vi fick förra året hänvisar vi till kursutvärderingen från Evaliuate. Nedan kommer våra förbättringar.

  • I kurskartan har vissa uppgifter döps om och några uppgifter har lagts till eller tagits bort jämfört med tidigare år.
  • Det har tillkommit ett par uppgifter som är till för att ge er möjlighet att öva inför de examinerande P-uppgifterna.
  • Vi kommer i år att kräva att ni arbetar 2 och 2 (eller möjligen 3 om det inte går att få ihop grupperna i klasserna). Om man har speciella skäl till att arbeta ensam kan man höra av sig till examinator för att få tillåtelse till detta. Dock är inte skäl som "Jag har programmerat mycket innan och vill arbeta själv." något som är ok. Det ingår i er utbildning att arbeta i grupp och detta är förstås till för att man skall kunna göra det när man kommer ut i den "verkliga världen" senare.
  • Det har införts något som vi kallar "Info"-uppgifter i år vilka är till för att ni skall få den information som är relevant lite mer i rätt tid.
  • Ada.O4 är uppdaterad rent textuellt (och med lite nya bilder) så att det skall vara mer tydligt vad som krävs i de olika delarna i uppgiften. Den efterföljande uppgiften Ada.O5 har fått en uppdatering enbart för att matcha denna Ada.O4-uppdatering.
  • För er som är "gamla studenter" (från tidigare år) finns information om duggor etc. vid de delar som beskriver det ni har kvar. Vi har givetvis flyttat över era gamla godkännanden till detta nya upplägg. Se kurskartan för detaljer kring vilka uppgifter du har kvar att göra.

Läromålen i kursen

Ett av målen med denna kurs är att ni skall få både en förståelse för hur ett programspråk är uppbyggt (det vi kallar "syntax") och dessutom hur denna uppbyggnad fungerar (det vi kallar "semantik").

Ett annat mål som är ännu viktigare är att få insikt i det som har med problemlösning att göra. Detta är något man inte helt kan lära ut utan det krävs tid och övning och engagemang från den som skall lära sig detta.

Efter denna kurs finns det fortsättningskurser som bygger på innehållet i denna kurs. När man kommer till dessa kurser förutsätts man kunna dessa delar på ett bra sätt.

Upplägg under kursen

Kursen kommer ta upp programspråket Ada.

Kursens koncept och bakgrund

I denna kurs använder vi oss av ett koncept vi kallar Leveling. När du klarat en uppgift "låser du upp" en annan, inte helt olikt hur karaktärer i spel "levlar" sina färdigheter. Tanken med Leveling är inte "spelifiering", utan det handlar snarare om att försäkra sig att du har rätt förkunskaper för att kunna ta dig an nästa uppgift.

Som student använder du Kurskartan för att se var du ligger till i kursen. I kurskartan kan du se vilka uppgifter du behöver klara, och vilken i ordning du behöver klara dem.

Det finns egentligen två slags uppgifter i kursen: O-uppgifter och P-uppgifter. O-uppgifterna (områdesuppifter) ämnar att lära ut ett visst koncept. Dessa uppgifter görs parvis. P-uppgifterna (problemlösningsuppgifter) går istället ut testa förståelsen för koncepten, och är de uppgifter som i slutändan leder till betyg. Därför skrivs P-uppgifterna enskilt på särskilda P-pass. Mer utförlig information om både O- och P-uppgifterna hittar du i kurskartan.

När du känner dig nöjd med en uppgift skickar du in den till rättningssystemet. I stora drag består rättningen av två steg: automaträttningen och assistenträttningen. Automaträttningen jämför ditt programs utdata med ett "facit" för att se att din kod gör rätt saker. Efter att din inlämnade kod passerat automaträttningen skickas den vidare till rättning av assistent. Där kollar vi om du har förstått koncepten för uppgiften och om koden är bra skriven.

Det är inte konstigt att få backning från assistenträttningen flera gånger. Tanken med Leveling-systemet är ju att du ska ha rätt färdigheter innan du arbetar vidare med nästa uppgift!

Kursen har alltså ett ganska gediget system för att ni ska få lära er programmering och problemlösning. Lycka till!

FÖ (Föreläsningar)

Gemensam information, syntax och semantik är det vi i första hand kommer att ta upp på de FÖ som finns i kursen. Det ger er en verktygslåda att använda för att lösa problem senare. Vi kommer också att prata mycket om hur man bör tänka och varför saker görs på olika sätt, men detta gör vi i introducerande syfte. Det ger er en gemensam bas och sen möjligheten att kunna komma vidare på de övriga delarna i kursen.

LE (Lektioner)

På LE kommer vi sen att dela upp er i grupper (era klasser normalt sett) och där kommer assistenten att ge en uppgift där ni sen tillsammans med assistenten skall komma fram till hur man kan lösa denna.

I denna process kommer mycket av problemlösningsstrategier och tankar att diskuteras och då det är ni studenter som kommer att var de mest aktiva kan det kan i vissa fall bli saker som tas upp som är "tokiga" eller kanske ligger lite för långt fram eller kanske lite utanför kursen och det är inte alltid så att vi kommer fram till en helt färdig lösning på problemet som var uppsatt. Detta gör dock ingeting då det är diskussionerna och frågorna som uppstår som är de viktiga i denna del av kursen. Att inte vara aktiv i detta läge förlorar man alltså på.

PROGR (Programmeringsstugor)

På programmeringstugorna finns datorsalarna på IDA bokade för att ni ska kunna arbeta med uppgifterna på universitets datorer. Under dessa pass finns kursens assistenter tillgängliga för att svara på frågor. De flesta av era frågor kommer förmodligen beröra O-uppgifterna, men vi uppmuntar även att ni diskuterar till exempel P-uppgifter.

Vi räknar med att programmeringstugorna kommer vara ett hav av frågor och diskussioner. Assistenterna kommer ha fullt upp, och ni kan alltså få en viss väntetid i salarna. Vi rekommenderar därför att man diskuterar sitt problem med andra studenter (även utanför din grupp) för att komma vidare.

Håll koll på om assistenterna går fram till tavlan och pratar om saker. Det kan vara så att får många bra tips genom att vara med i dessa diskussioner. Dessutom slipper man ju sitta och vänta!

Observera att tanken inte är att ni bara ska arbeta under programmeringstugorna, utan kursen är planerad för att ni ska behöva arbeta på egen tid utanför programmeringstugorna.

Problemlösningspass (P-pass och P-uppgifter)

P-passen motsvarar tentor eller duggor i andra kurser. På P-passen ska du enskilt visa att vad du kan genom att lösa de så kallade P-uppgifterna. Det är P-uppgifterna som leder till betyg i kursen.

En utförligare beskrivning av P-passen och P-uppgifterna finns på sidan P-uppgifter och P-pass i kurskartan.

Efter kursens slut

RE (redovisningar) och HÅRD DEADLINE

Sista deadline för att få kursens moment godkända är 2023-12-22.

Det som skickas in senast dagen för deadline kommer att rättas, men efter detta stängs kursen ner för hösten.

Information till Gamla Studenter

Det finns en hel del att säga här.

  • Man behöver inte omregistrera sig på kursen om man redan gått delar av den. Om du är osäker: Kolla med studievägledaren.
  • Om du tänker gå kursen som "gammal student" är det väldigt bra om du hör av dig till examinator så att vi kan ge dig en möjlighet att få vara med på så mycket som möjligt av LE/PROGR (om du har LAB1 kvar). Dessutom är det viktigt för att du skall bli tilldelad en assistent som du kan få hjälp av (om du har t.ex. LAB1 eller DAT1 kvar).

Till att börja med är det så att ALLA moment i LADOK som du har rapporterade med betyg där är klara! Dessa skall du inte göra om. T.ex. om du har LAB1 godkänt i LADOK skall du inte vara med på PROGR och ta upp plats för dem som har detta moment kvar. Du kan givetvis vara med på FÖ och LE för att klara DAT1 senare.

Om man inte är klar med ett moment i LADOK skall detta göras om (enligt reglerna som finns). Det innebär i princip att man skall göra om allt i denna del för det nya årets upplägg.

Vi vill förstås inte göra så att ni (och vi) får en massa onödigt extra arbete så vi gör så att årets delmoment (t.ex. en O-uppgift inom LAB1) som vi anser vara rimligt att det kan vara kvar från tidigare års resultat redan är markerade som godkända. Ni kommer att se vilka på hemsidan (i det vi kallar "kurskartan").

Detta innebär att om det är samma (eller likartad) deluppgift som tidigare år är ni alltså redan godkända på denna och kan gå vidare med de som är kvar. Det innebär också att det kan vara uppgifter som du behöver komplettera med (som t.ex. är nya).

Även om du känner att det är "onödigt" att göra delmoment som är "enkla" är det så att det om det verkligen är enkelt "tar det ingen tid". Bara gör uppgiften så blir det bra. Är uppgiften svår så var det ju kanske rätt att den behövdes göras om.

Om du har problem att komma in på den "kurskarta" som finns (det står att du inte är registrerad på kursen) skall du kontakta mig. Detta är extra viktigt om du redan är godkänd på alla moment och vill "plussa betyget" då du garanterat i detta fall är "inaktiverad", men det fixar vi till som sagt.

En liten varning är befogad. Nästa års kursomgång kan komma att ändras och man kan isåfall behöva göra om alla delar som inte är inrapporterade i LADOK. Det finns egentligen inget som säger att det man gjort innan räknas. Duggaresultat eller annat är bara arbetsmaterial för att sen rapportera till LADOK. Det är bara det som är i LADOK som är garanterat kvar och färdigt.

Alltså: En halvfärdig uppgiftserie räknas egentligen som "ogjord" när man kommer tillbaka även om vi brukar försöka minska detta problem för både er och oss genom att bara ta hand om det som återstår. Detta är dock bara vi som är snälla isåfall.


Sidansvarig: Viktor Olsson
Senast uppdaterad: 2023-08-28