计算思维操作性定义课件_第1页
计算思维操作性定义课件_第2页
计算思维操作性定义课件_第3页
计算思维操作性定义课件_第4页
计算思维操作性定义课件_第5页
已阅读5页,还剩120页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算思维操作性定义李波boble.cbobbleee计算机教学实验中心高效能建模与仿真研究小组西安交通大学2012年11月计算思维操作性定义汇报提纲缘与使命对计算本质认识的变革计算思维主要定义对问题求解的认识引起对计算机教学的再认识计算机学科的本质特点计算思维操作性定义计算思维操作性定义缘与使命图灵诞生100周年龙女计算思维西安首届1912年6月23日生于伦敦计算思维操作性定义

DragonLadyIn1983,IwenttoChinafortwomonthswithaChinese-Americanstudenttourgroup.WespenttwoweeksinXi'an,wherewewereeachhandedasword,andeverymorningwehadtowakeupat5o'clockandweweresupposedtolearnthissworddance.Ireallytooktoit.Tome,itwaslikeballet.DoingaChinesesworddance,whichIlearnedinXi'an,China计算思维操作性定义缘与使命图灵诞生100周年龙女计算思维西安首届使命传承计算文化弘扬计算之美培养计算思维计算思维操作性定义汇报提纲缘与使命对计算本质认识的变革计算思维主要定义对问题求解的认识引起对计算机教学的再认识计算机学科的本质特点计算思维操作性定义计算思维操作性定义PeterJ.DenningCOMMUNICATIONSOFTHEACMJuly2007/Vol.50,No.7计算思维操作性定义对计算本质认知的变革阶段11940s工具阶段21980s方法阶段32000s基本过程电子数字计算机时代Computation

wasseenasatoolforsolvingequations,crackingcodes,analyzingdata,managingbusinessprocesses,runningsimulations,andsolvingmodels.Computationsoonestablisheditselfasapowerfultoolthatmadeformerlyintractableanalysestractable.Ittookmanytechnologiestonewheights,suchasatomicenergy,

advancedaircraftandshipdesign,drugdesign,structuralanalysesofbuildings,andweatherprediction.计算思维操作性定义对计算本质认知的变革阶段11940s工具阶段21980s方法阶段32000s基本过程Computationhadadvancedfromatooltoexploitexistingknowledgetoameansofdiscoveringnewknowledge.NobelPhysicsLaureateKenWilsonwasamongthefirsttosaythatcomputationhadbecomeathirdlegofscience,joiningthetraditionsoftheoryandexperiment.Heandotherscoinedtheterm“computationalscience”torefertothesearchfornewdiscoveriesusingcomputationasthemainmethod.计算思维操作性定义阶段11940s工具阶段21980s方法阶段32000s基本过程Scientistsfrommanyfieldsweresayingtheyhaddiscoveredinformationprocessesinthedeepstructuresoftheirfields.BiologyNobelLaureateandCaltechPresidentDavidBaltimore“Biologyistodayaninformationscience.Theoutputofthesystem,themechanicsoflife,areencodedinadigitalmediumandreadoutbyaseriesofreadingheads.Biologyisnolongersolelytheprovinceofthesmalllaboratory.Contributionscomefrommanydirections.”(TheInvisibleFuture,Wiley,2001,p.45.)对计算本质认知的变革计算思维操作性定义Naturalinformationprocesses.:naturelongagolearnedhowtoencodeinformationaboutorganismsinDNAandthentogenerateneworganismsfromDNAthroughitsown

computationalmethods.PhysicsPhysicistssaidthatquantumwavescarryinformationthatgeneratesphysicaleffects.Theyhavemadesignificantadvanceswithquantumcomputationandquantumcryptography.NobelLaureateRichardFeynmanbecamefamousforshowingthatquantumelectrodynamics(QED)wasnature’scomputationalmethodforcombiningquantumparticleinteractions.InhisbookANewKindofScience(2002),StephenWolframproclaimedthatnatureiswritteninthelanguageofcomputation,challengingGalileo’sclaimthatitiswritteninmathematics.JeanetteWinghasconcludedthatcomputationalconceptsaredeeplyembeddedintoeverydaythinkinginmanyfields.Computationiseverywhere.计算思维操作性定义相关学科发展背景

