计算思维与大学计算机基础教育2010.11月陈国良董荣胜摘要:本报告首先讲述了《大学计算机基础》课程的重要性,分析了教学中存在的问题,指出了“狭义工具论”的危害。然后从推动人类文明进步、科技发展三大科学思维之一的计算思维入手,阐述了计算思维对学生创新能力培养的重要性。最后按计算思维主要内容,即问题求解、系统设计和人类行为理解,探讨了大学计算机基础课程设置,强调了课程结构设计的重要性,给出了一种以“计算思维”为核心的大学计算机基础课程教学的最小集,为大学计算机基础教育提供了一种以提高学生计算思维能力为目标的新模式。2目录一.大学计算机基础课程的重要性二.大学计算机基础课程教学存在的问题三.计算思维在美国产生的背景四.科学与科学思维五.计算思维六.计算思维在我国七.计算机科学导论:计算思维课程的总体框架八.计算机科学导论:计算思维课程的内容规划九.结论十.感谢3一、大学计算机基础课程的重要性1.大学通识教育是大学人才培养的重要任务•大学教育不能局限于基本知识传授,要培养①学生的理性思维能力②学生对科学精神的追求③学生的高尚人格•通识教育三大特征(复旦杨玉良校长)①通识教育要同时传递科学精神和人文精神②通识教育要展现不同文化、不同学科的思维方式③通识教育要充分展现学术的魅力2.计算思维能力培养是大学通识教育的重要组成部分•国家明确定位计算机基础课程是和数学、物理等同地位的基础课程。•计算机不仅为不同专业提供了解决专业问题的有效方法和手段,而且提供了一种独特的处理问题的思维方式。•熟悉使用计算机及互联网,为人们终生学习提供了广阔的空间以及良好的学习工具与环境。4二、大学计算机基础课程教学存在的问题(1)1.我国的情况•“狭义工具论”的课程:“狭义工具论”认为教计算机基础就是教些计算机工具及其使用方法。•“浓缩版”的教材:教材基本上是有关领域的浓缩版,学生进入大学后,对第一门计算机课程兴趣不大,逃课率相当高。•计算机基础课教学学时被压缩,教学资源配置不充分,课程面临被裁减的危机2.美国的情况(1)•学生学习计算机课程情况:2003年11月,美国NavalPostgraduateSchool的PeterDenning教授在CACM上发表《GreatPrinciplesofComputing》一文介绍了这种情况:在大学第一门计算机课程(主要指“程序设计语言”作为第一门计算机课程)的学习过程中,有35-50%的学生中途放弃。另外,不少的学生还通过抄袭或者是作弊的方式来完成课程。5二、大学计算机基础课程教学存在的问题(2)2.美国的情况(2)•毕业生的工资情况:2005年11月,美国《ComputingResearchNews》刊登的一篇名为《科学与工程专业毕业生的工资》的报告:2003年,在美国科学领域各学科中,计算机与信息科学专业毕业生的平均年工资最高,学士人均年工资为45,000美元,硕士人均60,000美元。•学生主修计算机专业情况:加州大学洛杉矶分校发现学生对计算专业的兴趣波动很大,2001后普遍下降。具体数据如图所示:6三、计算思维在美国产生的背景(1)1.2005年6月美国的PITAC报告2005年6月,美国总统信息技术咨询委员会(PITAC)给美国总统提交了报告《计算科学:确保美国竞争力》(ComputationalScience:EnsuringAmerica’sCompetitiveness)。•报告写道,虽然计算本身也是一门学科,但是其具有促进其他学科发展的作用。•报告还写道,二十一世纪科学上最重要的、经济上最有前途的研究前沿都有可能通过熟练的掌握先进的计算技术和运用计算科学而得到解决。①报告认为,如今美国又一次面临了挑战,这一次的挑战比以往来得更加广泛、复杂,也更具长期性。②报告认为,美国还没有认识到计算科学在社会科学、生物医学、工程研究、国家安全,以及工业改革中的中心位置。③报告认为,这种认识不足将危及美国的科学领导地位、经济竞争力以及国家的安全。④报告建议,将计算科学长期置于国家科学与技术领域中心的领导地位。7三、计算思维在美国产生的背景(2)2.2005年底至2006年初美国四大区的报告及建议•针对“计算学科与日俱增的重要性与学生对计算学科兴趣的下降”,美国NSF组织了计算教育与科学领域,以及其他相关领域的专家分四个大区(东北、中西、东南、西北)进行研讨,形式四份重要报告:①ReportofNSFWorkshoponIntegrativeComputingEducationandResearch(ICER)NortheastWorkshop②ReportofNSFMidwestRegionWorkshoponICER:PreparingITGraduatesfor2010andBeyond③ReportfromtheSoutheastRegionWorkshoponICER:PreparingITGraduatesfor2010andBeyond④ICERFinalReportoftheNorthwestRegionalMeeting•内容及建议以上四个文件分析了美国计算教育出现的问题,报告建议在美国国家科学基金的资助下全面改革美国的计算教育。以下两个问题和一个建议值得我们注意:①大学第一年计算机课程的构建问题;②多学科的融合问题;③报告建议加强美国中小学学生抽象思维与写作能力的训练,目的,使学生平稳过渡到大学的学习。8三、计算思维在美国产生的背景(3)3.2007年美国NSF的CPATH计划•CPATH(PathwaystoRevitalizedUndergraduateComputingEducation,大学计算教育重生的途径)计划认为:计算普遍存在于我们的日常生活之中,培养未来能够参与全球竞争、掌握计算核心概念的美国企业家和员工就变得非常重要。•CPATH计划认为:尽管有的研究机构和大学对此做出了卓越的、开创性的工作,但目前美国更多的大学计算教育仍然沿袭的是几十年前的教学模式。鉴于此,NSF2007年启动了CPATH计划,当年投入600万美元,2008年投入500万美元,2009年投入1000万美元,力图改变这种情况。•经过2007年和2008年的资助和项目实践,CPATH认识到“计算思维”在计划中所起的独特的重要作用,因此,对2009年申报的项目提出了更为具体的以“计算思维”为核心的要求。4.2008年美国NSF的CDI计划•CDI(Cyber-EnabledDiscoveryandInnovation,计算使能的科学发现和技术创新)是美国国家科学基金会的一个革命性的、富有独创精神的五年计划,该计划旨在通过“计算思维”领域的创新和进步来促进自然科学和工程技术领域产生革命性的成果。•CDI计划2008年启动,当年批准了共计4200万美元的72个项目的立项申请,2009年投入2600万美元,2010年投入3600万美元。9四、科学与科学思维(1)1.人类科学发现的三大支柱:•理论科学、实验科学和计算科学作为科学发现三大支柱,正推动着人类文明进步和科技发展。•该说法已被科学文献广泛引用,并在美国得到国会听证、联邦和私人企业报告的承同。2.人类认识世界和改造世界的三种思维:•理论思维:以推理和演绎为特征,以数学学科为代表。•实验思维:以观察和总结自然规律为特征,以物理学科为代表。•计算思维:以设计和构造为特征,以计算机学科为代表。10四、科学与科学思维(2)3.科学思维:国科发财〔2008〕197号文《关于创新方法工作的若干意见》认为“科学思维不仅是一切科学研究和技术发展的起点,而且始终贯穿于科学研究和技术发展的全过程,是创新的灵魂”。•理论思维:理论源于数学,理论思维支撑着所有的学科领域。正如数学一样,定义是理论思维的灵魂,定理和证明是它的精髓。公理化方法是最重要的理论思维方法。•实验思维:实验思维的先驱是意大利科学家伽利略,被人们誉为“近代科学之父”。与理论思维不同,实验思维往往需要借助于某些特定的设备,并用它们来获取数据以供以后的分析。•计算思维:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解的涵盖了计算机科学之广度的一系列思维活动。11五、计算思维(1)1.计算思维的定义:计算思维(ComputationalThinking,CT)是运用计算机科学的基础概念去求解问题、设计系统和理解人类行为。CT的本质是抽象和自动化。它是如同所有人都具备“读、写、算”(简称3R)能力一样,都必须具备的思维能力。2.计算思维的解析(1):•计算思维是通过约简、嵌入、转化和仿真等方法,把一个困难的问题阐释成如何求解它的思维方法。•计算思维是一种递归思维,是一种并行处理,是一种把代码译成数据又能把数据译成代码,是一种多维分析推广的类型检查方法。•计算思维是一种采用抽象和分解的方法来控制庞杂的任务或进行巨型复杂系统的设计,是基于关注点分离的方法(SoC方法)。•计算思维是一种选择合适的方式陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法。•计算思维是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法。12五、计算思维(2)2.计算思维的解析(2):•计算思维是利用启发式推理寻求解答,即在不确定情况下的规划、学习和调度的思维方法。•计算思维是利用海量数据来加快计算,在时间和空间之间、在处理能力和存储容量之间进行折衷的思维方法。3.计算思维的特征(1):•概念化,不是程序化计算机科学不是计算机编程。像计算机科学家那样去思维意味着远远不止能为计算机编程,还要求能够在抽象的多个层次上思维。计算机科学不只是关于计算机,就像音乐产业不只是关于麦克风一样。•根本的,不是刻板的技能计算思维是一种根本技能,是每一个人为了在现代社会中发挥职能所必须掌握的。刻板的技能意味着简单的机械重复。13五、计算思维(3)3.计算思维的特征(2):•人的,不是计算机的思维计算思维是人类求解问题的一条途径,但决非要使人类像计算机那样地思考。计算机枯燥且沉闷,人类聪颖且富有想象力。是人类赋予计算机激情。计算机赋予人类强大的计算能力,人类应该好好的利用这种力量去解决各种需要大量计算的问题。•是思想,不是人造品不只是将我们生产的软硬件等人造物到处呈现给我们的生活,更重要的是计算的概念,它被人们用来问题求解、日常生活的管理,以及与他人进行交流和互动。•数学和工程思维的互补与融合计算机科学在本质上源自数学思维,它的形式化基础建筑于数学之上。计算机科学又从本质上源自工程思维,因为我们建造的是能够与实际世界互动的系统。所以设计思维是数学和工程思维的互补与融合。•面向所有的人,所有地方当计算思维真正融入人类活动的整体时,它作为一个问题解决的有效工具,人人都应当掌握,处处都会被使用。14六、计算思维在我国(1)1.中国2050年信息科技发展路线图•由李国杰院士任组长的中国科学院信息领域战略研究组撰写的《中国至2050年信息科技发展路线图》中对“计算思维”给予了足够的重视,认为,计算思维的培育是克服“狭义工具论”的有效途径,是解决其他信息科技难题的基础。•长期以来,计算机科学与技术这门学科也被构造成一门专业性很强的工具学科,“工具”意味着它是一种辅助性学科,并不是主业。这种狭隘的认知对信息科技的全民普及极其有害。15六、计算思维在我国(2)2.计算机科学的变革:•孙家广院士在“计算机科学的变革”一文中指出:(计算机科学界)最具有基础性和长期性的思想是“计算思维”(ComputationalThinking)。•国家自然科学基金委员会信息科学部二处处长刘克教授,强调了在大学中推进“计算思维”这一基本理念的必要性。•中国科学院计算技术研究所研究员徐志伟总工认为:计算思维是一种本质的、所有人都必须具备的思维方式,就像识字、做算术一样;在2050年以前,让地球上每一个公民都应具备“计算思维”的能力。•中科院自动化所王飞跃教授率先将“计算思维”引入国内,翻译了周以真教授的“计算思维”,撰写了相关的“计算思