computational thinking, computer science, and...

Post on 19-Jun-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ComputationalThinking,ComputerScience,andCoding

http://img2.wikia.nocookie.net/__cb20130510160248/despicableme/images/e/e9/Despicable-Me-Minions_thumb10.jpg

ProfessorLeen-Kiat SohDepartmentofComputerScienceandEngineeringUniversityofNebraska,Lincoln,NEE-mail:lksoh@cse.unl.edu

Hmm….

Whatiscomputational

thinking?

http://www.picturescraze.com/movies/1528/despicable+me+minion.html

WhatisComputationalThinking?

• A wayofthinkingforlogically andmethodicallysolvingproblems– E.g.,purposeful,describable,replicable

• Includesskills suchas– Decomposition– PatternRecognition– Abstraction– Generalization– AlgorithmDesign– Evaluation

Decomposition

• Breakingdownaprocessintoasetofsmallersub-processestoallowustodescribe,understand,orexecutetheprocessbetter– Dividingataskintoasequenceofsubtasks– Identifyingelementsorpartsofacomplexsystem

Decomposition

ExamplesofDecomposition

• Whenwetasteanunfamiliardishandidentifyseveralingredientsbasedontheflavor,wearedecomposingthatdishintoitsindividualingredients

• Whenwegivesomeonedirectionstoourhouse,wearedecomposing theprocessofgettingfromoneplacetoanother(e.g.,city,interstate,etc.)

• Whenwebreakacourseprojectintoseveralsteps,wearedecomposingthetaskintosmaller,moremanageablesubtasks

• Inmathematics,wecandecompose anumbersuchas256.37 asfollows:2*102+5*101+6*100+3*10-1+7*10-2

PatternRecognition

• Noticingoridentifyingsimilaritiesorcommondifferencesthatwillhelpusmakepredictionsorleadustoshortcuts–Welookforpatterns whenweplaygamestodecidewhentodocertainthings

– Basedonexperience,wedevelopshortcutsmappingproblemcharacteristicstosolution

PatternRecognition

ExamplesofPatternRecognition

• Welookforpatternswhenchoosingaregistrarwhenwecheckout

• Driverslookforpatternsintraffictodecidewhetherandwhentoswitchlanes

• Peoplelookforpatternsinstockpricestodecidewhentobuyandsell

• Scientistslookforpatternsindatatoderivetheoriesandmodels

• Welookforpatternsandlearnfromthemtoavoidrepeatingthesamemistake– “Lasttimewedidthis,itwas…let’strysomethingdifferent…”

Abstraction

• Preservinginformationthatisrelevantinacontext,andforgettingorsuppressinginformationthatisirrelevantinthatcontexttosolveaproblem–Weuseabstractiontoorganize things:• Ahumanisamammal,amammalisananimal,andsoon

– A “bigpicture”sowecanreasonwithoutthinkingaboutthedetails

– Transferlearningorlearningbyanalogy

Guttag,JohnV.(2013-01-18).IntroductiontoComputationandProgrammingUsingPython(Spring2013editioned.).Cambridge,Massachusetts:TheMITPress.ISBN9780262519632.

Abstraction

ExamplesofAbstraction

• Aworldmapisanabstraction oftheearthintermsoflongitudeandlatitude,helpingusdescribethelocationandgeographyofaplace

• Asignofanaisleinastore—e.g.,Walmart—isanabstraction oftheitemsavailableinthataisle

• Whenwewriteabookreport,wesummarizeanddiscussonlythethemeorkeyaspectsofthebook,itisabstraction

• Whenwetellastoryordescribeamovietoourfriends,whydon’twedescribeeverysingledetailofthestoryormovie?

Generalization

• Identifyingcommonorsharedcharacteristicsbetweentwodomainsorproblemssuchthatmodelsorsolutionsofonecouldbeadaptedorappliedtotheother– Mammalsarewarmblooded,givelivebirth,havehair,andsoon.Anelephantisamammal.Therefore,itiswarmblooded,givelivebirth,havehair…

– GroupprojectAsuccessfulbecauseofgoodteamworkstrategy.ApplysamegoodteamworkstrategytogroupprojectBshouldworktoo.

– Dealswithtrends,norms,outliers,scalability

Generalization

ExamplesofGeneralization

• Facebooktriestorecommendadstousersbasedonwhattheygeneralizefromwhatourfriendslike

• Googlesearchidentifiespopularkeywordsindifferentregionsatdifferenttimesandsuggeststhosekeywords(inautocompleteandalsocorrection)usingageneralization-likeprocess

• Amazon.com andNetflixmodelandcategorizetheircustomers,usegeneralization—inferencing—topredictwhattheircustomersareinterestedin,andmakerecommendationsaccordingly

• Whenwedon’thavecompleteinformation,weresorttogeneralizationtomakedecisions(sometimesincorrectly)– Thinkabout:biases,stereotypes,superstitions

AlgorithmDesign

• Developingastep-by-stepstrategyforsolvingaproblem– Analgorithmisasequenceofstepsthatsolvesaproblem• Inputà output• Effective

– Algorithmicthinkinginvolvesbothcreation andexecution ofanalgorithm

AlgorithmDesign

ExamplesofAlgorithmDesign

• Whenacookwritesarecipeforadish,heorsheiscreatinganalgorithmthatotherscanfollowtoreplicatethedish

• Whenyourfriendwritesdowntheinstructiontogettoherhouse,heorsheisspecifyingasequenceofsteps—thatis,analgorithm—foryoutofollow(SeeGooglemaps!)

• Whenateachergivesasetofinstructionstocarryoutanexperiment,heorsheisspecifyinganalgorithmforyoutofollowtocollectandanalyzedata

• Whenyoufollowaninstallationmanualtoassembleabookshelf,youareexecutinganalgorithm

Evaluation

• Checkingtoseewhetherasolutionisgood– Algorithmcorrectness– Requirements(meetingconstraints,designprinciples,etc.)

– Performance(usability,efficiency,speed,complexity,reliability,etc.)

Evaluation

https://medium.com/@FreeCodeCamp/coding-explained-in-25-profound-comics-8847ea03819c

ExamplesofEvaluation

• Whenwecook,wetasteourdishesandthenadjustflavoringaccordingly

• Whenwefoldapaperairplane,wetestitsflight,andthenreviseeitherthedesignorthe“execution”tomakeitflybetter

• Whenwejogorbike,wekeeptrackofourbreathing,joints,etc.,anddecidewhethertostop,goslower,orgofaster

• Whenwecarryoutaphysicsexperiment,say,tofindtherelationshipbetweentemperatureandpressure,wecheckourdata,investigatewhyitdoesnotmatchthetheory,redoourexperimentalsetup,andrecollectdatapoints…

So,ComputationalThinkingis…

• Decomposition• PatternRecognition

• Abstraction• Generalization• AlgorithmDesign

• Evaluation

Waitaminute…Thesearethings

thatwealreadyarecapableofdoing!!!

http://www.wallpapersax.com/wallpaper/cartoons-despicable-me-minion.html

WhatisComputerScience?

• Therearemanydefinitions.ComputerSciencehelpsuspracticeourcomputationalthinkingbetter,faster,withlargerandmorecomplexproblems… …

WhatisComputerScience?

Science:Welearn,model,anddescribehowhumansthink,makedecisions,andsolveproblems……

http://www.zastavki.com/eng/Cartoons/wallpaper-51616.htmhttps://www.pinterest.com/pin/357332551655575856/

Engineering:Webuildcomputersolutionstosupportandautomate

humanthinking,decisionmaking,problemsolving

...

WhatisComputerProgramming?

• Aprocessthatleadsfromanoriginalformulationofacomputingproblemtoexecutableprograms

CODE…

http://en.wikipedia.org/wiki/Computer_programminghttp://www.beyondhollywood.com/despicable-me-2-teaser-trailer-now-with-more-minion-abuse/

CODE…CODE…

Code.orghttp://code.org

GotoVideoFromcode.org

Resources• ManyCS&ComputationalThinkingeducation/outreachresourcesavailableonline• NationalCenterforWomen&InformationTechnology(NCWIT)“in-a-box”kitshttp://ncwit.org

• Ensemble,aPortalforComputingEducatorshttp://www.computingportal.org

• CSEducationWeekhttp://www.csedweek.org• Google’sComputerScienceforHighSchool(CS4HS)

http://cs4hs.com

• Google’sExploringComputationalThinkinghttps://edu.google.com/resources/programs/exploring-computational-thinking/

• Code.orghttp://code.org• …

• “CSUnpluggedisacollectionoffreelearningactivitiesthatteachComputerSciencethroughengaginggamesandpuzzlesthatusecards,string,crayonsandlotsofrunningaround.”

30

“Theactivitiesintroducestudentstounderlyingconceptssuchasbinarynumbers,algorithmsanddatacompression,separatedfromthedistractionsandtechnicaldetailsweusuallyseewithcomputers.”

“CSUnpluggedissuitableforpeopleofallages,fromelementaryschooltoseniors,andfrommanycountriesandbackgrounds.Unpluggedhasbeenusedaroundtheworldforoverfifteenyears,inclassrooms,sciencecenters,homes,andevenforholidayeventsinapark!”

CSUnpluggedhttp://csunplugged.org

31

go

CSUnpluggedhttp://csunplugged.org

CreatedbyTimBell,IanH.Witten,andMikeFellows,andillustratedbyMattPowell

32

CSUnpluggedAsNCWIT’sComputerScience-in-a-Box:UnplugYourCurriculum

(http://www.ncwit.org/resources/computer-science-box-unplug-your-curriculum)

• Examples– Magiccardshow– errordetection– Treasureisland– finitestatemachines– Sortinggame– sortingnetworks

Finally…

“Computationalthinkingisafundamentalskillforeveryone,notjustforcomputer

scientists.Toreading,writing,andarithmetic,weshouldaddcomputational

thinkingtoeverychild’sanalyticalability.”–JeannetteWing,CACM 2006

34

Finally…ComputationalThinkingis…

• Conceptualizing,notprogramming– ComputerScienceisnot just computerprogramming

• Fundamental,notroteskill– Askillneededbyeveryonetofunction

• Awaythathumans,notcomputers,think– Humansarecleverandcreative;computerstakeinstructionsfromhumans

• Ideas,notartifacts– Ideasgivebirthtoartifacts

• It’sforeveryone– Notjustforcomputerscientist;butforeveryone

35

SpecialBond:ComputationalThinkingandCS

• Articulationofcomputationalthinkingskillsandprocessesintoreusablecomputerprograms(e.g.,instructingmachinestodopatternrecognition)viacodingmakesusmoreawareandattentiveofcomputationalthinking

• … andmore efficientandeffectiveinpracticingcomputationalthinkinginlearning,problemsolving,etc.

36

Flavorsof ComputationalThinking…

Denning,P.(2017).RemainingTroubleSpotswithComputationalThinking,CommunicationsoftheACM,60(6):33-39.

References

• http://www.google.com/edu/computational-thinking• PaulCurzon’s“SoWhatisComputationalThinking”• JeannetteM.Wing’s“ComputationalThinking”,CommunicationsoftheACM,March2006,pp.33-35

• https://en.wikipedia.org/wiki/Computer_science

“It'sanenergyfieldcreatedby all livingthings.Itsurrounds us and

penetrates us;itbindsthe galaxytogether.”

Obi-WanKenobiintroducedLukeSkywalkerandmostof us to theForce for the firsttimeinStarWars:ANewHope

“It'saskill practiced by all livingthings.Itsurrounds us and

penetrates us;itbindsproblemsolving(andlearning,discovery,…)

together.”

Leen-Kiat Soh onthefundamentalityofComputationalThinking.

“Maycomputationalthinkingbewithyou.”

https://images-na.ssl-images-amazon.com/images/G/01/aplusautomation/vendorimages/65fa961e-8f22-4fe6-a420-3c3c26dd2953.jpg._CB289161999__SL300__.jpg

top related