CodeGym /Java Blog /Willekeurig /Code voor succes en vitale vaardigheden voor werknemers i...
John Squirrels
Niveau 41
San Francisco

Code voor succes en vitale vaardigheden voor werknemers in de 21e eeuw. Wat is computationeel denken?

Gepubliceerd in de groep Willekeurig
Een aantal dingen maken CodeGym tot de beste online cursus om helemaal opnieuw te leren programmeren in Java (in onze ogen althans): zorgvuldig geplande cursusstructuur, praktijk-eerst-benadering , enorm aantal taken (meer dan 1200), spannende en grappige verhalen vertellen , sociale functies , etc. Maar we denken graag dat CodeGym de beste is als we een stap verder gaan om onze studenten te helpen slagen. Onze missie is niet alleen om u te helpen Java te leren en een codeerbaan te vinden na (of terwijl u nog midden in de cursus zit), maar om uw ontwikkeling, zowel persoonlijk als professioneel, te ondersteunen met de juiste kennis en informatie. 'Code to Success' en 'Vital Skill for 21st Century Workers'.  Wat is computationeel denken?  - 1

Wat is computationeel denken?

Computational Thinking (CT) is een concept dat experts uit de industrie een 'code tot succes' en 'vitale vaardigheid' noemen. Hoewel het relatief eenvoudig is, kan CT veel verder helpen dan alleen het programmeren van software. De term werd voor het eerst voorgesteld in 1980 door Seymour Papert, een wiskundige en computerwetenschapper, als een manier om verschillende programmeergerelateerde problemen en taken efficiënter op te lossen. Computational thinking is een reeks methoden waarbij een complex probleem wordt opgesplitst in een reeks kleinere problemen die gemakkelijker te beheren zijn, en waarbij de essentie van een probleem en de oplossing worden uitgedrukt op manieren die een computer zou kunnen uitvoeren. Simpel gezegd, voordat u begint met coderen om een ​​computer te leren een specifiek probleem op te lossen, moet u normaal gesproken zelf het probleem begrijpen, een oplossing vinden, en dan pas een computer leren ermee om te gaan. Computational thinking is een methode om dit proces sneller en gemakkelijker te maken, maar het beperkt zich niet alleen tot programmeren en kan op verschillende onderdelen van ons leven worden toegepast. Hoewel dit concept al in 1980 werd geïntroduceerd, begint computationeel denken massale aandacht te krijgen nadat Jeannette Wing, een professor computerwetenschappen aan Columbia University, voorstelde om CT een onderdeel van het schoolcurriculum te maken als een van de fundamentele vaardigheden die alle mensen zouden moeten bezitten .

Hoe computationeel denken werkt?

Computational Thinking als techniek bestaat uit vier hoofdmethoden, namelijk decompositie, generalisatie/abstractie, patroonherkenning/datarepresentatie en algoritmen. Ze zijn allemaal even belangrijk en effectief als ze (op een probleem) in de juiste volgorde worden toegepast.

  • Ontleding.

Je begint met decompositie, dat is het opsplitsen van een probleem in een aantal kleinere problemen die gemakkelijker één voor één op te lossen zijn.

  • Abstractie (generalisatie).

Vervolgens ga je verder met een specifieke taak/probleem, waarbij je je uitsluitend concentreert op de informatie die belangrijk is om het op te lossen en de rest negeert.

  • Patroonherkenning (gegevensrepresentatie).

De volgende stap is zoeken naar overeenkomsten tussen het probleem waar je momenteel aan werkt en andere problemen die eerder zijn opgelost (met de beschikbare oplossing). Het doel is om patronen te vinden die kunnen worden toegepast op uw huidige taak.

  • Algoritmen.

En tot slot, met de resultaten van het toepassen van eerdere stappen, ontwikkel je een algoritme voor een stapsgewijze probleemoplossing. Een algoritme kan dan worden uitgevoerd door een computer (of je hersenen, wat de ultieme computeroplossende taak in je leven is).

Computationeel denken gebruiken

Weten hoe je CT moet gebruiken bij het omgaan met problemen en taken waar de meeste softwareontwikkelaars regelmatig mee te maken hebben, kan enorm nuttig zijn tijdens je hele carrière in coderen. “Informatica is geen computerprogrammering. Denken als een computerwetenschapper betekent meer dan een computer kunnen programmeren. Het vereist denken op meerdere abstractieniveaus. Computationeel denken is recursief denken. Het is parallelle verwerking. Het interpreteert code als data en data als code. Het is typecontrole als de veralgemening van dimensionale analyse. Het is het erkennen van zowel de deugden als de gevaren van aliasing, of iemand of iets meer dan één naam geven. Het erkent zowel de kosten als de kracht van indirecte adressering en procedureaanroep. Het is een programma niet alleen beoordelen op correctheid en efficiëntie, maar ook op esthetiek,legt Jeannette Wing uit in de paper uit 2006 over het belang van het leren van computational thinking en het onderwijzen ervan aan alle eerstejaarsstudenten. Zoals je kunt zien, is computationeel denken niet alleen bedoeld voor programmeurs en computerwetenschappers. Het wordt door mensen (vaak onbewust) gebruikt in allerlei beroepen, zowel om werkgerelateerde problemen op te lossen als in het dagelijks leven. Hier is een korte handleiding over hoe u computationeel denken kunt toepassen op codeertaken of vrijwel alle ernstige problemen waarmee u in uw persoonlijke leven te maken kunt krijgen.

  • Decompositie toepassen.

