2012年第04期
吉林省教育学院学报
No.04,2012
第28卷JOURNAL OF EDUCATIONAL INSTITUTE OF JILIN PROVINCE
Vol .28(总280期)
Total No .280
收稿日期:2012—01—10
作者简介:侯薇(1973—),女,黑龙江望奎人,东北农业大学工程学院计算机系,讲师,博士研究生。研究方向:演化计算,数据挖掘等。
基于项目驱动的程序设计基础课程的计算思维培养
侯
薇
(东北农业大学工程学院,黑龙江哈尔滨150030)
摘要:针对大学计算机程序设计基础教学存在的问题,以培养学生的计算思维和计算能力为宗旨,提高大学生的基本程序设计开发和应用能力,提出了按专业分类,实施教学过程项目化、教学方法案例化的教学改革探讨。
关键词:计算机基础;程序设计;计算思维;项目驱动;案例教学中图分类号:G20
文献标识码:A
文章编号:1671—1580(2012)04—0148—03
一、大学计算机程序设计基础课程教学存在的问题
计算机基础教学是培养大学生综合素质和创新
能力不可或缺的重要环节,是培养复合型创新人才的重要组成部分。程序设计是大学计算机基础课程的重要分支,也是许多高校非计算机专业进行计算机基础教育的重要课程之一。目前程序设计基础课存在的问题主要是:对于理论课上大量繁杂的语法规则等理论知识学到的非常有限。一方面学生数量多,影响听课效果;另一方面理论课的内容以理论为主对于大部分学生而言太过枯燥了,无法调动同学们的积
极性。实验课能切实学到一些东西,但实验的方式一般只是简单的模仿,学生根本无法进行自主的探索式学习,学到的知识无法在学生头脑中留下深刻的印象,也无法培养学生独立思考,独立解决问题的计算思维的能力,学到的知识很快就还给老师了,也就没有达到该课程的目标,即学习问题求解的思路和方法,理解计算机是如何具体实现算法即如何有效利用计算机编程,最终通过该课程的学习提高广大学生的计算机程序设计基本的应用开发能力、研究创新能力。
二、计算思维
计算思维的培养成为国际和国内计算机教育界关注的热点。美国卡内基·梅隆大学周以真教授认为,计算思维(Computational Thinking )是运用计算机科学的基础概念(即思想和方法)进行问题求解、
大学编程课是学什么的系统设计,以及人类行为理解的涵盖计算机科学之广度的一系列思维活动,它不仅属于计算机科学家,它应当是每一个人的基本技能。计算思维的本质就是抽象和自动化,即如何按照计算机求解问题的基本方法去考虑问题的求解,
以便构建出相应的算法和基本程序。2010年7月20日,九校联盟在西安对计算思维与大学计算机基础教学进行了研讨,发
表了
《九校联盟(C9)计算机基础教学发展战略联合声明》[1]
。声明认为,培养复合型创新人才的一个
重要内容就是要潜移默化地使他们养成一种新的思维方式:运用计算科学的基本概念对问题进行求解、系统设计和行为理解,即建立计算思维。这表明,计算思维的培养已得到中国部分高校的重视,目的是为了培养能够参与国际竞争的创新人才,
确保国家的竞争实力。大学第一门计算机基础课程是计算思维培养的一个关键。
三、项目驱动的计算思维培养
以往,我们在公共程序设计课程(如Visual Baisc ,Visual Foxpro )中的教学,基本照搬计算机专业教学模式,使用“理论讲授+例题剖析+实验编写小程序”的传统教学方法,实际的教学过程中,一是很少对学生自身的学习特性进行分析,如学习兴趣、学习方式、专业特点等;二是这种单调的填鸭式的教学方法脱离实际和应用问题,
不利于提高学生的学习兴趣和积极性;三是没有结合学生自身专业特点注重应用能力的培养和创新目标的实现。学生
8
41
学完整门课程后,不知道所学的知识有什么用,不能很好地把握知识的重点,实际工作中所需要的技能也得不到很好的训练。
(一)项目教学法
项目教学是以学生为主体,教师只是引导者和有限的指导者,负责激发学生兴趣,注重学生专业能力、学习能力以及综合应用能力培养的一种教学过程。
项目教学法通过有计划地实施一个完整的项目而进行教学,这种教学方法把知识学习、技能训练、能力培养贯穿于整个教学过程中,其目的是在教学中把理论知识与实际应用有机地结合起来,在应用空间中充分挖掘学生的创造潜能,提高学生解决实际问题的能力,实现应用型人才培养目标。案例教学以项目为切入点,项目教学贯穿于整个教学过程。
(二)以专业为区分,选择或设计不同的教学案例
按照传统的教学方法,即枯燥的理论讲解+简单的程序分析+模仿式的上机实验,再加上大学计算机程序设计基础课理论部分通常采用大班教学,难以控制课堂秩序,与学生缺乏交流,学生多是被动式学习,导致学生很快对这门课失去兴趣。案例教学是在项目模块化后采取的一种实践性教学方法。在选择教学
案例时,应该以专业来区分,围绕与学生自身专业相关的案例进行授课,布置与学生专业相关的项目实施。以Visual Foxpro教学为例,开发小型信息管理系统是非常方便的,所以可以按照开发一个小型信息管理系统的过程来组织教学,把Visu-al FoxPro程序设计的各知识点融入到系统开发过程中去,不同的专业选择不同的信息管理系统,如会计学专业的会计电算化、金融学专业的金融管理信息系统、物流管理专业的物流管理系统、水利工程专业的水利工程管理系统等等。整个课程教学内容分成若干个模块,每个模块涉及的知识就是理论基础,涉及的系统开发过程就是实验任务,这种以项目为导向、用模块来驱动的教学目的非常明确,就是要把书本知识与实际应用紧密地结合起来,让学生明白所学知识的作用,尤其可以为后续专业课程学习打下必要的基础,以及在以后的工作中如何学以致用,从而提高学习兴趣。
(三)案例教学过程中的计算思维的培养
计算思维的培养成为国际和国内计算机教育界关注的热点。美国卡内基·梅隆大学周以真教授认为,计算思维(Computational Thinking)是运用计算机科学的基础概念(即思想和方法)进行问题求解、系统设计,以及人类行为理解的涵盖计算机科学之广度的一系列思维活动,它不仅属于计算机科学家,它应当是每一个人的基本技能。计算思维的本质就是抽象和自动化,即如何按照计算机求解问题的基本方法去考虑问题的求解,以便构建出相应的算法和基本程序[2]。
案例教学对教师也提出了更高的要求,教师首先要不断学习并设计适合学生知识结构和心理特点的案例教学内容。案例教学即是项目实施前的引导,主要包括对新知识的讲解和对项目具体实施的解释。新知识的讲解要精练清晰,抓重点,避重复,不必面面俱到,在学生实施项目的过程中出现的各种错误,让学生自己去发现知识,学习知识,解决问题,这样能够为学生的创新思维留出适当的空间。
新知识的讲解可以采用多种多样的手段来调动学生的积极性,如第一次课做一些有趣的程序实例演示,每个学生都希望通过学习也能设计出这样的程序,从而激发学生的学习兴趣;将抽象的复杂的概念或术语,转化为简单的,直观的,易于理解的表述方式。如将表单比喻为画板,可以利用提供的工具在画板上进行描绘;利用多媒体丰富的表现手段,帮助学生理解重点难点知识,例如可以利用动画模拟循环结构的单步执行过程,显示每一步的执行结果,提高了教学的效果和效率;结合知识点设计的实验内容尽量生活化、趣味化。例如在分支程序结构中,安排火车计费程序进行计算思维训练;结合专业的实际应用设计演示实例,如资源环境学院的学生在进行站点实地水准测量时,要手工计算,只有获得误差范围内的结果,才能测量下一个站点,教师可以设计一个小程序自动计算本次测量的误差,使学生能够直观感受到程序设计的作用,加深对知识的理解,增加了学习的动力,当然这需要教师与学生多交流,来收集各专业学生的需求。采用何种教学方法与手段要从教学内容出发,不同的课程、同一课程的不同章节,都可能采用不同教学方法和手段。对每一种教学手段都要扬长避短、合理搭配。粉笔+黑板的模式也不能简单扬弃。
在案例教学和项目实施的过程中,要努力培养学生“观察—联想—变换”的程序设计的一般思维方法或过程[3],即通过对项目模块的需求分析,认识和理解项目要解决的问题;然后通过联想,寻该问题同已有的程序设计知识之间的联系;最后通过转换,把该问题转化为另一个或几个易于用程序语言表达并实现的方式,实际上就是一个抽象和自动化的计算思维的过程。让学生在独立解决问题的过
941
程中体会到学习的乐趣,感受程序设计之美,计算之美。
(四)项目实施过程中的计算思维的培养
项目完成过程比教师讲解实例要难些,尽量符合学生实际认知能力和知识水平,有一定的综合性[4-5]。这里的项目应该是(1)针对某个教学内容而设计的能由学生独立完成的、可以收到良好教学效果的小任务。(2)通过项目的实施过程使学生利用案例教学的知识达到触类旁通,举一反三的计算思维能力的培养。(3)倡导算法多样化的过程中,培养学生的创新意识、探索精神和问题求解能力。在教学过程中,应该尊重学生的个体差异,鼓励学生从不同角度认识问题,用不同方式表达算法,用不同方法实现问题求解。关注学生思维能力培养。(4)学生应该能独立地在短时间内完成项目,遇到困难能在教师有限的指导下自己克服困难完成项目。鼓励学生当出现程序错误时不要放弃,而是努力排除错误,这样能够强化学生的计算思维训练。同学们一定会因为提出新算法和排除错误感到满足,这样可以
使同学们积极思维,大胆创新。(5)教师的指导要把握尺度,实践证明非非正面非全面的提示性指导不但使学生记忆深刻,还能锻炼学生的发散思维,培养其创新能力。(6)项目总结很重要。既要总结项目完成的最佳思考方法,又要展示多种程序设计方法,师生共同评价各种方法,全面吸收项目实施过程中的精髓。
四、总结
计算机基础教学进入了一个新阶段,计算思维能力的培养作为计算机基础教学的核心任务,它对于学校和从事计算机基础教学的教师既是发展的机遇,又是挑战。本文提出了在大学计算机程序设计基础课的教学中以项目驱动的方式培养学生的计算思维能力的教学改革探讨,以计算学科基本问题为导向,以经典案例为基础,通过项目实施了解和应用编程的基本原理,着力提高学生的计算思维能力。其中还有很多的观点是不成熟,不完善的,还需要投入更多的精力来研究与探讨,更有待于实践的检验。
[参考文献]
[1]董荣胜.《九校联盟(C9)计算机基础教学发展战略联合声明》呼唤教育的转型[J].中国大学教育,2010,(10):14-15.[2]陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教育,2011,(1):7-11.
[3]吴文虎,王建德.世界大学生程序设计竞赛(ACM/ICPC)高级教程(第一册)程序设计中常用的计算思维方式[M].北京:中国铁道出版社,2009.
[4]孟朝霞.基于项目的程序设计实践课程教学流程设计[J].高等理科教育,2008,(5):137-140.
[5]张翠英,罗伟.基于“项目驱动为导向”的专业课程教学改革[J].晋城职业技术学院学报,2008(2):56-58.
Culture of Computational Thinking in Basic Course of Project-driven Based Program Design.
HOU Wei
(Engineering College of Northeast Agricultural University,Harbin,Heilongjiang,150030)
Abstract:In allusion to the problems in basic teaching of University computer program design,in order to develop students'com-putational thinking and computing power,and improving the students'ability on development and application of basic program design,the writer presented a teaching reform with professional classification,implementation of teaching projects as process,and using teach-ing methods as embodiments.
Key words:Computer base;program design;computational thinking;project-driven;case teaching.
051
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论