论文部分内容阅读
摘要:针对目前学生在C 实践课程中编程能力普遍较弱的状况,分析了造成这种现状的原因,给出了基于计算思维和探究学习的C 实践教学新模式,提高了学生系统分析问题和解决问题的能力。
关键词:计算思维;探究性学习;程序设计;思维培养
中图分类号:G424 文献标识码:A 文章编号:1009-3044(2013)31-7037-02
C 作为面向对象程序设计的示范性语言,以其高效、灵活独特的语言机制,在计算机、电子、通信等领域得到广泛应用[1]。但由于C 内容多、语法和语义不易理解等特点,学生学习时普遍感觉困难[2]。C 实践教学是让学生能将学到的程序设计思想用到具体的工作和学习中,加深对基本知识点的理解,是将计算机课程与实际问题想联接的关键步骤。通过C 实践教学,能够提高学生分析问题、解决问题的能力。
通常在C 实践教学中,所选编程实例大多用于语法规则的验证和说明,往往使学生吃不透、用不活所学内容。文献[3]中给出了相应的教学改革方法,诸如精简教学内容、阶梯式教学、案例教学、反思教学、项目驱动教学、自主学习平台多元化及考核方式改革等举措,取得了较好的教学效果,但这些仅限于对C 课程的思考,并没有将编程能力的培养和计算思维的培养结合起来。因此,我们提出的基于计算思维和探究能力培养的C 实践教学新模式,不仅有利于学生编程和创新能力的培养,而且促进了学生计算思维的形成,提高了解决(复杂)问题的能力。
1 计算思维
计算大师Dijkstra曾说过:“我们所使用的工具影响着我们的思维方式和思维习惯,从而也将深刻地影响着我们的思维能力。”电动机的出现引起了自动化的思维,计算机的出现催生了智能化的思维[4]。根据周以真教授在其广泛关注的《计算思维》一文中所给的定义:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[5]。中国计算机学会理事长李国杰院士在第26届全国青少年信息学奥林匹克竞赛(NOI2009)开幕式上表示,计算思维远远不止是为计算机编程,它是在抽象的多个层次上进行思维,是与读写能力一样的人类的基本思维方式,它应成为适合于每一个人的“一种普遍的认识和一类普适的技术”。正如机器学习改变着统计学、计算生物学改变着生物学、量子计算改变着物理学等,计算思维越来越多地渗透到其他学科,改变着其他学科专家的思考方式。2010年7月,教育部高等学校计算机基础课程教学指导委员会发布了《九校联盟(C9)计算机基础教学发展战略联合声明》,确定了以计算思维为核心的计算机基础课程的教学改革[6]。因此,作为计算机基础课程之一的C 程序设计课程,不仅要传授给学生计算的方法和模型,培养学生的计算思维能力,更应让学生意识到,在这种计算思维指引下的问题求解方式,使计算思维成为每一个人的基本技能之一。
2 探究性学习
计算思维的教育价值体现在问题求解思路、创新思维和形式化描述[7]。程序设计中算法体现了问题求解的思路,要培养学生的创新精神,在实践过程中还必须培养学生的问题探究能力。教育家陶行知说过:“发明千千万,起点在一问。”教学过程是不断提出问题和解决问题的过程。探究性学习是指学生在学科领域或现实生活的情境中,通过发现问题、调查研究、动手操作、表达与交流等探究性活动获得知识、技能和态度的学习方式[8],探究学习是以问题为中心而展开的。C 程序设计实践课堂中,学生解决了一个具体问题后,要多思考相关的问题或对该问题进一步演变和拓展,看能否找到解决新问题的方法,由一个问题学会解决一类问题,并在解决问题的过程中进行总结和探索,是否能以超常规或反常规的方法、视角去思考问题,提出与众不同的解决方案,从而产生新颖的、独到的、有社会意义的思维成果。
3 C 实践教学新模式
计算思维不是只与计算机科学有关的思维,但是计算机的发展极大促进了计算思维的研究和应用。从思维的角度,计算机科学主要研究计算思维的概念、方法和内容,并发展成为解决问题的一种思维模式。计算机程序是对所要解决的问题,用一种计算机可以理解的方式进行描[9]。计算机编程的过程体现着计算思维的一些核心理念,有助于培养学生的计算思维能力。
C 实践课堂上,学生拿到题目,首先很难有解决问题的具体思路(计算思维能力尚弱)。即使有了思路后,只满足于该具体问题的解决,很少有学生进一步思考类似问题如何解决,不能融会贯通(缺乏探究能力)。绝大部分学生不能对已解决的问题进行总结和提炼,因而不利于更高层次计算思维的形成,遇到实际问题时还是不会解决,总觉得计算机编程很难,丧失了学习兴趣。该文从计算思维和探究能力培养的角度,给出了C 实践教学改革的新模式,如图1所示。
通过对C 理论知识的学习,使学生掌握了计算机学科中的一些基本概念和理论,包括面向过程和面向对象的程序设计方法,查找、排序、最值、穷举和递归等算法思想,这些都是计算思维中的核心概念,在计算机课程的学习中得到更明确的定义和解释,因此C 理论课程的学习促进了学生计算思维的形成。
当学生具备了一定的计算思维能力之后,就可以在已有的计算思维框架下,尝试解决具体问题。当解决新问题遇到困难时,如果能有老师的指导或自主查阅相关资料,将会帮助学生获知该具体问题的解决思路,构建与该知识点有关的计算思维。
计算思维远不止为计算机编程,还要求能够在抽象的多个层次上思维。因此,当我们解决完一个具体问题后,我们还必须对具体问题进行探究,能否突破常规思维进行更有效的求解,或当条件、目标发生变化问题又如何解决。在自主探究学习的过程中,总结问题解决的根本方法,探索新思路,提高自己计算思维的水平,从而增强自己以计算思维方式解决其他复杂问题的能力。
4 结束语
本文探讨了计算思维和探究学习在C 实践教学中的应用。计算思维指导着学生的实践活动,但在实践的过程中,要勇于探究,勇于从不同角度考虑问题,并及时进行归纳总结,深化学生对已有问题的认识,提高了自己计算思维的能力和水平,从而提高自己解决实际问题的能力,根本上解决学生编程时动手难的问题。
参考文献:
[1] 高永丽. 提升C 程序设计课程学习质量方法探析[J]. 电脑知识与技术,2009(32): 8982-8983.
[2] 王立柱. C 学习中的一个整体性问题[J]. 计算机教育,2007(20):74-76.
[3] 陈婷. C语言程序设计实验教学改革探究[J]. 实验技术与管理,2010,27(10):182-184.
[4] 王飞跃. 计算思维与计算文化[EB/OL]. 科学时报, 2007-10-11.
[5] Jeannette M. Wing. Computational Thinking[J]. Communications of the ACM. 2006, 49(3): 33-35.
[6] 九校联盟(C9)计算机基础教学发展战略联合声明[J]. 中国大学教学,2010(9):4.
[7] 陈杰华, 戴丽娟. 以培养计算思维为核心的程序设计实验教学[J].实验技术与管理,2011,28(1):125-127.
[8] 李亦菲, 杨宝山. 探究性学习与研究性学习的四个误区[J]. 中国教育学刊, 2002(6):40- 42.
[9] 李廉. 计算思维——概念与挑战[J]. 中国大学教学,2012(1):7-12.
关键词:计算思维;探究性学习;程序设计;思维培养
中图分类号:G424 文献标识码:A 文章编号:1009-3044(2013)31-7037-02
C 作为面向对象程序设计的示范性语言,以其高效、灵活独特的语言机制,在计算机、电子、通信等领域得到广泛应用[1]。但由于C 内容多、语法和语义不易理解等特点,学生学习时普遍感觉困难[2]。C 实践教学是让学生能将学到的程序设计思想用到具体的工作和学习中,加深对基本知识点的理解,是将计算机课程与实际问题想联接的关键步骤。通过C 实践教学,能够提高学生分析问题、解决问题的能力。
通常在C 实践教学中,所选编程实例大多用于语法规则的验证和说明,往往使学生吃不透、用不活所学内容。文献[3]中给出了相应的教学改革方法,诸如精简教学内容、阶梯式教学、案例教学、反思教学、项目驱动教学、自主学习平台多元化及考核方式改革等举措,取得了较好的教学效果,但这些仅限于对C 课程的思考,并没有将编程能力的培养和计算思维的培养结合起来。因此,我们提出的基于计算思维和探究能力培养的C 实践教学新模式,不仅有利于学生编程和创新能力的培养,而且促进了学生计算思维的形成,提高了解决(复杂)问题的能力。
1 计算思维
计算大师Dijkstra曾说过:“我们所使用的工具影响着我们的思维方式和思维习惯,从而也将深刻地影响着我们的思维能力。”电动机的出现引起了自动化的思维,计算机的出现催生了智能化的思维[4]。根据周以真教授在其广泛关注的《计算思维》一文中所给的定义:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[5]。中国计算机学会理事长李国杰院士在第26届全国青少年信息学奥林匹克竞赛(NOI2009)开幕式上表示,计算思维远远不止是为计算机编程,它是在抽象的多个层次上进行思维,是与读写能力一样的人类的基本思维方式,它应成为适合于每一个人的“一种普遍的认识和一类普适的技术”。正如机器学习改变着统计学、计算生物学改变着生物学、量子计算改变着物理学等,计算思维越来越多地渗透到其他学科,改变着其他学科专家的思考方式。2010年7月,教育部高等学校计算机基础课程教学指导委员会发布了《九校联盟(C9)计算机基础教学发展战略联合声明》,确定了以计算思维为核心的计算机基础课程的教学改革[6]。因此,作为计算机基础课程之一的C 程序设计课程,不仅要传授给学生计算的方法和模型,培养学生的计算思维能力,更应让学生意识到,在这种计算思维指引下的问题求解方式,使计算思维成为每一个人的基本技能之一。
2 探究性学习
计算思维的教育价值体现在问题求解思路、创新思维和形式化描述[7]。程序设计中算法体现了问题求解的思路,要培养学生的创新精神,在实践过程中还必须培养学生的问题探究能力。教育家陶行知说过:“发明千千万,起点在一问。”教学过程是不断提出问题和解决问题的过程。探究性学习是指学生在学科领域或现实生活的情境中,通过发现问题、调查研究、动手操作、表达与交流等探究性活动获得知识、技能和态度的学习方式[8],探究学习是以问题为中心而展开的。C 程序设计实践课堂中,学生解决了一个具体问题后,要多思考相关的问题或对该问题进一步演变和拓展,看能否找到解决新问题的方法,由一个问题学会解决一类问题,并在解决问题的过程中进行总结和探索,是否能以超常规或反常规的方法、视角去思考问题,提出与众不同的解决方案,从而产生新颖的、独到的、有社会意义的思维成果。
3 C 实践教学新模式
计算思维不是只与计算机科学有关的思维,但是计算机的发展极大促进了计算思维的研究和应用。从思维的角度,计算机科学主要研究计算思维的概念、方法和内容,并发展成为解决问题的一种思维模式。计算机程序是对所要解决的问题,用一种计算机可以理解的方式进行描[9]。计算机编程的过程体现着计算思维的一些核心理念,有助于培养学生的计算思维能力。
C 实践课堂上,学生拿到题目,首先很难有解决问题的具体思路(计算思维能力尚弱)。即使有了思路后,只满足于该具体问题的解决,很少有学生进一步思考类似问题如何解决,不能融会贯通(缺乏探究能力)。绝大部分学生不能对已解决的问题进行总结和提炼,因而不利于更高层次计算思维的形成,遇到实际问题时还是不会解决,总觉得计算机编程很难,丧失了学习兴趣。该文从计算思维和探究能力培养的角度,给出了C 实践教学改革的新模式,如图1所示。
通过对C 理论知识的学习,使学生掌握了计算机学科中的一些基本概念和理论,包括面向过程和面向对象的程序设计方法,查找、排序、最值、穷举和递归等算法思想,这些都是计算思维中的核心概念,在计算机课程的学习中得到更明确的定义和解释,因此C 理论课程的学习促进了学生计算思维的形成。
当学生具备了一定的计算思维能力之后,就可以在已有的计算思维框架下,尝试解决具体问题。当解决新问题遇到困难时,如果能有老师的指导或自主查阅相关资料,将会帮助学生获知该具体问题的解决思路,构建与该知识点有关的计算思维。
计算思维远不止为计算机编程,还要求能够在抽象的多个层次上思维。因此,当我们解决完一个具体问题后,我们还必须对具体问题进行探究,能否突破常规思维进行更有效的求解,或当条件、目标发生变化问题又如何解决。在自主探究学习的过程中,总结问题解决的根本方法,探索新思路,提高自己计算思维的水平,从而增强自己以计算思维方式解决其他复杂问题的能力。
4 结束语
本文探讨了计算思维和探究学习在C 实践教学中的应用。计算思维指导着学生的实践活动,但在实践的过程中,要勇于探究,勇于从不同角度考虑问题,并及时进行归纳总结,深化学生对已有问题的认识,提高了自己计算思维的能力和水平,从而提高自己解决实际问题的能力,根本上解决学生编程时动手难的问题。
参考文献:
[1] 高永丽. 提升C 程序设计课程学习质量方法探析[J]. 电脑知识与技术,2009(32): 8982-8983.
[2] 王立柱. C 学习中的一个整体性问题[J]. 计算机教育,2007(20):74-76.
[3] 陈婷. C语言程序设计实验教学改革探究[J]. 实验技术与管理,2010,27(10):182-184.
[4] 王飞跃. 计算思维与计算文化[EB/OL]. 科学时报, 2007-10-11.
[5] Jeannette M. Wing. Computational Thinking[J]. Communications of the ACM. 2006, 49(3): 33-35.
[6] 九校联盟(C9)计算机基础教学发展战略联合声明[J]. 中国大学教学,2010(9):4.
[7] 陈杰华, 戴丽娟. 以培养计算思维为核心的程序设计实验教学[J].实验技术与管理,2011,28(1):125-127.
[8] 李亦菲, 杨宝山. 探究性学习与研究性学习的四个误区[J]. 中国教育学刊, 2002(6):40- 42.
[9] 李廉. 计算思维——概念与挑战[J]. 中国大学教学,2012(1):7-12.