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. Använd inte AI för att sammanfatta artiklar eller andra texter, läs artiklarna själva!! Det är extremt viktigt att träna på att läsa artiklar och på att göra sin egen bedömning. Att använda AI för att sammanfatta artiklar och andra texter betraktas som fusk för den här uppgiften.
Uppsatsen kommer att kamraträttas (peer grading). Vi väljer "oponenter". Kamraträttningen är inte annonymt. 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 ska tydligt skriva om du håller med eller inte. 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 (dvs. att du ska ha minst 3 referenser i din inlämning till vetenskapliga publikationer som du har så klart läst. 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. E.g., att missa författare eller konferens för ett konferens papper följer inte IEEE-Reference-guide och kommer inte att godkännas. 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):
-
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 -
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
-
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
-
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. Varken inlämningen eller kamraträttningen är annonym.
Opponering
Opponeringsintruktionerna finns här. Inlämning av opponeringen sker via Lisam.
Deadline
Deadline för inlämning: måndag 3 november 2025 kl 23:59.
Deadline för inlämning av kamraträttning: måndag 24 november 2025 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 05 januari 2026 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 05 januari
2026 kl 23:59. Använd inlämningen som heter "Inlämningsuppgift Januari" i Lisam.
Deadline för inlämning av kamraträttning: fredag 16 januari 2026 kl 23:59.
Deadline för att lämna in inlämningsuppgiften till andra uppsamlingsomgången är måndag 17 augusti 2026 kl 23:59. Använd inlämningen som heter "Uppsamlingsomgången för inlämningsuppgiften i TDDD86".
Sidansvarig: Ahmed Rezine
Senast uppdaterad: 2025-09-08