Stackar och köer är abstrakta datatyper som styr ordningen i vilken data bearbetas. En stack följer LIFO-principen (Last-In, First-Out), precis som en hög med tallrikar, medan en kö följer FIFO (First-In, First-Out), som en vanlig matkö. Dessa strukturer är fundamentala för hur operativsystem och applikationer hanterar processer.
Skolverket KursplanerDAODAT0 - 1. Algoritmer och datastrukturerDAODAT0 - 4. Problemlösning
Eleverna simulerar hur en dator hanterar funktionsanrop. När en funktion anropas lägger eleven en lapp på en fysisk stack, och när funktionen är klar tas lappen bort. Detta visar tydligt hur programmet 'hittar tillbaka' till rätt ställe.
Eleverna får agera ärenden i en kö. De experimenterar med olika typer av köer, som prioritetsköer där vissa 'ärenden' får gå före, och diskuterar hur detta påverkar rättvisa och effektivitet i systemet.
I små grupper skissar eleverna på en algoritm för en enkel rit-app. De ska förklara hur de skulle använda en stack för att spara användarens handlingar så att de kan ångras i rätt ordning.
Att man kan ta bort vilket element som helst från en stack.
Förtydliga att en ren stack bara tillåter åtkomst till det översta elementet. Genom att använda en fysisk behållare där man bara ser det översta föremålet blir begränsningen tydlig.
Att köer och listor är samma sak.
Förklara att en kö är en begränsad version av en lista med specifika regler för in- och utmatning. Diskussioner om 'gränssnitt' hjälper eleverna att förstå varför vi ibland vill begränsa vad man kan göra med data.