计算思维操作性定义中国至2050年信息科技发展路线图发展泛在的信息科学技术,构建泛在的信息网络,重点围绕无处不在的网络信息技术应用,信息基础设施升级换代,信息器件、设备与软件的变革性突破,新信息科学与前沿交叉科学等四个层次进行战略安排。计算思维操作性定义2020年前后突破低成本器件和系统设计技术,物理世界的新型感知机理、语义检索和分析技术等。发展可扩展、高可信的下一代互联网和自组织的无线传感网络,积极推进三网融合。按照延续、扩展和跨越摩尔定律三条途径发展微电子技术和新型信息器件,突破多核芯片设计、片上光互联和片上大规模光计算、艾级(1018)超级计算技术等。突破网络科学、分布式交互算法设计理论、大规模工业软件、自然的人机界面、蛋白质结构预测等;构建“平行社会”系统。计算思维操作性定义2035年前后突破网络信息理论、网络算法理论、网络计算模型等。建立可持续网络服务体系,突破低功耗芯片和系统设计、实用的知识本体与知识网格技术等。实现超越TCP/IP的未来网络和具有感知与认知能力的无线通信系统,突破分组交换的全光网络技术等。突破纳米、量子等变革性器件和电路技术,实现泽级(1021)超级计算,软件开发成本平均每两年降低50%。突破可信计算系统、情感理解技术等;构建人类基因组差异数据库。计算思维操作性定义2050年前后建立普适的信息科学,计算成为自然系统、人造系统、社会系统领域的基本思维方式;构建可持续发展的计算基础设施和应用服务;继计算与网络融合、计算与物理系统融合之后,脑科学与认知科学取得重大突破,实现计算与智能的融合,形成较成熟的信息科学。计算思维操作性定义ComputationalLens计算思维操作性定义计算思维操作性定义三栖学者理查德·卡普(RichardKarp)教授现任美国加州大学伯克利分校计算机科学讲座教授,美国科学院、美国工程院、美国艺术与科学院、欧洲科学院院士。因其在计算机科学领域的基础贡献曾获图灵奖、冯诺依曼奖、美国国家科学勋章、哈佛大学百年奖章等奖项,还担任美国科学院会刊(PNAS)等多个国际著名刊物编委。卡普之所以被称为“三栖学者”是因为他知识渊博,贯通多个学科专业,因而同时被加州大学伯克利分校的电气工程和计算机系、数学系以及工业工程和运筹学系三个系聘为教授。卡普被授予图灵奖,是因为他在算法的设计与分析、计算复杂性理论、随机化算法等诸多方面作出了创造性贡献。生物信息学的开创人计算思维操作性定义RichardM.Karp提出的“计算透镜”(ComputationalLens)理念被认为是未来二十年计算机科学可能的发展方向之一。其核心理念是将计算作为一种通用的思维方式,通过这种广义的计算(涉及信息处理、执行算法、关注复杂度)来描述各类自然过程和社会过程,从而解决各个学科的问题。这一理念试图将计算机科学由最初的数值计算工具、仿真与可视化技术以及后来基于网络、面向多学科的e-Science平台,变成普遍适用于自然和社会领域的通用思维模式。计算思维操作性定义ComputationalSocialScience

计算社会科学计算思维操作性定义ComputationalSocialScience6FEBRUARY2009VOL323SCIENCEDavidLazer,AlexPentland,LadaAdamic,SinanAral,Albert-LászlóBarabási,DevonBrewer,NicholasChristakis,NoshirContractor,JamesFowler,MyronGutmann,TonyJebara,GaryKing,MichaelMacy,DebRoy,MarshallVanAlstyneHarvardUniversity,MIT,UniversityofMichigan,NewYorkUniversity,NortheasternUniversity,InterdisciplinaryScientificResearch,NorthwesternUniversity,UniversityofCalifornia–SanDiego,ColumbiaUniversity,CornellUniversity,BostonUniversity计算思维操作性定义《Science》2009年2月发表的一篇关于计算社会科学的文章《ComputationalSocialScience》,该文由美国11个大学及研究机构的共15名研究人员共同编写。文章从计算社会科学的数据获取、研究方法、制约因素、人才培养4个方面,描述了计算社会科学的发展、讨论了社会科学研究的特点等。其主要目的是想借此文向广大读者介绍计算社会科学这一学科理念,推动、提高社会科学研究水平,进一步繁荣社会科学研究工作。计算思维操作性定义数字印记(DigitalTraces)目前人们广泛地以各种不同形式、方式生活在各种网络中:人们频繁地检查电子邮件和使用搜索引擎随时随地拨打移动电话和发送短信每天刷卡乘坐交通工具经常使用信用卡购买商品。写博客、发微薄、通过SNS来维护人际关系在公共场所,监视器可以记录人们的活动情况在医院,人们的医疗记录以数字形式被保存以上的种种事情都留下了人们的数字印记(踪迹)。计算思维操作性定义这些数据中蕴含的关于个人和群体行为的规律可能足以改变我们对个人生活、组织机构乃至整个社会的认知。相比较生物和物理等其他学科领域,数据驱动的“计算社会科学”要出现的晚一些,而随着对这种大量社会数据的记录和分析,就逐步产生了计算社会科学。随着信息化和网络化的不断普及与深入,社会动态变化的速度和规模已经提高到一个前所未有的水平,计算社会科学成为新的热点。定义Afieldisemergingthatleveragesthecapacitytocollectandanalyzedataatascalethatmayrevealpatternsofindividualandgroupbehaviors.一个新兴的领域:利用大规模数据收集和分析能力揭示个人和群体的行为模式。计算思维操作性定义与传统社会科学通过问卷调查形式获得的数据不同,我们可以借助以上种种新技术获得长时间的、连续的、大量人群的各种行为和互动的数据。这些数据为研究动态的人际交流、大型社会网络的演化等方面的问题提供了坚实的基础。例如:可以通过电子邮件的记录研究一个群体是趋向稳定还是趋向变化、成员之间什么样的交流模式有利于提高效率、接收信息的多样化是否会提高成员的活力和表现等问题;可以通过给成员佩戴实时记录位置、移动等信息的小电子装置收集数据,研究成员的流动和相互交流的模式对于团体产出的影响;可以通过电子商务网站的查询和交易记录,以及网上电话记录等范围覆盖全球的人际互动数据研究人际互动在经济生产力、公众健康等方面产生的影响;可以利用互联网上的搜索和浏览记录研究什么是当前公众关心的焦点;可以通过网络社区上的帖子研究个体在网络中的位置对他们的品味爱好、情绪和健康的影响;可以通过移动电话追踪人们的位置,研究传染病的传播等等。计算思维操作性定义Agent-based-Modelling

