Göm menyn

TDDD86 Datastrukturer, algoritmer och programmeringsparadigm

Inlämningsuppgift


Inlämningsuppgift - UPG2

Inlämningsuppgiften knyter an till kursens innehåll gällande programmeringsparadigm.

Uppgiften är individuell. Informella diskussioner kring uppgiften är tillåtna, men varje student ska själv formulera och skriva sin egen argumenterande uppsats.

Fusk är ett försök att vilseleda. E.g., att lämna in text och försöka att få det att se ut, e.g., igenom att introducera ändringar, som att man har skrivit den själv när man har tagit den från en annan person, en hemsida eller ett AI-tjänst.

Det är inte tillåtet att göra egen uppsats tillgänglig för andra (e.g., offentliga via GitHub), att kopiera text från andra studenter/grupper/personer, från nätet, papper, artiklar eller verktyg (E.g., ChatGPT eller GitHubs copilot). Detta gäller även om ändringar gjordes.

Uppsatsen kommer att kamraträttas (peer grading). Ni kommer alltså att rätta någon annans uppgift. För att bli godkänd på uppgiften krävs att man själv löst uppgiften tillräckligt väl samt att man genomfört kamraträttningen enligt instruktionerna. Ni kommer att bedömas både på rapportens tekniska innehåll såväl som på dess språkliga och stilistiska kvaliteter.

Uppgiftsbeskrivning

Skriv en argumenterande text om ETT av ämnena nedan. Du kan skriva antingen på svenska eller på engelska. Ämnena har inte behandlats specifikt i kursen. Detta är en övning i att utforska egenskaper hos programmeringsspråk, att använda kunskaperna du har om programmeringsspråk och paradigm generellt och att skriva en argumenterande text om dem med ståndpunkt (se nedan), stödargument och motargument. Ett bra mall om hur man skriver argumenterande uppsatser kan hittas här.

Struktur
Din argumenterande uppsats bör vara strukturerad kring ståndpunkten (hypotesen) som presenteras, med vilken du kan hålla med eller inte hålla med. I vilket fall som helst ska en bra rapport bestå av ett antal delar med lämpliga rubriker som ``Introduktion'' (formulerar ståndpunkten och ger sammanhanget för din rapport), en eller flera tekniska delar: ger bakgrund till scenariot i mer detalj, relevanta delar av programspråksdesign för ditt argument, poänger för och emot ståndpunkten och kriterier för att avgöra i frågan. Din uppsats ska också ha ``Slutsatser'' och andra nödvändiga delar, e.g., referenser (se här för referensstilar så som IEEE). Uppsatsen ska motsvara ungefär 2500 ord av innehåll.

Referenser

Du uppmuntras att använda flera referenser när du skriver din uppsats. De flesta argument ska komma från minst 3 granskade vetenskapliga publikationer. De givna länkarna ska ses som startpunkter för en informationssökning. Var kritisk till källorna och deras kvalitén. Privilegiera granskade vetenskapliga publikationer. Kolla upp i IEEE-Reference-Guide.pdf hur referenser borde användas i din text. Där kan du också hitta hur referenser för konferens papper, tidnings artiklar eller webblänkar borde formateras. Att bara använda hemsidor och bloggar, eller att inte följa IEEE formatering resulterar i en komplettering.

Var mycket noggrann med att uttrycka det du lärt dig med dina egna ord. Plagiering, oavsett källan, är inte acceptabelt. Vi är skyldiga att anmäla till disciplinnämnd om vi mistänker fall av otillåten kopiering eller fusk.

Ståndpunkter

Skriv rapporten om ETT av följande ämnen (alla pappren och artiklar ska vara tillgängliga från universitets nätverk):

  1. Programmeringspråk med dynamisk typning är superbra för nybörjare
    Ståndpunkt: Fria från onödig syntax, speciellt variabeldeklarationer, kan språk som Python låta nybörjare inom progammering lära sig snabbare.
    Referenser: du kan starta din informationssökning med:
    A Controlled Experiment on Python vs C for an Introductory Programming Course: Students' Outcomes
    Why complicate things? introducing programming in high school using Python
    Can we enforce a benefit for dynamically typed languages in comparison to statically typed ones? A controlled experiment
    en.wikipedia.org/wiki/Type_system#Type_checking
    Teaching Introductory Programming: A Quantitative Evaluation of Different Approaches
    On parallel software engineering education using python
  2. Behandling av naturligt språk
    Ståndpunkt: Taligenkänning har nu blivit så avancerad att alla användare borde kasta bort sina tangentbord och kommunicera med sina datorer enbart via rösten.
    Referenser: du kan starta din informationssökning med:
    www.ida.liu.se/labs/nlplab/
    research.microsoft.com/nlp/
    en.wikipedia.org/wiki/Natural_language_processing
    Loebner pris och en chattbot
    A Primer on Neural Network Models for Natural Language Processing
  3. Visuell programmering
    Ståndpunkt: Nu när pekskärmar blir så vanliga kommer vi snart rutinmässigt skapa program visuellt.
    Referenser: du kan starta din informationssökning med:
    blog.interfacevision.com/design/design-visual-progarmming-languages-snapshots
    Analysis of scratch projects of an introductory programming course for primary school students
    http://en.wikipedia.org/wiki/Visual_programming_language
    http://www.alice.org
    code.google.com/p/blockly
    www.tersus.com
  4. Big Data-programmering
    Ståndpunkt: Att hantera mycket data är samma sak som att hantera lite data; det finns bara mer av det.
    Referenser: du kan starta din informationssökning med:
    Big Data Programming Models
    Parallel Programming Paradigms and Frameworks in Big Data Era
    Exascale Machines Require New Programming Paradigms and Runtimes
    Big data and data science: what should we teach?
    en.wikipedia.org/wiki/Programming_with_Big_Data_in_R

Inlämning

Inlämning av uppgiften sker via Lisam. Filen ska heta TDDD86.pdf och får inte innehålla något som kan identifiera dig som författare av texten (eftersom rättning ska ske anonymt).

Opponering

Opponeringsintruktionerna finns här. Inlämning av opponeringen sker via Lisam. Opponeringen får inte innehålla något som kan identifiera er som författare av omdömet.

Deadline

Deadline för inlämning: måndag 4 november 2024 kl 23:59.
Deadline för inlämning av kamraträttning: måndag 25 november 2024 kl 23:59.

Komplettering

Om du fått komplettering på rapporten är deadline för att lämna in en förbättrad rapport måndag 06 januari 2025 kl 23:59. Använd inlämningen som heter "Komplettering för Novembers inlämningsuppgift" i Lisam.

Uppsamlingsomgång

Om du missade deadline för inlämningsuppgiften äger den första uppsamlingsomgången rum efter Jul. Deadline för att lämna in inlämningsuppgiften till uppsamlingsomgången är måndag 06 januari 2025 kl 23:59. Använd inlämningen som heter "Inlämningsuppgift Januari" i Lisam. Deadline för inlämning av kamraträttning: tisdag 21 januari 2024 kl 23:59.

Deadline för att lämna in inlämningsuppgiften till andra uppsamlingsomgången är måndag 18 augusti 2025 kl 23:59.


Sidansvarig: Ahmed Rezine
Senast uppdaterad: 2025-01-12