论文部分内容阅读
摘 要 大学非计算机专业C语言程序设计课程的教学改革非常迫切,亟需要一种新的思维模式来指导学生进行程序设计,这种新的思维就是计算思维。计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动;将计算思维融入到C语言程序设计的课程中,可以从更高的层面上理解编程,从而激发学生的学习兴趣和编程欲望,达到教学改革的目的。
关键词 思维模式 计算思维 程序设计 教学改革
中图分类号:G424 文献标识码:A
0 引言
随着计算机在各个行业的广泛应用,计算机基础教育成为每个入学大学生的必修课,而C语言程序设计又是计算机基础教育里面的一门非常重要的课程。需要学习C语言程序设计的原因有:(1)C语言语法结构很简洁精妙,可以写出高效程序,大多数程序员愿意使用C语言去描述算法本身;(2)C语言深入到系统底层;(3)很多新型的语言都是衍生自C语言,掌握了C语言,再经过简单的学习,就可以掌握和使用新型语言去开发了,例如Java。第三个原因也从另一个侧面证明C语言是程序设计的重要基础。
C语言作为入门来讲是比较合适的语言,用处广泛,可以学会优秀的程序风格。想学会C语言,有初中数学和英语的基础就够了,但是如果想深入学好C语言程序设计,必须要有好的抽象的思维能力,这种抽象的能力就是计算思维。众所周知,计算机是一个应用工具,如何将这个工具应用好,是学生在学习时代乃至进入到社会必须熟练掌握的。要灵活使用计算机进行程序设计,基于计算思维的C语言程序设计教学方法发挥着重要作用。
1 计算思维概念
2006年3月,卡内基·梅隆大学周以真教授阐述了计算思维:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。对于计算机专业的学生来说,理解这一概念并非易事,而对于非计算机专业的学生来说,很难让他们理解计算思维。因此,仅仅知道计算思维这个概念是远远不够的,关键在于,将一些日常生活中常见的实例,用C语言程序来实现,而在这个实现过程中,就用到了计算思维理念。要想初步认识计算思维理论,就要借助于现实生活的例子,通过这些简单的例子,更深入地理解计算思维这一思维模式,在实践中,用计算思维来指导学生编程,这样一来,学生编程的出发点更高,考虑问题更全局化,编出来的程序更健壮、更通用、更科学。
要理解计算思维,首先要从科学思维来入手。科学是指反映现实世界各种现象的本质与规律的分科的知识体系。科学思维(简称思维)一般指的是理性认识及其过程,也即经过感性阶段获得的大量材料,通过整理和改造,形成概念、判断和推理,以反映事物的本质和规律。科学思维主要分为理论思维、实验思维和计算思维三大类。
理论思维经常碰到,例如公理。实验思维的先驱应当首推意大利著名的物理学家、天文学家和数学家伽利略,他开创了以实验为基础具有严密逻辑理论体系的近代科学。计算思维则是人类求解问题的一条途径,但决非要使人类像计算机那样思考。计算思维的本质是抽象和自动化。如同所有人都具备“读、写、算”能力一样,计算思维是必须具备的思维能力。
计算思维概括起来有以下三个特点:(1)计算思维吸取了问题求解所用的一般数学思维方式,颠覆了现实世界中巨大复杂系统设计与评估的一般工程思维方法和理解心理及人类行为的一般科学思维方法。(2)计算思维建立在计算过程的能力和限制之上,由人和机器执行;计算方法和模型可以处理那些原本无法由个人独立完成的问题和系统设计。(3)计算思维最根本的内容是抽象;计算思维中的抽象完全超越物理的时空观,以致完全用符号来表示;与数学的与物理的抽象相比,计算思维的抽象更为丰富,也更为复杂。
2 基于计算思维的课程教学方法
正是由于计算思维的抽象能力有助于复杂系统的问题求解,所以应该结合计算思维在C语言程序设计中的应用,为学生开设一门“怎么像计算机科学家们一样去思维”的课程,让学生们一开始就喜欢上编程,因为计算思维不仅仅属于计算机科学家,而是属于每个学生的基本技能。
以前,非计算机专业学生在学习C语言程序设计的教学过程中,教会学生C语言语法,告诉学生怎么编程,这种教学方法和模式对学生深刻学习C语言程序设计是很片面的。根据我们的教学实践,我们发现,需要一种思维模式来指导大学生学习C语言程序设计,不是为了编程而编程,而应该把编程当作是一种有趣学习,这种思维模式就是计算思维,它对学生们理解C语言乃至动手熟练编程起着非常重要的作用。因此,在教学的过程中,首先需要给学生们讲解计算和计算思维。当然,首先要从经常会碰到的生活中的简单的例子开始的,例如“求1+2+3+……+100”,让学生对计算思维概念有一个初步认识与理解,这样才容易让学生们拥有计算思维的思想,学生们也可以从一个更高的角度来全面理解和应用C语言编程,这对于非计算机专业的学生学习C语言程序设计无疑是一个好思路。
将计算思维融入到C语言程序设计,需要将C语言程序设计课程进行相应的整合,如何将计算思维巧妙地应用到C语言程序设计课程中,提高学生应用计算机知识抽象和分解问题的能力,对于非计算机专业的学生学习C语言程序设计和老师讲解此课程都是一个不小的挑战。在讲授此课程的过程中,我们对学生计算思维能力的培养做了系列的尝试和探索,面向非计算机专业的C语言程序设计,其计算思维的思想主要体现在如下几个方面,如图1所示。
(1)实例教学法。在C语言程序设计的教学过程中,需要讲授C语言的顺序、选择及循环三种基本结构,因为这三种结构贯穿着整个编程过程。对于数组、函数和指针等几部分内容,为了在教学过程中加强学生的计算思维能力培养,教学过程中选取几个例子进行深度剖析,这些例子不仅要有代表性,并且要以学生容易理解为前提,更贴近学生的现实生活。 (2)交互式教学法。讲练互动的交互式教学方法始终贯穿讲课过程中,“先讲后练”、“先练后讲”、“边讲边练”,老师在整个讲授的过程中,不再是演独角戏,而是边讲边同学生进行问题探讨的探索者,引导学生更深刻地理解问题,直至用多种方法灵活地解决问题,当学生的学习思路打开了,很难的问题也就不是问题了。
(3)课程设计方法。课程设计本来是为计算机专业的学生开设的课程,目的是让学生有更好更多的锻炼机会,加深对课程的理解。而作为公共课的C语言程序设计,一直以来,没有开设课程设计,事实上,公共课的C语言程序设计课程设计其实是非常有必要设置的。
计算思维在课程中的体现不是凭空存在的,而是要自己去体会和思考的。我们可以在课程设计中,给学生很贴近生活的例子,例如开发图书管理系统和学籍管理系统,在整个课程设计的过程中,将学习内容分解到各个阶段的设计,从而掌握计算思维能力在解决实际问题的具体应用。课程设计中的系统演示、项目答辩和系统说明书,这三者之间是有密切关系的,首先分团队合作设计系统,系统中的子函数分到每个成员解决,将主函数调用子函数,实现系统的总体功能;然后,在每个小组中选择代表答辩,在答辩的过程中,我们可以相互提出问题,探讨解决方案;最后书写详细的系统说明书,这三个阶段必不可少,成为一个设计整体,让学生们充分体会和享受整个编程过程,从而对C语言程序设计更加有兴趣和信心。
3 结论
需要将计算思维理念融入到课堂教学中,因此基于计算思维的C语言程序设计课程在整个课程设置过程中得到了反复强化,最终目标是将计算思维能力转化成学生的思想,使他们具有独立学习和研究的能力,这对大学生们在大学阶段后续的学习是大有裨益的,这也是一种值得推广的C语言程序设计教学方法。计算思维是能够在抽象的多个层次上的思维,而不仅仅是计算机编程。编程实现的是计算思维中的一个内容,但它还包含有抽象与建模、算法选择、资源选择与调度、优化与评估、模拟与仿真等诸多的内容。计算思维的引入有效地帮助学生进行研究性学习和自主学习,可以得到比以前单纯的讲授为主的教学模式更好的教学效果。与此同时,学生可以将计算思维能力应用到其他课程中,逐步提高各方面的能力,这对培养学生发现问题、解决问题及进行独立思考都有很重要的作用。计算思维能力的培养要面对所有的人,它的应用也是无处不在的。
€L芑鹣钅浚何浜嚎萍即笱Ы萄а芯肯钅浚ㄏ钅勘嗪牛?012X46)
参考文献
[1] 九校联盟(C9)计算机基础教学发展战略联合声明[J].中国大学教育,2010(9).
[2] 陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(1).
[3] 教育部高等学校计算机基础课程教学指导委员会.高等学校计算机基础教学发展战略研究报告暨计算机基础课程教学基本要求[M].北京:高等教育出版社,2009.
[4] 中国计算机科学与技术学科教程[M].北京:清华大学出版社,2002.
关键词 思维模式 计算思维 程序设计 教学改革
中图分类号:G424 文献标识码:A
0 引言
随着计算机在各个行业的广泛应用,计算机基础教育成为每个入学大学生的必修课,而C语言程序设计又是计算机基础教育里面的一门非常重要的课程。需要学习C语言程序设计的原因有:(1)C语言语法结构很简洁精妙,可以写出高效程序,大多数程序员愿意使用C语言去描述算法本身;(2)C语言深入到系统底层;(3)很多新型的语言都是衍生自C语言,掌握了C语言,再经过简单的学习,就可以掌握和使用新型语言去开发了,例如Java。第三个原因也从另一个侧面证明C语言是程序设计的重要基础。
C语言作为入门来讲是比较合适的语言,用处广泛,可以学会优秀的程序风格。想学会C语言,有初中数学和英语的基础就够了,但是如果想深入学好C语言程序设计,必须要有好的抽象的思维能力,这种抽象的能力就是计算思维。众所周知,计算机是一个应用工具,如何将这个工具应用好,是学生在学习时代乃至进入到社会必须熟练掌握的。要灵活使用计算机进行程序设计,基于计算思维的C语言程序设计教学方法发挥着重要作用。
1 计算思维概念
2006年3月,卡内基·梅隆大学周以真教授阐述了计算思维:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。对于计算机专业的学生来说,理解这一概念并非易事,而对于非计算机专业的学生来说,很难让他们理解计算思维。因此,仅仅知道计算思维这个概念是远远不够的,关键在于,将一些日常生活中常见的实例,用C语言程序来实现,而在这个实现过程中,就用到了计算思维理念。要想初步认识计算思维理论,就要借助于现实生活的例子,通过这些简单的例子,更深入地理解计算思维这一思维模式,在实践中,用计算思维来指导学生编程,这样一来,学生编程的出发点更高,考虑问题更全局化,编出来的程序更健壮、更通用、更科学。
要理解计算思维,首先要从科学思维来入手。科学是指反映现实世界各种现象的本质与规律的分科的知识体系。科学思维(简称思维)一般指的是理性认识及其过程,也即经过感性阶段获得的大量材料,通过整理和改造,形成概念、判断和推理,以反映事物的本质和规律。科学思维主要分为理论思维、实验思维和计算思维三大类。
理论思维经常碰到,例如公理。实验思维的先驱应当首推意大利著名的物理学家、天文学家和数学家伽利略,他开创了以实验为基础具有严密逻辑理论体系的近代科学。计算思维则是人类求解问题的一条途径,但决非要使人类像计算机那样思考。计算思维的本质是抽象和自动化。如同所有人都具备“读、写、算”能力一样,计算思维是必须具备的思维能力。
计算思维概括起来有以下三个特点:(1)计算思维吸取了问题求解所用的一般数学思维方式,颠覆了现实世界中巨大复杂系统设计与评估的一般工程思维方法和理解心理及人类行为的一般科学思维方法。(2)计算思维建立在计算过程的能力和限制之上,由人和机器执行;计算方法和模型可以处理那些原本无法由个人独立完成的问题和系统设计。(3)计算思维最根本的内容是抽象;计算思维中的抽象完全超越物理的时空观,以致完全用符号来表示;与数学的与物理的抽象相比,计算思维的抽象更为丰富,也更为复杂。
2 基于计算思维的课程教学方法
正是由于计算思维的抽象能力有助于复杂系统的问题求解,所以应该结合计算思维在C语言程序设计中的应用,为学生开设一门“怎么像计算机科学家们一样去思维”的课程,让学生们一开始就喜欢上编程,因为计算思维不仅仅属于计算机科学家,而是属于每个学生的基本技能。
以前,非计算机专业学生在学习C语言程序设计的教学过程中,教会学生C语言语法,告诉学生怎么编程,这种教学方法和模式对学生深刻学习C语言程序设计是很片面的。根据我们的教学实践,我们发现,需要一种思维模式来指导大学生学习C语言程序设计,不是为了编程而编程,而应该把编程当作是一种有趣学习,这种思维模式就是计算思维,它对学生们理解C语言乃至动手熟练编程起着非常重要的作用。因此,在教学的过程中,首先需要给学生们讲解计算和计算思维。当然,首先要从经常会碰到的生活中的简单的例子开始的,例如“求1+2+3+……+100”,让学生对计算思维概念有一个初步认识与理解,这样才容易让学生们拥有计算思维的思想,学生们也可以从一个更高的角度来全面理解和应用C语言编程,这对于非计算机专业的学生学习C语言程序设计无疑是一个好思路。
将计算思维融入到C语言程序设计,需要将C语言程序设计课程进行相应的整合,如何将计算思维巧妙地应用到C语言程序设计课程中,提高学生应用计算机知识抽象和分解问题的能力,对于非计算机专业的学生学习C语言程序设计和老师讲解此课程都是一个不小的挑战。在讲授此课程的过程中,我们对学生计算思维能力的培养做了系列的尝试和探索,面向非计算机专业的C语言程序设计,其计算思维的思想主要体现在如下几个方面,如图1所示。
(1)实例教学法。在C语言程序设计的教学过程中,需要讲授C语言的顺序、选择及循环三种基本结构,因为这三种结构贯穿着整个编程过程。对于数组、函数和指针等几部分内容,为了在教学过程中加强学生的计算思维能力培养,教学过程中选取几个例子进行深度剖析,这些例子不仅要有代表性,并且要以学生容易理解为前提,更贴近学生的现实生活。 (2)交互式教学法。讲练互动的交互式教学方法始终贯穿讲课过程中,“先讲后练”、“先练后讲”、“边讲边练”,老师在整个讲授的过程中,不再是演独角戏,而是边讲边同学生进行问题探讨的探索者,引导学生更深刻地理解问题,直至用多种方法灵活地解决问题,当学生的学习思路打开了,很难的问题也就不是问题了。
(3)课程设计方法。课程设计本来是为计算机专业的学生开设的课程,目的是让学生有更好更多的锻炼机会,加深对课程的理解。而作为公共课的C语言程序设计,一直以来,没有开设课程设计,事实上,公共课的C语言程序设计课程设计其实是非常有必要设置的。
计算思维在课程中的体现不是凭空存在的,而是要自己去体会和思考的。我们可以在课程设计中,给学生很贴近生活的例子,例如开发图书管理系统和学籍管理系统,在整个课程设计的过程中,将学习内容分解到各个阶段的设计,从而掌握计算思维能力在解决实际问题的具体应用。课程设计中的系统演示、项目答辩和系统说明书,这三者之间是有密切关系的,首先分团队合作设计系统,系统中的子函数分到每个成员解决,将主函数调用子函数,实现系统的总体功能;然后,在每个小组中选择代表答辩,在答辩的过程中,我们可以相互提出问题,探讨解决方案;最后书写详细的系统说明书,这三个阶段必不可少,成为一个设计整体,让学生们充分体会和享受整个编程过程,从而对C语言程序设计更加有兴趣和信心。
3 结论
需要将计算思维理念融入到课堂教学中,因此基于计算思维的C语言程序设计课程在整个课程设置过程中得到了反复强化,最终目标是将计算思维能力转化成学生的思想,使他们具有独立学习和研究的能力,这对大学生们在大学阶段后续的学习是大有裨益的,这也是一种值得推广的C语言程序设计教学方法。计算思维是能够在抽象的多个层次上的思维,而不仅仅是计算机编程。编程实现的是计算思维中的一个内容,但它还包含有抽象与建模、算法选择、资源选择与调度、优化与评估、模拟与仿真等诸多的内容。计算思维的引入有效地帮助学生进行研究性学习和自主学习,可以得到比以前单纯的讲授为主的教学模式更好的教学效果。与此同时,学生可以将计算思维能力应用到其他课程中,逐步提高各方面的能力,这对培养学生发现问题、解决问题及进行独立思考都有很重要的作用。计算思维能力的培养要面对所有的人,它的应用也是无处不在的。
€L芑鹣钅浚何浜嚎萍即笱Ы萄а芯肯钅浚ㄏ钅勘嗪牛?012X46)
参考文献
[1] 九校联盟(C9)计算机基础教学发展战略联合声明[J].中国大学教育,2010(9).
[2] 陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(1).
[3] 教育部高等学校计算机基础课程教学指导委员会.高等学校计算机基础教学发展战略研究报告暨计算机基础课程教学基本要求[M].北京:高等教育出版社,2009.
[4] 中国计算机科学与技术学科教程[M].北京:清华大学出版社,2002.