计算思维操作性定义Whydidnobodynoticeit?计算思维操作性定义

LuisGaricanoatLSEshowsQueenElizabethIIachartexplaininghowthecreditcrunchwascaused.AgroupofeminenteconomistshascometotheQueen'srescueaftersheaskedwhynoonehadpredictedthecreditcrunchduringavisittotheLondonSchoolofEconomicsinNovember.计算思维操作性定义Page.30 2016年的一天早上,电子显示屏上的橙色报警灯突然不停闪烁着,美国政府的专家们探测到一个关乎国家安全的预警信号。 由于这个电子显示屏背后关联着世界上最大的一些金融机构,包括银行、政府、对冲基金、网络银团等。而橙色预警灯闪烁表明美国的对冲基金已经积聚在相同的金融资产上,此时,如果某个基金突然变现卖出,警示信号就会出现,而这种下挫价格的行为,迫使其他基金尾随卖出,加速资产价格下挫。很多基金可能在短短的30分钟内就会破产,对整个金融系统造成极大的威胁。 但是,运用高性能计算机对海量的数据运行并处理后,可以对不可预知的风险进行“情景”预现,此时,金融监管部门及时介入从而可以安全平息此次潜在的金融风险事件。Buchanan,M.(2009),Meltdownmodelling,Nature460,680-682.

计算思维操作性定义MarkBuchanan,Meltdownmodelling:Couldagent-basedcomputermodelspreventanotherfinancialcrisis?Nature,2009。该文认为,传统的经济模型已经失败了多次,到现在为止,在没有任何前期试验下,我们还在建立新的经济估算;专家之间的不同知识,可以互撞,并产生新的知识;基于智能体的建模也许可以来预防下一次金融危机。EURACE是欧盟经济体共同投资开发中的研究欧盟宏观经济政策的仿真系统。其主要科学目标是建立一个以微观经济为基础的宏观经济分析框架,提供分析全球规则涌现的新视角。其主要的社会目标是通过仿真分析财政政策和货币政策的协调、外部环境震荡下稳定宏观经济的政策、鼓励科技变革和创新等经济政策的影响,以不断调整和改善经济政策 在EURACE平台中,其市场的构建分为劳动力市场、资本产品市场和消费品市场,以及能源市场和信贷消费市场,并且这些市场之间是相互交互的themodelcurrentlyrepresentssome10millionhouseholds,100,000firmsandabout100banks计算思维操作性定义

Farmer和Foley(2009)在《Nature》上提出:在IT高度发达的今天,人们会想当然地假定,奥巴马及其经济团队会采用高超的计算模型来指引美国走出危机。然而遗憾的是,他们并没有这样做。因此,政策制订者往往依赖于经验和感觉,采用”屁股决定脑袋”的方式决策Farmer,D.andD.Foley(2009),Theeconomyneedsagent-basedmodeling,Nature460,685-686.计算思维操作性定义当今经济的理论模型,可以分为两大类:计量经济方法和动态随机均衡方法。计量经济方法只可在经济环境变化不大的时候具有较好的预测性,但是当经济环境出现重大改变的时候就不再适用了。动态随机均衡方法一般都是基于比较理想化的假设条件,而这通常与现实差别较大,特别当现实中出现市场失灵等情况时。基于“基于智能体的建模(AgentBasedModelling,ABM)”方法是经济建模的下一个突破口ABM方法是将经济系统模拟成一个由众多智能体(agent)之间交互的计算机系统,然后以计算机模拟去研究经济问题;ABM方法不需要完全竞争和一般均衡等假设,微观层面上每个智能体基于自身状况和外界条件做出反映。计算思维操作性定义ASPEN计划ASPEN是由美国Sandia国家实验室开发的一套模拟美国经济运行的系统,该系统采用了基于Agent的思想进行建模,在模型中包含了家庭、企业、政府、银行、联邦储备局等多类Agent,这些Agent能够在劳动力市场、产品市场、债券市场和信贷市场上进行活动,衍生出各种不同的市场情景和极端风险事件,为国家的政策制定和风险管理提供有利的工具计算思维操作性定义通过网络实现的科学发现与技术创新Cyber-EnabledDiscoveryandInnovation,CDI计算思维操作性定义CDI2008年NSFCISE启动了“通过网络实现的科学发现与技术创新”(Cyber-EnabledDiscoveryandInnovation,CDI)的5年研究计划。是实现计算思维的第一个美国国家科学基金会的重大计划。它的目的是,通过计算思维的创新和进步(包括概念、方法、模型、算法、工具和系统等),对科学与工程领域产生新理解、新模式,创造革命性的研究成果。计算思维操作性定义FromDatatoKnowledge:

enhancinghumancognitionandgeneratingnewknowledgefromawealthofheterogeneousdigitaldata;数据特点HugeDistributedDynamicHeterogeneousNoisyUnstructured/semi-structured计算思维操作性定义从数据中发现知识(FromDatatoKnowledge)其基本目的是从大量的、杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说是有价值、有意义的知识,并作为决策的依据。数据大致可分成结构化数据和非结构化数据难点判定一个数据集里面含不含某种知识如何发现其中的知识知识如何表示。已发现的知识与实际蕴藏的知识之间的关系。计算思维操作性定义39NontraditionalChallengesTraditionallyCopewiththecomplexityoftheproblemNewchallengesHowtoefficientlycomputeonmassivedatasets?RestrictedaccesstothedataNotenoughtimetoreadthewholedataTinyfractionofthedatacanbeheldinmainmemoryHowtofinddesiredinformationinthedata?Howtosummarizethedata?Howtocleanthedata?MassiveDataSetsCopewiththecomplexityofthedata计算思维操作性定义例:Model,simulate,analyze,andvalidatecomplexsystemswithlargedatasets.

用大数据集描述,模拟,分析和验证复杂系统计算思维操作性定义利用大规模数据集完成对复杂系统的建模,仿真,分析,和验证。从可能包含噪声的高维度的数据中提取出重要的特征和模式,在大量的应用场景中是至关重要的。Model,simulate,analyze,andvalidatecomplexsystemswithlargedatasets.Extractionofsignificantfeaturesandpatternsfromhigh-dimensionaldata,whichcanbenoisy,iscrucialinagreatvarietyofsettings.例如,地球系统(地球科学),引力波(物理),星系的形成(天文学),高度复杂的动态系统仿真、健康监测、预测、设计和控制(工程),ExamplesincludetheEarthsystem(geosciences),gravitationalwaves(physics),galaxyformation(astronomy),highlycomplexdynamicalsystemssimulation,healthmonitoring,prediction,designandcontrol(engineering),计算思维操作性定义通信和网络的控制和优化(信息技术),人类和社会行为仿真(社会科学),灾难响应模拟和反恐准备(国土安全),设计减轻外部威胁的自动响应式的智能系统(国土安全),多尺度预测生态和进化过程(生物科学),软件开发(信息技术),以及风险分析。communicationandnetworkcontrolandoptimization(informationtechnology),humanandsocialbehaviorsimulation(socialsciences),disasterresponsesimulationandanti-terrorismpreparation(homelanddefense),designofsmartsystemsformitigationofexogenousthreatsusingautonomicresponse(homelandsecurity),predictiveunderstandingofecologicalandevolutionaryprocessesatmultiplescales(biologicalsciences),softwaredevelopment(informationtechnology),andriskanalysis.计算思维操作性定义一些系统的关键问题是如何判断和理解当一个输入达到临界点的时候,系统是否会进入根本不同的行为模式;例如,全球的气候(与大气中二氧化碳含量相关)和美国经济(与联邦基金利率相关)。Akeyissueforsomesystemsisunderstandingwhethertheywillenterafundamentallydifferentmodeofbehaviorwhenaninputcrossesatippingpoint;examplesincludetheEarth'sclimate(duetoatmosphericcarbondioxide)andtheU.S.economy(duetothefederalfundsinterestrate).主题:知识数据,复杂性领域:所有科学和工程领域Themes:DatatoKnowledge,Complexity.Domains:allfieldsofscienceandengineering.计算思维操作性定义汇报提纲缘与使命对计算本质认识的变革计算思维主要定义对问题求解的认识引起对计算机教学的再认识计算机学科的本质特点计算思维操作性定义计算思维操作性定义JeannetteWing’sdefinition(s)2006CTCACM49,33–35.CTinvolvessolvingproblems,designingsystems,andunderstandinghumanbehavior,bydrawingontheconceptsfundamentaltocomputerscience.Toflourishintoday'sworld,computationalthinkinghastobeafundamentalpartofthewaypeoplethinkandunderstandtheworld.

CTistakinganapproachtosolvingproblems,designingsystemsandunderstandinghumanbehaviorthatdrawsonconceptsfundamentaltocomputing(Wing2006).Computingistheautomationofourabstractions.

(Computing:abstractionandautomation)TheessenceofCTisabstraction.CTisakindofanalyticalthinking.计算思维操作性定义计算思维操作性定义TheFirstAtoCTAbstractionsareour“mental”toolsTheabstractionprocessincludesChoosingtherightabstractionsOperatingsimultaneouslyatmultiplelayersofabstractionDefiningtherelationshipsthebetweenlayersTheSecondAtoCTThepowerofour“mental”toolsisamplifiedbyour“metal”tools.Automationismechanizingourabstractions,abstractionlayers,andtheirrelationshipsMechanizationispossibleduetopreciseandexactingnotationsandmodelsThereissome“computer”belowhumanormachine,virtualorphysicalFromJeannetteM.Wing计算思维操作性定义TwoA’stoC.T.CombinedComputingistheautomationofourabstractionsTheygiveustheaudacityandabilitytoscale.CTchoosingtherightabstractions,etc.choosingtheright“computer”forthetaskFromJeannetteM.WingCT==ComputingNOT

Computerliteracy,i.e.,howtouseWordandExcelorevenGoogleComputerprogramming,i.e.,beyondJavaProgramming101计算思维操作性定义17November2010herresearchnotes:CT:WhatandWhy?2010,JanCuny,LarrySnyder,andJeannetteM.Wing,“DemystifyingCTforNon-ComputerScientists,”workinprogress.“CTisthethoughtprocessesinvolvedinformulatingproblemsandtheirsolutionssothatthesolutionsarerepresentedinaformthatcanbeeffectivelycarriedoutbyaninformation-processingagent.”

Informally,CTdescribesthementalactivityinformulatingaproblemtoadmitacomputationalsolution.Thesolutioncanbecarriedoutbyahumanormachine,ormoregenerally,bycombinationsofhumansandmachines.

CTisusedinthedesignandanalysisofproblemsandtheirsolutions,broadlyinterpreted.

计算思维是与形式化问题及其解决方案相关的一个思维过程,其解决问题的表示形式应该能有效地被信息处理代理执行合理抽象高效算法(算法思维角度)合理建模高效实施(工程思维角度)计算思维操作性定义NSFCyber-EnabledDiscoveryandInnovation(CDI)isNSF’sboldfive-yearinitiativetocreaterevolutionaryscienceandengineeringresearchoutcomesmadepossiblebyinnovationsandadvancesinCT.CTisdefinedcomprehensivelytoencompasscomputationalconcepts,methods,models,algorithms,andtools.Appliedinchallengingscienceandengineeringresearchandeducationcontexts,CTpromisesaprofoundimpactontheNation’sabilitytogenerateandapplynewknowledge.Collectively,CDIresearchoutcomesareexpectedtoproduceparadigmshiftsinourunderstandingofawiderangeofscienceandengineeringphenomenaandsocio-technicalinnovationsthatcreatenewwealthandenhancethenationalqualityoflife. 计算思维操作性定义ISTE&CSTA-OperationalDefinitionforK-12(2011)CTisaproblem-solvingprocessthatincludes(butisnotlimitedto)thefollowingcharacteristics:▪Formulatingproblemsinawaythatenablesustouseacomputerandothertoolstohelpsolvethem▪Logicallyorganizingandanalyzingdata▪Representingdatathroughabstractions,suchasmodelsandsimulations▪Automatingsolutionsthroughalgorithmicthinking(aseriesoforderedsteps)▪Identifying,analyzing,andimplementingpossiblesolutionswiththegoalofachievingthemostefficientandeffectivecombinationofstepsandresources▪Generalizingandtransferringthisproblem-solvingprocesstoawidevarietyofproblems计算思维操作性定义DispositionsorattitudesthatareessentialdimensionsofCT:

Confidenceindealingwithcomplexity▪Persistenceinworkingwithdifficultproblems▪Toleranceforambiguity▪Theabilitytodealwithopen-endedproblems▪TheabilitytocommunicateandworkwithotherstoachieveacommongoalorsolutionThemescharacteristic

计算思维操作性定义中国学者1992年关于“计算思维”的定义“计算思维就是思维过程或功能的计算模拟方法论,其研究的目的是提供适当的方法,使人们能借助现代和将来的计算机,逐步达到人工智能的较高目标。”王飞跃院士的定义

广义计算思维:基于可计算的手段,以定量化的方式进行的思维过程。狭义计算思维:数据驱动的思维过程(Data-drivenThinking)。

计算思维操作性定义汇报提纲缘与使命对计算本质认识的变革计算思维主要定义对问题求解的认识引起对计算机教学的再认识计算机学科的本质特点计算思维操作性定义计算思维操作性定义求解问题需要什么?三要素过程表示经验求解问题依赖于常识(常识性的过程、非规范的表示、朴素思想指导下的经验)科学知识(合理的过程、形式化的描述、专家经验)常识性的不值得教,学生也觉得乏味,但求解问题需要,学生不自觉地能进行应用计算思维操作性定义问题求解过程RealDomainAbstractModelAbstractMachineRealMachineGeorgePolya

HowtoSolveIt,ANewAspectofMathematicalMethod太不值得教了-

学时的珍贵性和稀缺性UnderstandtheproblemDeviseaplanCarryouttheplanLookback计算思维操作性定义ComputerProblem-SolvingAnalysisandSpecificationPhase

Analyze SpecificationAlgorithmDevelopmentPhase

Developalgorithm TestalgorithmImplementationPhase

Codealgorithm TestalgorithmMaintenancePhase

Use Maintain计算思维操作性定义朴素思想与科学面向对象的分析与设计OOAD用UML进行面向对象的分析与设计OOADwithUML遵循UP过程的用UML进行面向对象的分析与设计OOADwithUMLbyUP在6个最佳实践指导下的遵循UP过程的用UML进行面向对象的分析与设计OOADwithUMLbyUPguidedbySIXbestpractice计算思维操作性定义DiagramsAreViewsofaModelAmodelisacompletedescriptionofasystemfromaparticularperspectiveDeploymentDiagramsuse-caseDiagramsScenarioDiagramsScenarioDiagramsSequenceDiagramsStateDiagramsStateDiagramsStateDiagramsComponentDiagramsComponentDiagramsComponentDiagramsModelsStateDiagramsStateDiagramsObjectDiagramsScenarioDiagramsScenarioDiagramsCollaborationDiagramsActivityDiagramsStateDiagramsStateDiagramsClassDiagrams计算思维操作性定义TIMETraditionalWaterfallDevelopmentSubsystemTestingSystemTestingCode&UnitTestingDesignRequirementsAnalysis计算思维操作性定义UnifiedProcessProjectManagementEnvironmentBusinessModelingImplementationTestAnalysis&DesignPreliminary

Iteration(s)Iter.

#1PhasesProcessWorkflowsIterationsSupportingWorkflowsIter.

#2Iter.

#nIter.

#n+1Iter.

#n+2Iter.

#mIter.

#m+1DeploymentConfiguration&ChangeMgmtRequirementsElaborationTransitionInceptionConstruction计算思维操作性定义DevelopIterativelyControlChangesUseComponent

ArchitecturesManageRequirementsModelVisually

VerifyQualityBestPracticesofSoftwareEngineering三要素计算思维操作性定义大学的课堂应该教什么?抽象(abstraction)计算思维操作性定义DifferentAbstraction计算思维操作性定义Abstractionisaprocessorresultofgeneralization,removalofproperties,ordistancingofideasfromobjects.Thefirstemphasizestheprocessofremovingdetailtosimplifyandfocusattentionbasedonthedefinitions:•Theactofwithdrawingorremovingsomething,•Theactorprocessofleavingoutofconsiderationoneormorepropertiesofacomplexobjectsoastoattendtoothers.Thesecondemphasizestheprocessofgeneralizationtoidentifythecommoncoreoressencebasedonthedefinitions:TheprocessofformulatinggeneralconceptsbyabstractingcommonpropertiesofinstancesAgeneralconceptformedbyextractingcommonfeaturesfromspecificexamples.ConfidenceindealingwithcomplexityexponentResultandit’srepresentation计算思维操作性定义SampleClassesofComputationalAbstractions•Algorithms–E.g.,mergesort,binarysearch,stringmatching,clustering•DataStructures–E.g.,sequences(stack,queue),tables,trees,graphs,networks•StateMachines–E.g.,finiteautomata,Turingmachines•Languages–E.g.,regularexpressions,…,VDM,Z,…,ML,Haskell,…,Java,Perl•Logicsandsemantics–E.g.,Hoaretriples,temporallogic,modallogics,lambdacalculus•Heuristics–E.g.,A*(best-firstgraphsearch),caching•ControlStructures–Parallel/sequentialcomposition,iteration,recursion•Communication–E.g.,synchronous/asynchronous,broadcast/P2P,RPC,sharedmemory/message-passing•Architectures–E.g.,layered,hierarchical,pipeline,blackboard,feedbackloop,client-server,parallel,distributed•…计算思维操作性定义朴素思想与科学朴素思想有利对简单问题是有效的,杀鸡焉用牛刀有弊

水文测报协议

软件开发

数据库表算法理解的偏差

仅了解算法的形式

不了解算法的思想庸俗的步骤庸俗的3层结构散列法遗传算法牛顿迭代法设计模式体系结构风格计算思维操作性定义哪个网页最重要?路由算法-距离向量算法计算思维操作性定义69常识在求解问题中的作用网络是复杂的!诸多“成分”:主机路由器各种介质的链路应用程序协议硬件,软件不同实现和厂家异质问题计算思维操作性定义异质性问题解决方法??分解和委托解决异质性问题采用的是分层方法。把复杂的网络互联问题划分为若干个较小的、单一的问题,在不同层上予以解决,这样可以提高互操作性又能减小理解难度。我们将计算机网络层次结构和各层协议的集合,定义为计算机网络体系结构。结构清晰简化设计与实现便于更新与维护较强的独立性和适应性分层目的计算思维操作性定义求解问题的“武功”级别级别(5级)利用常识(朴素知识)求解问题利用专门知识(各阶段)求解问题的过程小学数学、初中数学、高中数学、大学数学小学计算机、初中计算机、高中计算机、大学计算机利用计算科学的基本概念求解值得计算机求解的问题利用计算科学的基本概念求解值得计算机求解的可计算的问题ThinkingaboutproblemsasifcomputerswillsolvethemThinkingaboutproblemsintermsofcomputationalconcepts利用计算科学的基本概念求看似不可解但实质上能求解的问题(新鲜)级别搞混了问题特点多种类型:算法类问题、系统类问题、数据类问题、交互类问题复杂程度(规模、病态)一个令人困惑的、痛苦的、棘手、悬而未决的问题具有鲜明的计算学科特点,学科才能立足,学科才能发展大学的应该教什么?科学体系,专业知识非朴素思维、常识计算思维操作性定义挑战性用ct解决新问题,科学问题同学认为不不能解决的、难解的问题激发学生兴趣