Decompositie is een vrij eenvoudige maar krachtige techniek, die je kan helpen om te gaan met problemen/taken die op het eerste gezicht te complex lijken en daardoor vaak uitstelgedrag en andere moeilijkheden veroorzaken. De sleutel hier is om je hersenen te trainen om regelmatig decompositie te gebruiken, waarbij je een taak opdeelt in een aantal kleinere taken die gemakkelijker op te lossen zijn. Ook al lijkt decompositie een zeer eenvoudige en zelfs voor de hand liggende methode, het zou je verbazen hoeveel mensen zich er niet van bewust zijn, wat het voor hen zoveel moeilijker maakt om aan grote, globale taken te beginnen (zoals het leren van Java, Bijvoorbeeld).

  • Abstractie toepassen.

Weten hoe je abstractie moet toepassen, is een krachtig vermogen als je de techniek kent en je hersenen hebt getraind om het onbewust te gebruiken. Abstractie gaat over uitsluitend focussen op de informatie die nodig is om de taak op te lossen, terwijl al het andere wordt genegeerd. Gebruikt in combinatie met ontleding, is het in feite de methode om vrijwel elk probleem of probleem in je leven te benaderen. Als je te maken hebt met strikt programmeertaken, helpt abstractie je te concentreren en te voorkomen dat je hersenen te snel uitgeput raken.

  • Patroonherkenning toepassen.

Patroonherkenning is een vrij belangrijke vaardigheid bij coderen, omdat je hiermee taken veel sneller kunt oplossen door denkpatronen toe te passen waarmee je hersenen vertrouwd zijn en die je gemakkelijk kunt gebruiken. Het is ook een krachtige techniek om toe te passen op algemene levensproblemen: probeer gewoon alle problemen waarmee je in je leven wordt geconfronteerd te analyseren en zoek (en leen) patronen uit die delen van je leven die bevredigend werken, en breng ze over naar het huidige probleem.

  • Algoritmen toepassen.

Als je erover nadenkt, draait ons leven helemaal om het vormen van algoritmen. We noemen ze gewoonten. Onze hersenen hebben de neiging om elke dag op gewoonten te vertrouwen, gewoon omdat het efficiënter en dus praktischer is. Het enige probleem is dat de meesten van ons dit onbewust doen, wat vaak resulteert in het vormen van verkeerde en schadelijke algoritmen (we noemen ze slechte gewoonten of verslavingen). Weten hoe je bewust bruikbare algoritmen kunt vormen, kan een uiterst nuttige levensvaardigheid zijn, waardoor je je doelen kunt bereiken en succesvol kunt zijn. Als het op programmeren aankomt, is weten hoe een algoritme moet worden gevormd om een ​​bepaald probleem op de meest snelle en efficiënte manier op te lossen, wat een persoon die gewoon weet hoe hij moet coderen onderscheidt van een ervaren professionele computerprogrammeur.

Wat zeggen deskundigen?

Tot slot, hier is wat enkele erkende computerwetenschappers te zeggen hebben over computationeel denken. Volgens James Lockwood en Aidan Mooney, professoren aan de Universiteit van Maynooth in Ierland en auteurs van 'Computational Thinking in Education: Where does it fit?'rapport, computationeel denken "is een essentiële vaardigheid voor werknemers in de 21e eeuw." “Hoewel er veel onderzoek wordt gedaan naar het onderwijzen van zowel CT als CS [computerwetenschap] op scholen, zullen veel leerlingen van het derde leerjaar nooit met deze concepten in aanraking zijn gekomen. Het is belangrijk dat zowel CS- als niet-CS-studenten goede probleemoplossende vaardigheden hebben en CT kan hier veel baat bij hebben. Er zijn veel verschillende methoden voorgesteld en het lijkt erop dat een niet-verplichte CT-cursus voor zowel CS- als niet-CS-studenten een bijzonder effectieve en nuttige methode is. Dit vereist de steun van zowel de administratie als het onderwijzend personeel, maar de voordelen die zowel in dit deel als in hoofdstuk 7 worden genoemd, laten zien dat het nuttig kan zijn voor alle betrokkenen. Er is ook een enorm scala aan manieren om CT te onderwijzen in universitaire contexten, hoewel de meesten een meer praktische, discussiegestuurde cursussen, en de meeste van deze methoden lijken succesvol te zijn. Er wordt gedacht dat informaticastudenten hiervan zullen profiteren, omdat het de overgang naar "traditioneel programmeren" voor hen gemakkelijker maakt", zeggen experts. Conrad Wolfram, een gerenommeerde Britse techno-expert en ondernemer, pleit ook voor het onderwijzen van computational thinking op hogescholen en universiteitennoemt het zelfs 'de code tot succes': “Computational thinking is de code tot succes. Het op de computer gebaseerde probleemoplossende proces is zo krachtig in het aanpakken van echte uitdagingen dat het een centraal onderwijsonderwerp zou moeten zijn. Tenminste als je, net als ik, het ermee eens bent dat het fundamentele doel van onderwijs moet zijn om ons leven te verrijken door de meest effectieve oplossingen te vinden voor problemen van welke aard dan ook.” Wat denk je? Lijkt Computational Thinking je iets dat je meer in je leven zou moeten oefenen? Deel uw mening met ons in de opmerkingen hieronder!
Opmerkingen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION