论文部分内容阅读
【摘要】本文首先从计算思维的概念、特点和国内外研究发展情况等三个方面阐述了它的重要性。然后介绍了计算思维能力培养的研究现状。针对计算机教育面临的主要问题,强调了编程实践主要锻炼了的思维能力,并建议开展科学思维方式指导下的动脑实践创新活动。最后,探讨发散思维、分类与分治思维、构造性思维等计算思维的培养方法,并举例。
【关键词】计算思维;程序设计;思维能力培养
【中图分类号】TP312.1-4;G642 【文献标识码】B 【文章编号】2095-3089(2017)14-0022-02
近年来,移动通讯、物联网、云计算、大数据、量子计算这些新概念和新技术的出现,在社会经济、人文科学、自然科学的许多领域,已越来越多地依赖计算机作为分析和解决问题的工具。在这个过程中,最重要的不是如何解决问题的具体技巧,而是如何把问题转化成能够用计算机解决的形式,这正是计算思维培养所强调的内容。
计算思维(Computational Thinking)的定义是在2006年,由美国卡内基·梅隆大学周以真(Jeannette M. Wing)教授在美国计算机权威期刊Communication of the ACM上首次提出的。计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。计算思维以表示的形式化和执行的机械化为特点,抽象和自动化是其本质的内容。
现在,计算思维是国际计算机界广为关注的一个重要概念,也是当前计算机教育需要重点研究的课题。
在美国,计算机协会(ACM)2008年在网上公布对CC2001(CS2001)进行的中期审查报告(CS2001 Interim Review)(草案)中,就明确将“计算思维”与“计算机导论”课程绑定在一起,并明确要求该课程讲授计算思维的本质[1]。美国国家计算机科学技术教师协会(CSTA)在网上发布了得到微软公司支持的“计算思维:一个所有课堂问题解决的工具”(Computational Thinking:A problem solving tool for every classroom)报告[2]。另外,计算思维还直接促成美国国家科学基金会(NSF)重大基金资助计划CDI(Cyber-Enabled Discovery and Innovation,Cyber能够实现的科学发现与技术创新)的产生。CDI计划旨在使用计算思维(特别是在该领域产生的新思想、新方法)促进美国自然科学和工程技术领域产生革命性的成果。CDI的最终研究成果将使人们的思维模式发生转变。这种以“计算思维”为核心的转变,要反映在美国国家自然科学与工程,以及社会经济与技术等各个学科领域[3]。美国麻省理工大学、斯坦福大学、卡内基·梅隆大学等著名高校纷纷设置了面向全校的以问题求解为核心的“计算思维”通识课程。
在我国,计算思维的重要性也已引起了科学家和教育界的高度重视。2008年,教育部高等学校计算机基础课程教学指导委员会在陈国良院士的带领下,从计算思维的基本概念出发,就哲学层面、科学层面、教学层面的表达形式进行了深入的讨论,逐步实现计算思维从哲学的表达体系向教学表达体系的过渡[4]。20l0年7月,北京大学、清华大学、西安交通大学等9所“985工程”高校在西安召开了首届“九校联盟(C9)计算机基础课程研讨会”,发布了《九校联盟(C9)计算机基础教学发展战略联合声明》。该声明明确了要旗帜鲜明地把“计算思维能力的培养”作为计算机基础教学的核心任务。2012年8月,教育部高教司设立以计算思维为切入点的大学计算机课程改革项目,包括3项“大学计算机课程系统性规划研究项目”和19项“大学计算机系列课程及教材建设项目”。
一、研究现状
这种自上而下的倡导方式,使得計算思维这种新的理念很快得到了各级各类高校的大力重视,随着实践的不断推进,研究的规模逐渐扩大,主要分为:理论研究、实践研究两大类。
理论研究主要涵盖计算思维的概念、内涵、思想、原理、特征、方法论等方面。实践研究从研究范围看,涉及:现状思考、课程体系、课程内容、教学方法、质量评价等多个方面。从研究对象看,主要分为:通识基础课程、计算机专业课程、非计算机专业课程。
计算思维能力培养是计算思维领域研究的重点,发文量逐年稳步增长。总体思路是以计算思维核心方法——“构造”为出发点,突出以“构造”为特征的问题求解方法的能力培养。具体做法是以算法与程序设计、计算机网络等方面为主要教学内容,通过改进教学方法引导学生体会知识背后所蕴含的计算思维规律和特点,研究中注重介绍这些内容中所涵盖的计算思维应用。
二、存在的问题
(一)对于思维教学缺乏正确的认识
人们普遍认为“讲思维等同于讲理论”,“讲理论不实用”。以上观点造成了过分青睐工程实践而忽略了基础教学。同时,为了迎合学生的兴趣,过分强调对计算机新技术和更实用的技能的教学,而忽略了基础类课程的学习。从中国计算机教育的角度来看,计算机编程、工程实践和计算机基础理论、设计思想之间的矛盾和冲突依然存在。教育及研究一直努力寻求它们之间的平衡。
(二)对于思维模式革新缺乏正确的指导
人都有惯性思维,善于常用的方式思考,善于常用的行为方式处事。在计算机程序设计课程的学习中,学生对某一类问题形成思维定式。思维定式在环境不变的条件下,使学生能够应用已经掌握的方法迅速解决问题,而在情境发生变化时,它则会妨碍学生采用新的方法,消极的思维定式是束缚创造性思维的枷锁。固有的思维模式是长期教学过程中形成的,而忽略了学生开放的、科学的思维模式的培养。如何通过教学改革建立新的思维模式是教育工作者面临的主要问题。
(三)对于创新能力的培养缺乏正确的方法 创新能力是运用知识和理论,在科学、艺术、技术和各种实践活动领域中不断提供具有经济价值、社会价值、生态价值的新思想、新理论、新方法和新发明的能力。虽然计算思维能力培养目的在于提高学生的思维素养,其最高目标是为了创新,但是如何增强学生的创新意识和创新欲望、打破思维定式以及弥补应试教育模式存在严重缺陷等问题还需要进一步的探讨研究。
三、程序设计课程中“计算思维”能力的培养
(一)发散思维培养
发散思维是指大脑在思维时呈现的一种扩散状态的思维模式,它表现为思维视野广阔,思维呈现出多维发散状,如 “一题多解”、“一事多写”、“一物多用”等方式。
程序设计教学的教育价值在于突出计算思维,在教学过程中由于学生认知方式的差异,必然会导致用不同算法解决问题。此时,教师不应该纠正学生思路的错误,而是引导用学生的思路来完成程序,最后,再来比较学生的程序与教师提供的程序,各有什么优点和缺点。教师应该尊重每位学生的个体特征,鼓励学生从不同角度认识问题,用不同方式表达算法,用不同方法实现问题求解。同时教师给予适当的评价,就是尊重学生不同的认知方式、培养学生的创新意识、探索精神和问题求解能力。
(二)分类与分治思维培养
分类是揭示概念外延的逻辑方法,其目的是可以使大量的、繁杂的数据信息条理化,以便于探索和掌控事物的发展规律。分治是特殊的分类,类似于软件设计的模块化方法,把一个大问题分成若干小问题,然后分别解决小问题。通常情况下,小问题与原问题相似,我们可以递归地运用分而治之的思想来解决。分类和分治的作用在于能够使复杂的问题条理化、简单化和系统化,通过对各类情况“分而治之”,达到解决复杂问题的目标。
(三)构造性思维培养
构造性思维体现在构造数学模型来解决问题。我们将初始的问题划归为模拟化或理想化的模型,模型是實际待解决问题的抽象,它筛选出问题求解的最相关部分,便于更加清晰地表达问题,更直观地发现其中的规律,进而提高了求解问题的效率。模型的建立是用于解决一类具有“相同性质”的问题,解决一个经典模型就相当于解决了一类问题。
四、总结与展望
计算思维能力被公认为是继读、写、算之后的第四种基本能力,是能广泛应用至社会各个领域的基本能力。一方面,不能简单地将计算思维能力的培养局限于某几门课程,应加以拓展至计算机基础其他知识模块乃至其他课程,使之能够对人们的学习、工作、生活等领域起到指导与促进作用;另一方面,需要对加强对计算思维能力培养的教学设计研究,为一线教师提供具体的、可供参考的教学案例。
参考文献
[1]CS2001 Interim Review [EB/OL]. http://wiki.acm.org/cs2001/index. php? title=main_page, 2008.
[2]PhilipsP.Computational Thinking:A problem solving tool for every classroom[EB/OL]. http://www.csta.acre.org/Resources/sub/ResourceFiles/ComputationalThinking.pdf,2008.
[3]Cyber-enabled Discovery and Innovation(CDI)[EB/OL].http://www.nsf.gov/crssprgm/cdi/
[4]李廉. 以计算思维培养为导向深化大学计算机课程改革[J].中国大学教学,2013(4):7.
作者简介:
时书剑(1981年-)女,汉,山东泰安,硕士研究生,讲师,研究方向:模式识别。
【关键词】计算思维;程序设计;思维能力培养
【中图分类号】TP312.1-4;G642 【文献标识码】B 【文章编号】2095-3089(2017)14-0022-02
近年来,移动通讯、物联网、云计算、大数据、量子计算这些新概念和新技术的出现,在社会经济、人文科学、自然科学的许多领域,已越来越多地依赖计算机作为分析和解决问题的工具。在这个过程中,最重要的不是如何解决问题的具体技巧,而是如何把问题转化成能够用计算机解决的形式,这正是计算思维培养所强调的内容。
计算思维(Computational Thinking)的定义是在2006年,由美国卡内基·梅隆大学周以真(Jeannette M. Wing)教授在美国计算机权威期刊Communication of the ACM上首次提出的。计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。计算思维以表示的形式化和执行的机械化为特点,抽象和自动化是其本质的内容。
现在,计算思维是国际计算机界广为关注的一个重要概念,也是当前计算机教育需要重点研究的课题。
在美国,计算机协会(ACM)2008年在网上公布对CC2001(CS2001)进行的中期审查报告(CS2001 Interim Review)(草案)中,就明确将“计算思维”与“计算机导论”课程绑定在一起,并明确要求该课程讲授计算思维的本质[1]。美国国家计算机科学技术教师协会(CSTA)在网上发布了得到微软公司支持的“计算思维:一个所有课堂问题解决的工具”(Computational Thinking:A problem solving tool for every classroom)报告[2]。另外,计算思维还直接促成美国国家科学基金会(NSF)重大基金资助计划CDI(Cyber-Enabled Discovery and Innovation,Cyber能够实现的科学发现与技术创新)的产生。CDI计划旨在使用计算思维(特别是在该领域产生的新思想、新方法)促进美国自然科学和工程技术领域产生革命性的成果。CDI的最终研究成果将使人们的思维模式发生转变。这种以“计算思维”为核心的转变,要反映在美国国家自然科学与工程,以及社会经济与技术等各个学科领域[3]。美国麻省理工大学、斯坦福大学、卡内基·梅隆大学等著名高校纷纷设置了面向全校的以问题求解为核心的“计算思维”通识课程。
在我国,计算思维的重要性也已引起了科学家和教育界的高度重视。2008年,教育部高等学校计算机基础课程教学指导委员会在陈国良院士的带领下,从计算思维的基本概念出发,就哲学层面、科学层面、教学层面的表达形式进行了深入的讨论,逐步实现计算思维从哲学的表达体系向教学表达体系的过渡[4]。20l0年7月,北京大学、清华大学、西安交通大学等9所“985工程”高校在西安召开了首届“九校联盟(C9)计算机基础课程研讨会”,发布了《九校联盟(C9)计算机基础教学发展战略联合声明》。该声明明确了要旗帜鲜明地把“计算思维能力的培养”作为计算机基础教学的核心任务。2012年8月,教育部高教司设立以计算思维为切入点的大学计算机课程改革项目,包括3项“大学计算机课程系统性规划研究项目”和19项“大学计算机系列课程及教材建设项目”。
一、研究现状
这种自上而下的倡导方式,使得計算思维这种新的理念很快得到了各级各类高校的大力重视,随着实践的不断推进,研究的规模逐渐扩大,主要分为:理论研究、实践研究两大类。
理论研究主要涵盖计算思维的概念、内涵、思想、原理、特征、方法论等方面。实践研究从研究范围看,涉及:现状思考、课程体系、课程内容、教学方法、质量评价等多个方面。从研究对象看,主要分为:通识基础课程、计算机专业课程、非计算机专业课程。
计算思维能力培养是计算思维领域研究的重点,发文量逐年稳步增长。总体思路是以计算思维核心方法——“构造”为出发点,突出以“构造”为特征的问题求解方法的能力培养。具体做法是以算法与程序设计、计算机网络等方面为主要教学内容,通过改进教学方法引导学生体会知识背后所蕴含的计算思维规律和特点,研究中注重介绍这些内容中所涵盖的计算思维应用。
二、存在的问题
(一)对于思维教学缺乏正确的认识
人们普遍认为“讲思维等同于讲理论”,“讲理论不实用”。以上观点造成了过分青睐工程实践而忽略了基础教学。同时,为了迎合学生的兴趣,过分强调对计算机新技术和更实用的技能的教学,而忽略了基础类课程的学习。从中国计算机教育的角度来看,计算机编程、工程实践和计算机基础理论、设计思想之间的矛盾和冲突依然存在。教育及研究一直努力寻求它们之间的平衡。
(二)对于思维模式革新缺乏正确的指导
人都有惯性思维,善于常用的方式思考,善于常用的行为方式处事。在计算机程序设计课程的学习中,学生对某一类问题形成思维定式。思维定式在环境不变的条件下,使学生能够应用已经掌握的方法迅速解决问题,而在情境发生变化时,它则会妨碍学生采用新的方法,消极的思维定式是束缚创造性思维的枷锁。固有的思维模式是长期教学过程中形成的,而忽略了学生开放的、科学的思维模式的培养。如何通过教学改革建立新的思维模式是教育工作者面临的主要问题。
(三)对于创新能力的培养缺乏正确的方法 创新能力是运用知识和理论,在科学、艺术、技术和各种实践活动领域中不断提供具有经济价值、社会价值、生态价值的新思想、新理论、新方法和新发明的能力。虽然计算思维能力培养目的在于提高学生的思维素养,其最高目标是为了创新,但是如何增强学生的创新意识和创新欲望、打破思维定式以及弥补应试教育模式存在严重缺陷等问题还需要进一步的探讨研究。
三、程序设计课程中“计算思维”能力的培养
(一)发散思维培养
发散思维是指大脑在思维时呈现的一种扩散状态的思维模式,它表现为思维视野广阔,思维呈现出多维发散状,如 “一题多解”、“一事多写”、“一物多用”等方式。
程序设计教学的教育价值在于突出计算思维,在教学过程中由于学生认知方式的差异,必然会导致用不同算法解决问题。此时,教师不应该纠正学生思路的错误,而是引导用学生的思路来完成程序,最后,再来比较学生的程序与教师提供的程序,各有什么优点和缺点。教师应该尊重每位学生的个体特征,鼓励学生从不同角度认识问题,用不同方式表达算法,用不同方法实现问题求解。同时教师给予适当的评价,就是尊重学生不同的认知方式、培养学生的创新意识、探索精神和问题求解能力。
(二)分类与分治思维培养
分类是揭示概念外延的逻辑方法,其目的是可以使大量的、繁杂的数据信息条理化,以便于探索和掌控事物的发展规律。分治是特殊的分类,类似于软件设计的模块化方法,把一个大问题分成若干小问题,然后分别解决小问题。通常情况下,小问题与原问题相似,我们可以递归地运用分而治之的思想来解决。分类和分治的作用在于能够使复杂的问题条理化、简单化和系统化,通过对各类情况“分而治之”,达到解决复杂问题的目标。
(三)构造性思维培养
构造性思维体现在构造数学模型来解决问题。我们将初始的问题划归为模拟化或理想化的模型,模型是實际待解决问题的抽象,它筛选出问题求解的最相关部分,便于更加清晰地表达问题,更直观地发现其中的规律,进而提高了求解问题的效率。模型的建立是用于解决一类具有“相同性质”的问题,解决一个经典模型就相当于解决了一类问题。
四、总结与展望
计算思维能力被公认为是继读、写、算之后的第四种基本能力,是能广泛应用至社会各个领域的基本能力。一方面,不能简单地将计算思维能力的培养局限于某几门课程,应加以拓展至计算机基础其他知识模块乃至其他课程,使之能够对人们的学习、工作、生活等领域起到指导与促进作用;另一方面,需要对加强对计算思维能力培养的教学设计研究,为一线教师提供具体的、可供参考的教学案例。
参考文献
[1]CS2001 Interim Review [EB/OL]. http://wiki.acm.org/cs2001/index. php? title=main_page, 2008.
[2]PhilipsP.Computational Thinking:A problem solving tool for every classroom[EB/OL]. http://www.csta.acre.org/Resources/sub/ResourceFiles/ComputationalThinking.pdf,2008.
[3]Cyber-enabled Discovery and Innovation(CDI)[EB/OL].http://www.nsf.gov/crssprgm/cdi/
[4]李廉. 以计算思维培养为导向深化大学计算机课程改革[J].中国大学教学,2013(4):7.
作者简介:
时书剑(1981年-)女,汉,山东泰安,硕士研究生,讲师,研究方向:模式识别。