计算思维操作性定义汇报提纲缘与使命对计算本质认识的变革计算思维主要定义对问题求解的认识引起对计算机教学的再认识计算机学科的本质特点计算思维操作性定义计算思维操作性定义即使是菜刀这样的工具,也会涉及科学、技术、工程和应用的各个层面。菜刀过于简单,其他学科的知识足够它的需要了,因此没有什么“菜刀科学”。以色列学者哈雷尔在《算法学:计算的本质》一书中提出这样的问题:论技术的影响,电话也很大,为什么没有电话科学?论技术复杂性,人造卫星很复杂,为什么没有被广泛接受的人造卫星科学。他认为其实计算机是计算的工具,用计算机给这门科学命名,就像用“手术刀科学”给外科学命名一样地不合适。天文学=望远镜“菜刀科学”与“计算机科学”-陈道蓄计算思维操作性定义计算的技术进步(多层的封装,摩尔定律)使得计算机的使用平民化和傻瓜化每个人都将计算机当作工具用,大家对计算机非常熟悉,直观地知道计算机功能对比核技术、化工技术、机械工程计算机完全没有了神秘感人人能说我是搞计算机的许多人有一种看法:“计算机只不过是工具”,其后面隐含的话就是“主要就是应用”。这本身没有什么不对,但用它来作为计算机学科定位的出发点就会产生极大的误导。计算思维操作性定义计算机则不然,它涉及了科学、技术、工程和应用等众多复杂的内容。一般认为美国卡内基梅隆大学在首位图灵奖得主佩利的领导下建立了最早的计算机科学系当计算机科学这门新学科出现时主要内容就是“算法”和“形式系统”,是“程序设计的科学”,不是现在大众理解的“编程”。从1966年开始到2003年共颁奖38届,有47位获奖人,其中有15人主要成果涉及形式系统与程序设计语言和方法,有14人主要成果涉及计算机算法及其复杂性理论。

计算思维操作性定义学科存在性证明计算机科学应该是试图发现一类非自然结构的内在规律的学科,这类结构中涉及的现象(既非纯粹的自然现象,又非一般意义上的社会现象)的解释不能在已有的学科中得到。“终极”问题每个科学学科都有其所谓的“终极”问题。计算机科学的“终极”问题被认为是“什么可以被自动地计算?”计算思维操作性定义计算机科学计算机科学是研究计算机以及它们能干什么的一门学科。它研究抽象计算机的能力与局限,真实计算机的构造与特征,以及用于求解问题的数不清的计算机应用。涉及符号及其操作涉及多种抽象概念的创造和操作创造并研究算法创造各种人工结构,尤其是不受物理定律限制的结构利用并应对指数增长探索计算能力的基本极限关注与人类智能相关的复杂的、分析的、理性的活动NationalResearchCouncilCommitteeonFundamentalsofComputerScience,ComputerScience:ReflectionsontheField,TheNationalAcademiesPress,WashingtonD.C.,2004.计算思维操作性定义计算机学科的本质-个人认知以简单的有限的离散构造解决无限的问题以简单的有穷的离散构造解决无穷的问题有限(穷)-无限(穷)可数(可列)无穷递归函数-以有穷构造无穷的必由之路手段过程递归过程结构递归结构计算思维操作性定义构造举例谓词合适公式的定义在谓词演算中合适公式的递归定义如下:

(1)原子谓词公式是合适公式。

(2)若A为合适公式,则~A也是一个合适公式。

(3)若A和B都是合适公式,则(A∧B),(A∨B),(A=>B)和(A←→B)也都是合适公式。

(4)若A是合适公式,x为A中的自由变元,则(x)A和(x)A都是合适公式。

(5)只有按上述规则(1)至(4)求得的那些公式,才是合适公式。计算思维操作性定义KochcurveAvariantoftheKochcurvewhichusesonlyright-angles.variables:Fconstants:+−start:Frules:(F→F+F−F−F+F)Here,Fmeans"drawforward",+means"turnleft90°",

and−means"turnright90°"LindenmayerSystem简称L-System是1968年由匈牙利生物学家Lindenmayer提出的有关生长发展中的细胞交互作用的数学模型,尤其被广泛应用于植物生长过程的研究。L-system是一个相似重写系统,是一系列不同形式的正规语法规则,多被用于植物生长过程建模,但是也被用于模拟各种生物体的形态。L-system也能用于生成自相似的分形,例如迭代函数系统。计算思维操作性定义计算思维操作性定义计算思维操作性定义计算思维操作性定义一个形式文法G

是下述元素构成的一个四元组(N,Σ,P,S):“非终结符号”集合N。“终结符号”集合Σ,Σ与N

无交。取如下形式的一组“产生式规则”P,(Σ∪N)*中的字符串→(Σ∪N)*中的字符串,并且产生式左侧的字符串中必须至少包括一个非终结符号。“起始符号”S,S

属于N。一个由形式文法G=(N,Σ,P,S)产生的语言是所有如下形式的字符串集合,这些字符串全部由“终结符号”集Σ中符号构成,并且可以从“初始符号”S

出发,不断应用P

中的“产生式规则”而得到。考虑如下的文法G

,其中N={S,B},Σ={a,b,c},P

包含下述规则1.S->aBSc2.S->abc3.Ba->aB4.Bb->bb非终结符号S

