Webontwerpers moeten problemen doordenken op een manier die computers kunnen begrijpen. Daarom is 'computational thinking' een onmisbare vaardigheden die ze kunnen hebben. Het biedt systematische tools die nodig zijn om complexe opdrachten van klanten op te lossen.
Computational thinking stelt webontwerpers in staat om een probleem op te lossen, patronen in gegevens te herkennen, zich te richten op absoluut noodzakelijke aspecten van een opdracht en onnodige informatie weg te laten die het proces zal vertragen.
Als een hulpmiddel voor een grondige planning, vermijdt het kostbare fouten die het resultaat zijn van haasten om een project te voltooien zonder rekening te houden met verschillende facetten van het probleem bij de hand.
Computational thinking als concept kan intimiderend klinken. Maar elke dag, in alle aspecten van ons leven, doen we computationeel denken. Denk aan de volgende acties en beslissingen die daarin worden genomen:
Het proces van plannen en bereiken van deze doelen omvat een of ander computationeel denken.
Planning omvat het uiteenvallen van deze problemen in beheersbare onderdelen en het bedenken van sets met oplossingen die ons in staat stellen om het doel te bereiken dat we voor ogen hebben.
Problemen oplossenVoor onze doeleinden, aangezien we als webontwerpers computers willen gebruiken om ons te helpen bij het oplossen van problemen bij de hand, gaat computationeel denken echt over het begrijpen van het complexe probleem bij de hand en het vervolgens op te splitsen in een reeks kleinere, beheersbare problemen. Vervolgens ontwikkelen we ideeën over het oplossen van deze kleinere individuele problemen en communiceren we de resulterende ideeën uiteindelijk in een reeks stappen die door een computer kunnen worden begrepen en verwerkt..
Deze benadering volgt wat wij 'de principes van computational thinking' noemen.
Er zijn vier van dergelijke principes:
Dit zijn sleuteltechnieken die je helpen om rekenkundig te denken via een complex probleem (uitdaging of taak) voordat je een enkele regel code schrijft. Laten we ze onderzoeken.
Dit is het opsplitsen van een complex probleem of systeem in kleinere, gemakkelijker op te lossen delen. Deze kleinere problemen worden een voor een opgelost totdat het grotere complexe probleem is opgelost.
"Als een probleem niet wordt ontbonden, is het veel moeilijker om op te lossen. In één keer veel verschillende stadia behandelen is veel moeilijker dan een probleem oplossen in een aantal kleinere problemen en ze allemaal een voor een oplossen. "- BBC Bitesize
Zodra je het complexe probleem hebt opgesplitst in kleinere problemen, is de volgende stap om te kijken naar overeenkomsten die ze delen.
Patronen zijn gedeelde kenmerken die voorkomen in elk individueel probleem. Welke overeenkomsten zie je? Het vinden van deze overeenkomsten in kleine afgebroken problemen kan ons helpen om complexe problemen efficiënter op te lossen.
"Abstractie" verwijst naar het focussen op alleen de belangrijke informatie, het negeren van irrelevante details. Om een oplossing te bereiken, moeten we onnodige kenmerken negeren om ons te kunnen concentreren op de kenmerken die we doen.
Dus wat is deze belangrijke informatie waarop we ons moeten concentreren? In abstractie ligt de nadruk vooral op algemene kenmerken die gemeenschappelijk zijn voor elk element, in plaats van specifieke details.
Zodra u over de algemene kenmerken beschikt, kunt u een "model" van het probleem creëren; een model is het algemene idee van het probleem dat we proberen op te lossen.
"Als we niet abstraheren, krijgen we misschien de verkeerde oplossing voor het probleem dat we proberen op te lossen." - BBC Bitesize
Zodra we een model hebben, kunnen we een algoritme ontwerpen
Je hebt het grote probleem opgesplitst in kleinere, gemakkelijk hanteerbare problemen. U hebt overeenkomsten gevonden tussen deze problemen. Je hebt je gericht op relevante details en alles wat irrelevant is achtergelaten.
Nu is het tijd om stapsgewijze instructies te ontwikkelen om elk van de kleinere problemen op te lossen, of de regels die moeten worden gevolgd bij het oplossen van het probleem. Deze eenvoudige stappen of regels worden gebruikt om een computer te programmeren om een complex probleem op de beste manier op te lossen. Ze worden ook "algoritmen" genoemd.
Definitie: Een algoritme is een plan, een reeks stapsgewijze instructies die worden gebruikt om een probleem op te lossen.
"Algoritmen houden niet altijd ingewikkelde programmeerpogingen in; in essentie zijn het opeenvolgende stappen om naar een doel te gaan. "- John Villasenor
Het schrijven van een algoritme vereist een uitgebreide planning om correct te werken. De oplossing die uw computer biedt is net zo goed als het algoritme dat u schrijft. Als het algoritme niet goed is, zal uw oplossing ook niet goed zijn.
Stroomdiagrammen bieden een perfecte manier om algoritmen weer te geven.
"Een stroomschema is een soort diagram dat een algoritme, werkstroom of proces weergeeft, waarbij de stappen worden weergegeven als verschillende soorten dozen en hun volgorde door ze te verbinden met pijlen. Deze schematische weergave illustreert een oplossingsmodel voor een bepaald probleem. "- Wikipedia
Stroomdiagrammen zijn een gemakkelijke manier om algoritmen uit te zetten, vooral als ze onderweg verschillende resultaten moeten opleveren. Ze gebruiken standaard stylingconventies. Stroomdiagrammen vloeien van boven naar beneden en van links naar rechts.
Flowchart-elementvoorbeelden van UX-kitsTerwijl u het probleem bij de hand legt in kleinere, hanteerbare delen, communiceert u uw bevindingen, ideeën en mogelijke oplossingen in gewoon Engels (of welke taal u ook gebruikt om te communiceren).
Computers begrijpen geen instructies in het Engels. Ze begrijpen code. Code of algoritmen die een set instructies vormen met een zeer specifieke syntaxis.
Maar voordat u uw bevindingen gebruikt om code te schrijven die de computer zal begrijpen, is het meestal raadzaam om ze op te schrijven pseudocode.
Pseudocode helpt u bij het plannen van de oplossingen voor uw probleem om fouten bij het schrijven van code te voorkomen. Het is een manier om instructies te schrijven op een vereenvoudigde manier die als code leest. Pseudocode is echter geen code, het heeft geen specifieke syntaxis die code gebruikt.
Pseudocode kan het beste worden geschreven met behulp van trefwoorden en variabelen. Variabelen in programmeren komen in aanmerking voor een waarde, een woord of stuk code. Bij het programmeren verandert de waarde van variabelen, afhankelijk van waar u zich in de code bevindt.
Deze pseudocode (afkomstig van de University of Tennessee) kan bijvoorbeeld de beloning berekenen:
Begin INPUT-uren INPUT-tarief betalen = uur * tarief OUTPUT betalen Einde
En dit, iets complexere voorbeeld zou het betalen met overuren kunnen berekenen:
Begin INPUT-uren, beoordeel IF-uren ≤ 40 DAN betalen = uren * tarief ELSE beloning = 40 * tarief + (uren - 40) * tarief * 1,5 UITVOER betaal EINDE
Pseudocode gebruikt code-achtige termen die handig zijn bij het vertalen ervan in code.
STOP / END
Computers zijn letterlijk. Je moet ze vertellen wanneer een verklaring of instructie is voltooid. Doe dit door te schrijven HOU OP
of EINDE
.IF / ELSE / THEN
Computers begrijpen voorwaarden: als A gebeurt, doe dan B, zo niet, doe dan C.INPUT / OUT
Sommige code heeft invoer nodig om te worden uitgevoerd en een uitvoerresultaat te creëren. Invoer is voor gegevens die een gebruiker of een andere bron aan de computer zal geven. Uitgang wordt gebruikt om het eindresultaat van een reeks opdrachten aan te geven. STORE / SAVE
Pseudocodeterm die een computer opdracht geeft om een waarde op te slaan of op te slaan wanneer dat nodig is. Er is eigenlijk een vijfde deel aan dit hele proces. Je hebt computational thinking gebruikt om tot een oplossing te komen. De oplossing is een algoritme dat kan worden gebruikt om de computer te programmeren.
Je bent echt aan het programmeren, maar voordat je verder gaat, moet je de oplossing evalueren. Waarom?
"Zonder evaluatie worden eventuele fouten in het algoritme niet opgepikt en het programma kan het probleem mogelijk niet goed oplossen, of lost het niet op de beste manier op." - BBC Bitesize
Denk aan het evalueren van uw algoritme als "debuggen".
Computationeel denken doorloopt alle aspecten en functies van 21st eeuw bedrijf. Het is een onmisbare probleemoplossende vaardigheid voor webontwerpers die uiteindelijk oplossingen moeten voorstellen in een taal die computers kunnen begrijpen en verwerken.
Vergeet niet dat computationeel denken de volgende stappen omvat: