计算思维

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Itrepresentsauniversallyapplicableattitudeandskillseteveryone,notjustcomputerscientists,wouldbeeagertolearnanduse.计算思维代表的是哪里都适用的一种态度和技能,是每个人,而不仅是计算机科学家,都热衷于学习和运用的。Computationalthinkingbuildsonthepowerandlimitsofcomputingprocesses,whethertheyareexecutedbyahumanorbyamachine.Computationalmethodsandmodelsgiveusthecouragetosolveproblemsanddesignsystemsthatnooneofuswouldbecapableoftacklingalone.Computationalthinkingconfrontstheriddleofmachineintelligence:Whatcanhumansdobetterthancomputers?andWhatcancomputersdobetterthanhumans?Mostfundamentallyitaddressesthequestion:Whatiscomputable?Today,weknowonlypartsoftheanswerstosuchquestions.计算机思维建立的基础是计算机处理的能力及其局限性,不管是由人还是机器来执行。计算机方法和模型使我们有勇气去解决问题,设计出无论哪个个人都无法独立担纲的系统。计算机思维面对着有关机器智能的不解之谜:人做什么比计算机强?计算机什么比人好?最根本的问题是:什么是可以计算机做的?今天,我们对这样的问题仍然一知半解。Computationalthinkingisafundamentalskillforeveryone,notjustforcomputerscientists.Toreading,writing,andarithmetic,weshouldaddcomputationalthinkingtoeverychild'sanalyticalability.JustastheprintingpressfacilitatedthespreadofthethreeRs,whatisappropriatelyincestuousaboutthisvisionisthatcomputingandcomputersfacilitatethespreadofcomputationalthinking.计算机思维是每个人的基本技能,不只属于计算机科学家。在阅读,书写和算术之外,应该把计算机科学加入每个儿童的分析能力培养。和出版社促进了3个R的传播相类似,计算机和使用电脑促进了计算机思维的传播。Computationalthinkinginvolvessolvingproblems,designingsystems,andunderstandinghumanbehavior,bydrawingontheconceptsfundamentaltocomputerscience.Computationalthinkingincludesarangeofmentaltoolsthatreflectthebreadthofthefieldofcomputerscience.计算机思维采纳计算机科学的基本理念,可运用于问题的解决,系统设计和理解人类行为。计算机思维包含了一定范围内的思维工具,反映出计算机科学领域的广泛性。Havingtosolveaparticularproblem,wemightask:Howdifficultisittosolve?andWhat'sthebestwaytosolveit?Computersciencerestsonsolidtheoreticalunderpinningstoanswersuchquestionsprecisely.Statingthedifficultyofaproblemaccountsfortheunderlyingpowerofthemachine—thecomputingdevicethatwillrunthesolution.Wemustconsiderthemachine'sinstructionset,itsresourceconstraints,anditsoperatingenvironment.在解决一个问题时,我们会问:这有多难?怎样做是最佳的方法?计算机思维站在坚实的理论地基上给予这样的问题精确的答案。问题的难度要说取决于机器的能力-用来解决问题的计算工具。要考虑机器的指令,资源的约束和运行环境。Insolvingaproblemefficiently,wemightfurtheraskwhetheranapproximatesolutionisgoodenough,whetherwecanuserandomizationtoouradvantage,andwhetherfalsepositivesorfalsenegativesareallowed.Computationalthinkingisreformulatingaseeminglydifficultproblemintooneweknowhowtosolve,perhapsbyreduction,embedding,transformation,orsimulation.为了有效率地解决问题,我们也许要进而问道,貌似的解决方案是不是最好的呢,我们可以随机化优势吗,是否允许主动错误或者被动错误。计算机思维通过简化,嵌入,转换或者模拟,将看来困难的问题转化为可以解决的问题。Computationalthinkingisthinkingrecursively.Itisparallelprocessing.Itisinterpretingcodeasdataanddataascode.Itistypecheckingasthegeneralizationofdimensionalanalysis.Itisrecognizingboththevirtuesandthedangersofaliasing,orgivingsomeoneorsomethingmorethanonename.Itisrecognizingboththecostandpowerofindirectaddressingandprocedurecall.Itisjudgingaprogramnotjustforcorrectnessandefficiencybutforaesthetics,andasystem'sdesignforsimplicityandelegance.计算机思维是递归思维,并行处理。它将代码译为数据,又将数据译成代码。它用维度分析的泛化进行类型检查。承认异化的优缺点。给某个人或物多个名字。它同时意识到间接寻址和程序呼叫的代价和用处。它不只用正确程度和效率来评判一个程序,还判断美感,系统设计的简洁和优雅。Computationalthinkingisusingabstractionanddecompositionwhenattackingalargecomplextaskordesigningalargecomplexsystem.Itisseparationofconcerns.Itischoosinganappropriaterepresentationforaproblemormodelingtherelevantaspectsofaproblemtomakeittractable.Itisusinginvariantstodescribeasystem'sbehaviorsuccinctlyanddeclaratively.Itishavingtheconfidencewecansafelyuse,modify,andinfluencealargecomplexsystemwithoutunderstandingitseverydetail.Itismodularizingsomethinginanticipationofmultipleusersorprefetchingandcachinginanticipationoffutureuse.计算机思维利用抽象和分解来对付复杂的大型任务或者来设计复杂的大型系统。它使你远离担忧。它挑出合适的代表性的问题或者给问题的相关方面建模使问题易于处理。它使用不变量来概要地或者陈述性地描述系统行为。它确信我们无需理解系统的每个细节就可以安全地使用,修改或者影响一个大型复杂的系统。它设想多个不同的用户建立不同的模块,为了设想的未来的使用进行预加载或缓存。Computationalthinkingisthinkingintermsofprevention,protection,andrecoveryfromworst-casescenariosthroughredundancy,damagecontainment,anderrorcorrection.Itiscallinggridlockdeadlockandcontractsinterfaces.Itislearningtoavoidraceconditionswhensynchronizingmeetingswithoneanother.计算机思维都以最糟糕的情形来考虑预防,保护和复原,方法可以是冗余,容错和纠错。它采取呼叫高压封锁,死锁或者约定界面的方法。它还学习在发生同步相遇时避免竞争的情形。Computationalthinkingisusingheuristicreasoningtodiscoverasolution.Itisplanning,learning,andschedulinginthepresenceofuncertainty.Itissearch,search,andmoresearch,resultinginalistofWebpages,astrategyforwinningagame,oracounterexample.Computationalthinkingisusingmassiveamountsofdatatospeedupcomputation.Itismakingtrade-offsbetweentimeandspaceandbetweenprocessingpowerandstoragecapacity.计算机思维使用启发式推理找到解决之道。它在不确定的情况下进行计划,学习和安排。它是搜寻,搜寻,再搜寻,找到一长列的网页,赢得游戏的攻略或是一个反例。它是使用大量的数据来提高计算的速度。它是在时间和空间中,在处理能力和存储容量中找到平衡。Thinkinglikeacomputerscientistmeansmorethanbeingabletoprogramacomputer.Itrequiresthinkingatmultiplelevelsofabstraction.思考就像一位计算机科学家意味着不仅仅只会规划计算机。它也需要在多种水平的抽象上的思考。Considertheseeverydayexamples:Whenyourdaughtergoestoschoolinthemorning,sheputsinherbackpackthethingssheneedsfortheday;that'sprefetchingandcaching.Whenyoursonloseshismittens,yousuggestheretracehissteps;that'sbacktracking.Atwhatpointdoyoustoprentings

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功