作为初始符号。下面给出字串推导的例子:(推导使用的产生规则用括号标出,替换的字串用黑体标出)S->(2)abcS->(1)aBSc->(2)aBabcc->(3)aaBbcc->(4)aabbccS->(1)aBSc->(1)aBaBScc->(2)aBaBabccc->(3)aaBBabccc->(3)aaBaBbccc->(3)aaaBBbccc->(4)aaaBbbccc->(4)aaabbbccc很清楚这个文法定义了语言{anbncn|n>0},这里an

表示含有n

个a的字串。计算思维操作性定义TS:TagSystem标记系统TM:TuringMachine图灵机CA:cellularAutomata元胞自动机极简的离散构造示例

计算模型-TSTM

CA计算思维操作性定义87图灵机

A.Turing在1936年介绍了这样一个通用的计算模型,该模型具有以下两个性质该模型的每个过程都是有穷可描述的;过程必须是由离散的、可以机械执行的步骤组成。

图灵机是计算机的一种简单数字模型,尽管简单,但它具有模拟通用计算机的计算能力。通过研究TM来研究递归可枚举集和部分递归函数为算法和可计算性研究提供了形式化描述工具。计算思维操作性定义元胞自动机Cellularautomata-CA是现代计算机之父Von

Neumann提出的想法StephenWolfram却将这种带有强烈的纯游戏色彩的原始想法从学术上加以分类整理,并使之最终上升到了科学方法论。元胞自动机的基础就在于“如果让计算机反复地计算极其简单的运算法则,那么就可以使之发展成为异常复杂的模型,并可以解释自然界中的所有现象”的观点。

应当

尽可能简单

而不是

比较简单地

做每一件事.

——A.爱因斯坦计算思维操作性定义AlthoughvonNeumannmademanycontributionsanddevelopmentsinCA,theyarecommonlyreferredtoas“non-vonNeumannstyle”,whilethestandardmodelofcomputation(CPU,globallyaddressablememory,serialprocessing)isknowas“vonNeumannstyle”.元胞自动机的历史(History)Ironically计算思维操作性定义KISS原则是英语KeepItSimple,Stupid的首字母缩略字,也有人称“懒人原则”。KISS原则是指在设计当中应当注重简约的原则。同时这原则亦有应用在商业、设计计算机硬软件系统、动画、工程上。原文当中有很多其他版本,包括:、"KeepItSweet&Simple"、"KeepItShort&Simple"、"KeepitSimple,Sweetheart"及"KeepitSimple,Sherlock"。ISO-OSITCP/IPATMCC2001计算思维操作性定义简单为什么?有限(可表示,进而可自动化)的构造性(可演化为复杂)Abstraction

andAutomation计算思维操作性定义StephenWolfram.ANewKindofScience.WolframMedia,2002.《一种新科学》计算思维操作性定义《一种新科学》数千年来发展而成的全部科学从某种意义上讲,依赖的是一种完全无法预测的方法。从物理学、化学、生物学到心理学,甚至各种社会学等现有学术领域本来就不应该进行如此分类。这些科学领域中各种各样的现象,说到底实际上都在受同一种运算法则的支配,利用各种方法对此反复计算就可以生成各种领域的复杂现象。Wolfram认为,“支持整个宇宙的原理无非就是区区几行程序代码”。

从“完全打破现有的学术体系,按照完全不同的原理来理解自然界”的意义出发,新作被命名为《一种新科学》。

计算思维操作性定义计算机万能理论

Wolfram认为:以物理学和数学为中心的传统科学是以方程式为基础而演绎推导出来的计算机则是通过反复计算单纯的程序代码,也可以说是递归推导而出的。在牛顿生活的17世纪,由于还没有像现在一样的先进计算机,因此当时的科学家不得不依赖于演绎的方法(算式计算)。这一切也可以说是历史上的必然、科学上的偶然。真正意义上的正确的科学方法是利用像现有那样的计算机来进行的算法运算。

计算思维操作性定义汇报提纲缘与使命对计算本质认识的变革计算思维主要定义对问题求解的认识引起对计算机教学的再认识计算机学科的本质特点计算思维操作性定义计算思维操作性定义SeveralDefinitionsofCT,Why?

SeparationofConcern计算思维存在多维、多态的复杂特征

来源多样:数学、科学、工程

求解问题是心理、认知、思维活动

学科在进化显式与隐式-传道与悟道本质上:计算思维的多维、多态的复杂特征决定了方案的多样性和差异性计算思维操作性定义基础来源ComputerResearchAssociation,“CreatingEnvironmentsforComputationalResearcherEducation,”2010.CSTA“ComputationalThinkingResourceSet:AProblem-SolvingToolforEveryClassroom.”PeterDenning,”Greatprinciplesofcomputing”,2007GoogleExploringComputationalThinking,2010TheCollegeBoard,anewAdvancedPlacement(AP)coursethatcoversthefundamentalconceptsofcomputingandcomputationalthinking,

计算思维操作性定义CRA-EWhitePaper-CognitiveSkills(31)1) Abstractions-creatingandvalidating2)Algorithmicthinking-representinginformation,workingwithconstraintsandautomatingtheprocess3)Analysis-examiningthecomponentsandstructureofconcepts,data,andresearchresults4)Approximations-estimatingfromdataobservationsandrepresentinginalgorithmicform5)Assumptions-identifyingandvalidating6)Automation-representingprocessesintermsofrepeatedoperationssuchasiterationan

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论