• kth.se
  • Studentwebben
  • Intranät
  • kth.se
  • Studentwebben
  • Intranät
Logga in
DD1366 VT24 (progp24)
Gammalt Mästarprov Paradigm
Hoppa över till innehåll
Översikt
  • Logga in
  • Översikt
  • Kalender
  • Inkorg
  • Historik
  • Hjälp
Stäng
  • Min översikt
  • DD1366 VT24 (progp24)
  • Uppgifter
  • Gammalt Mästarprov Paradigm
2024 VT
  • Startsida
  • Kursöversikt
  • Moduler
  • Uppgifter
  • Course Evaluation

Gammalt Mästarprov Paradigm

  • Inlämningsdatum 10 mar 2023 av 18:00
  • Poäng 1
  • Lämnar in en filuppladdning
  • Tillgänglig 3 mar 2023 kl 12:00–31 jul 2023 kl 23.59
Den här uppgiften låstes 31 jul 2023 kl 23.59.

Mästarprovet ska lösas individuellt och redovisas både skriftligt och muntligt. Inget samarbete är tillåtet, se vidare hederskodexen. Du ska alltså inte diskutera lösningar med någon annan fram till dess att alla muntliga redovisningar är avklarade. Inlämningarna plagiatgranskas. Nytt för 2023 är att det inte är tillåtet att använda verktyg baserade på AI/maskininlärning i arbetet med lösningarna. Exempel på förbjudna verktyg är Github Copilot och ChatGPT.

Skriftliga lösningar ska lämnas in i Canvas.
Det bästa formatet för inlämningar är litterär programmering (literate programming) i en stil som liknar Physically Based Rendering. Bokens tredje utgåva finns gratis på nätet här Links to an external site.. Skriv i så fall koden och texten som en akademisk uppsats och illustrera elegant och begripligt. Använd till exempel noweb Links to an external site.. Lämna in resultatet som pdf.
Det näst bästa formatet (och fortfarande kanonbra) är att använda LaTeX för att skapa texten. De flesta som använder LaTeX gör det via ett webbgränssnitt som till exempel Overleaf Links to an external site.. Om du bygger lokalt, tänk på att använda pdflatex så att resultatet blir en pdf-fil. Assistenterna ska inte behöva bygga LaTeXfiler själva och framför allt inte installera externa bibliotek.
Det tredje bästa är att använda Markdown Links to an external site. som är enklare än LaTeX och ger nästan lika bra resultat.
Resterande: Om ni använder Microsoft Word eller liknande - tänk på att spara som pdf så att alla kan läsa texten som det är tänkt utan att ha Word installerat.
Skicka inte in nedpackade arkivfiler utan använd Ctrl-klick för att lägga till var och en av filerna i inlämningen.

Krav på koden:

Skriv ditt namn och KTH-mailadress överst på framsidan av varje pdf, markdownfil och/eller kodfil i lösningarna. Läs på dina lösningar inför den individuella muntliga redovisningen som kommer att ske kort efter deadline i Zoom, eller på plats för någon i lärarlaget. Tidsbokningen kommer att komma upp nära uppgiftens deadline och det kommer att anslås på Canvas när de har kommit upp. Den muntliga redovisningen tar 10 minuter för dig, men de som bedömer dig har 5 minuters paus mellan varje par av redovisningar.

Det är viktigt att du förbereder dig inför den muntliga redovisningen. För att en uppgift ska godkännas ska du kunna förklara och motivera dina implementationer och vilka skillnader du gör på olika paradigm.

Läs uppgifterna mycket noga så att du inte råkar basera dina lösningar på en missuppfattning. Fråga en lärare på kursen om någon formulering är oklar.

Generella regler för mästarprov såsom vad som krävs för godkänt finns på mästarprovssidan i Canvas. Tänk på att mästarprovet bedöms efter sin sämst lösta uppgift så överarbeta inte en uppgift förräns alla är OK.

Som exempel på hur kod-delen av en inlämningsuppgift kan se ut, se facit och rättningsmallar från Tentaarkivet i DD1361, till exempel 2017-09-18. Det finns också lösningsförslag på gamla mästarprov. Titta under uppgifter i vänstermarginalen och längst ner finns en länk till ett Gitubrepo. Som exempel på hur en teorifråga kan besvaras, se facit och rättningsmallar från tentaarkivet i DD1362 till exempel juni 2021.

