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. Ni kommer få tillgång under Lisam till "NoPLagiat": en självstudieguide som förklarar hur man undviker att plagiera.

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. Ä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. 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.

Du uppmuntras att använda flera referenser när du skriver din uppsats. 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 och böcker. Kolla upp i IEEE-Reference-Guide.pdf och i acm-reference-formatting 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.

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. Vi använder, bla., plagiatkontroll verktyget Urkund för att kontrollera inlämningen.

Skriv rapporten om ETT av följande ämnen:

  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
    IBM Data and AI

Inlämning

Inlämning av uppgiften sker genom 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).

Kamraträttning

Rättningsintruktionerna finns här. Inlämning av rättningen sker via Lisam. Filen ska heta TDDD86_grade.pdf och 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 30 oktober 2023 kl 23:59.
Deadline för inlämning av kamraträttning: 20 (13) november 2023 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 09 januari 2024 kl 23:59.

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 08 januari 2024 kl 23:59.

Deadline för att lämna in inlämningsuppgiften till andra uppsamlingsomgången är Måndag 19 augusti 2024 kl 23:59.


Sidansvarig: Ahmed Rezine
Senast uppdaterad: 2023-11-09