Mästarproven behöver redovisas både skriftligt och muntligt. Om du har lämnat in den skriftliga biten i tid så behöver du för att få godkänt även boka in dig på en muntlig redovisning med hjälp av REMORES. Välj en anonym assistent, välj först inom vilket 2h-intervall som du vill redovisa och välj sist en 10-minuterstid då du faktiskt redovisar. Det finns 4 tider per timme eftersom assistenterna behöver ställtid mellan redovisningarna. Lycka till. Här är länken:
 https://www.csc.kth.se/cgi-bin/bokning/remores1.4/server/decoder?request:overview=yes&repository=mpfunk20231
Observera att du behöver boka in din tid senast på måndag 2023-03-13 klockan 15 så att assistenterna hinner rätta och fråga varandra om oklarheter inför redovisningen.

På teorifrågorna är det viktigt att svara med kompletta meningar. Endast nyckelord ger inte godkänt.

  1. a) Beskriv kortfattat vad Von Neumann-modellen är och hur den används för att genomföra en beräkning.
    b) Vad är fördelarna med Von Neumann-modellen jämfört med tidigare modeller för datorminnen och processorer?
    c) Vilka nackdelar finns det med Von Neumann-modellen?

  2. Vad är rekursion i programmering och hur kan det användas för att lösa problem? Skriv en funktion i Python eller Java som använder rekursion för att beräkna fakulteten av ett tal. Hur kan detta problem lösas med en iterativ lösning? Vilka fördelar och nackdelar finns det med att använda rekursion jämfört med iteration?

  3. Paradigm: Jämför och kontrastera funktionell programmering och objektorienterad programmering utifrån följande aspekter:
    a) Datahantering: Hur hanterar de två paradigmen data och vilka datatyper kan de arbeta med?
    b) Kontrollflöde: Hur hanterar de två paradigmen programflödet och vilka kontrollstrukturer kan de använda?
    c) Tillstånd: Beskriv hur hanteringen av tillstånd kan skilja sig i program i de två paradigmerna och hur sådana fundamentala skillnader kan yttra sig i programdesign.
    d) Parallellism: Hur lätt är det att implementera parallellism i de två paradigmen och vilka tekniker finns det för att göra det?

  4. Typning: I kursen har vi pratat om typning.
    a) Visa med minst två konkreta kodexempel vad skillnaden är på Pythons och Haskells typsystem.
    b) Klassificera dessa 2 språk utifrån stark, svag, statisk och dynamisk typning. Motivera dina svar!

Det var alla frågor. Se till att alla svarsförslag uppfyller alla krav innan du lämnar in. Lycka till önskar lärarlaget i programmeringsparadigm.

1678467600 03/10/2023 06:00pm
Inkludera en beskrivning
Ytterligare kommentarer:
Maxresultat för gradering till > poäng
Inkludera en bedömningstitel

Matris

Hitta matris
Inkludera en titel
Hitta en matris
Titel
Du har redan bedömt studenter med den här matrisen. Större ändringar kan påverka resultaten för deras uppgifter.
 
 
 
 
 
 
 
     
Det går inte att ändra en matris efter att du börjat använda den.  
Titel
Kriterier Bedömningar Poäng
Det här kriteriet är länkat till ett lärandemål Beskrivning av kriterium
tröskel: 5 poäng
Redigera beskrivning av kriterium Ta bort kriterium rad
5 till >0 poäng Full poäng blank
0 till >0 poäng Inga poäng blank_2
Det här området kommer användas av utvärderaren för kommentarer relaterade till det här kriteriet.
poäng
  / 5 poäng
--
Ytterligare kommentarer
Det här kriteriet är länkat till ett lärandemål Beskrivning av kriterium
tröskel: 5 poäng
Redigera beskrivning av kriterium Ta bort kriterium rad
5 till >0 poäng Full poäng blank
0 till >0 poäng Inga poäng blank_2
Det här området kommer användas av utvärderaren för kommentarer relaterade till det här kriteriet.
poäng
  / 5 poäng
--
Ytterligare kommentarer
Poängsumma: 5 av 5