曾春艳+王志锋+万相奎+武明虎+赵楠
摘要:针对传统的C语言教学过程中,学生缺乏学习兴趣、内容枯燥难以理解、缺乏动手编程能力的问题,本文提出问题式学习模式下C语言合作学习教学方法。该教学方法采用以教师为主导,学生为主体的双主型教学模式,将所有学生分组,对每组学生提出难易过渡合理的多个问题,应用合作学习的理念提高每个学生的学习主动性和团队协调能力,最后通过具有激励作用的考核方法有效促进了学生主动学习C语言程序设计这门语言。
关键词:问题式学习,合作学习,C语言,教学
Abstract: in view of the traditional C language teaching process, students' lack of interest in learning, content boring problems difficult to understand, lack of hands-on programming ability, this article put forward the problem-based learning mode cooperative learning C language teaching methods. The teaching methods and teachers as the leading factor, the students as the main body of the double main teaching model, will all student groups, difficult transition for each group of students put forward reasonable multiple problems, applying the concept of cooperative learning to improve each student's learning initiative and team coordination ability, finally, have incentive effect appraisal method to effectively promote the students' active learning the language C language program design.
Keywords: problem-based learning, cooperative learning, C language, teaching
一、传统教学模式存在的问题
目前传统的C语言程序设计教学主要存在以下三个问题:
1. 枯燥的语法学习让学生缺乏兴趣
在大多数教材设计中,C语言的教学先讲授基本的数据类型、运算符与表达式这类语法知识,然后讲述顺序、选择、循环这三种基本的结构。这些内容枯燥繁琐,有大量需要记忆的细节,容易让学生失去学习兴趣和动力。而且这些语法的讲解即便是结合了具体实例、错误示范,也是局部细节的讲解,容易让学生陷入这些细节中,只见树木不见森林,渐渐失去了学习C语言的积极性。
2. 学生难以适应对编程逻辑
C语言课程大多开设在工科院校的第一学年,学生第一次学习编程语言,需要很长的时间去适应编程逻辑,对于数学和C语言语法类似的地方也容易混淆。而上机时对编译出错和警告信息的理解判断、单步/断点调试方式的应用都需要大量的练习才能掌握,所以很多学生表示,学习了很长时间C语言,依旧弄不太懂这门语言的范式和规律。
3. 教师考核的内容偏重语法,学生缺乏算法思维
由于C语言的学习需要先掌握常量、变量、数据类型、顺序、选择、循环语句,才能写出程序,所以教师在教学时,将大量的精力用在语法讲解上。同样,考试时教师也偏重于这些语法的考核,很多题目是为了考语法而考语法,而实际应用时极少用到那些极端的语法表达,反而是要表达得易于理解,避免混淆。在这样的教学与考核体系下,即便学生硬着头皮记下了大量的语法,也依旧缺乏算法思维,只能读程序,不会自己编程序。
针对以上问题,C语言的教学亟需改变传统的模式,用问题式学习模式激发学生的学习兴趣,引导学生课下自觉在编译平台上练习,培养编程逻辑。同时要改变单一的以教师为中心的教学模式,构建合作学习式的以教师为主导、学生为主体的双主型教学模式。
二、合作学习式的双主型教学模式
合作学习就是将所有学生分成几个“组内异构,组间同质”的小组,小组与小组之间的能力接近,而组内各成员素质良莠不齐,学生在学习活动中相互帮助,对老师提出的学习任务各尽其能完成,使小组利益最大化的一种教学理念。
合作学习的理念源于学习的本质应该是一种同客观世界对话、同他人对话、同自我对话的三位一体的活动,理想的教学应该是每个学生能安心学习,愉快地同教材对话,感受并分享同学间的见解,体验交流的喜悦。
通过合作学习,学生愿意为集体的利益和个人的利益而一起努力,在完成共同任务的过程中实现自己的理想,能改善竞争意识给学生带来的精神压力。由于合作学习是课堂学习和自学之间的缓冲,在教学组织方面具有衔接性,十分符合我国高校教学以班级授课形式为主的教学传统,教学组织形式上改革阻力较小,容易实施。
在高等院校的 C 语言教学中开展合作学习对提高学生编程能力和解决实际问题的能力有十分重要的意義。为避免合作学习走向某个学生“独当一面”或者合作流于形式两个极端,老师在组织 C 语言合作学习时,需要对整个 C 语言教学过程进行系统的设计。目前的教学设计模式分为三种:以教为主的教学系统设计、以学为主的教学系统设计、综合两者之长的以教师为主导、以学生为主体的“双主型”教学系统设计。
以教为主的教学系统设计将行为主义学习理论和认知学习理论为作为基础,在教学过程中,教师处于中心地位,强调教师的主导作用。这种教学方式是我国目前主要的教学形式,原因主要有以下几种:1.大部分学校的授课都是大班教学,教师讲学生听的模式,比较适合这种规模的课堂活动;2.这种传统的教学系统设计已经由众多专家、学者以及一线教师通过几十年的深入研究、实践与发展,形成了一套比较严谨、完整的理论体系供教学工作者操作使用,而其它方式在我国实现的范围小,年限短。
以学为主的教学系统设计强度以学生为中心,教师由知识的讲授者变为学生主动构建学习的引导者,教师是根据学生的需求定制课堂的教学目标和内容,教学设计主要围绕“自主学习策略”和“学习环境”两方面进行,学生的参与为教学活动的起止点。这种教学模式由于强调学生是认知过程的主体,是知识的主动建构者,因而有利于学生的主动探索、主动发现、有利于创造型人材的培养,这是其突出的优点。但是,这种教学模式由于强调学生的“学”,往往忽视教师主导作用的发挥,忽视师生之间的情感交流和情感因素在学习过程中的重要作用;另外,由于忽视教师主导作用,当学生自主学习的自由度过大时,还容易偏离教学目标的要求,这又是其不足之处。
C语言合作学习式的“主导-主体”双主型教学模式,结合以教为主和以学为主两种教学系统设计模式的优点和灵活性,以奥苏贝尔的“学与教”理论和建构主义的“学与教”理论为基础,互相弥补不足,既重视培养学生的创新思维、创新能力以及学生情感因素对学习效果的影响,又较好地体现了教师的主体作用。
三、问题式学习模式下的合作学习
传统的教学模式是教师单向讲授知识点,学生听课,在课后复习时进一步理解。这种学习方式很难将新的知识与学生用已有的知识联系起来,而人在接受新的知识时,一定要将新的信息与头脑中已知的信息结合起来,用自己的方式重构知识体系,这种新知识才能被理解消化。因此在C语言的教学中,需要由问题引发学生的思考,再引入新知识,将其内化为学生自己的知识,开启学生的自主学习之路。
问题式学习(Problem-based Learning,PBL)是一种基于构建主义的教学方式,它以问题为核心、以学生为中心,让学生在问题的引导下思考、相互协作、交流并构建知识,让学生掌握灵活的知识基础、发展更高层次的思维既能、培养学生解决问题和自主学习的能力。
C语言的教学在实施问题式学习模式时需要在课前合理设计问题,注重问题的层次性、激励性和系统性;在课中扮演好教师的角色,创造问题情境,促进课堂的动态生成;在课后要注意深入反思和总结,反思教师自己的教学并引导学生反思自己的学习。
实际的问题式学习模式下的C语言合作学习可采用以下流程:
1. 教师分析学生的特征,确立学习目标。
学生的特征包括起点能力,学习风格等,C语言课程学习者多为工科院校大一的新生,已掌握的知识体系只有高中水平,基本没有基本的编程思想,对理论性的学习有一定兴趣,但更愿意动手实践。这些学生的学习风格又分为两大类:场独立性和场依存性。前者有自己的看法,不容易受外界和他人评价干扰;后者比较容易适应环境,但受到批评时容易学习积极性下降。在以上学生特征和学习风格的考虑,教师在确立学习目标时需要设计不同层次的问题,以适应不同类型的学生。
2. 教师根据学习目标设置具体的学习情境,并选择与当前学习密切相关的真实事件或问题作为学习的中心内容。
教师在设计课堂内容时分为三个部分:链接旧知识、探究新知识、新知识小结。先对学生知识体系中已有的相关内容复习,为新课做铺垫,然后围绕新知识学习以不同层次的问题展开,设置一条问题探究线索,让学生对新内容有一个整体的把握。在课题学习的最后一部分对新知识做总结和反思。
3. 学生根据教师提供的问题自主学习,解决问题。
学生先课前预习,在教师给出旧知链接,多个新问题引导的前提下,分组展开讨论,分组一般以5~6人为宜,讨论的内容包括学生预习后的展示,对疑难问题的解答,知识体系的链接更新等内容。
4. 师生交流,对问题补充、修正、加深理解。
在学生讨论的过程中,教师可以观察每组动向,留意学生讨论的重心和存在的疑点,在学生讨论结束后,对有争议的问题做点拨和提示,但不是直接给出正确答案,而是引导学生自己得出正确答案,对开放性问题则引导学生在课后进一步查资料求证、思考,整个过程中教师只扮演协助者而不是主导者。
5. 教师评价学生表现,学生填写反思表。
在课堂的最后一部分,学生和教师一起总结新知识,评价各个学生的表现,对整个课堂环节的设置、时间安排提出修改建议。教师自己也要随时记录课堂教学信息,发现问题,反思自己的教学行为。
四、考核方式
设计合理的考核方式对促进学生的学习效果具有十分重要的意义。学生成绩分为两部分:平时成绩与期末考试成绩。由于采用合作式学习方式,平时成绩的重心放在学生身上,需要评价学生在合作学习中的努力程度和被认可程度,所以每次课堂上的平时成绩由组内成员协商的组内成绩和组间评价给出的小组成绩组成,个人成绩=a1*组内成绩+a2*小组成绩,其中a1,a2为权重系数,由老师确定。平时成绩的评定需要给出量化指标如下:1)合作态度,成员需要积极参与讨论和解决任务的全过程,并且善于交流,能团结伙伴。2)合作学习方式,成员愿意倾听别人的意见并给出合理反馈,愿意将自己的成果与成员共享。3)解决问题能力,能积极有效地收集相关材料并完成自己所负责的任务。通过以上考核方式能较好地促进学生在问题引导下合作学习。
参考文献
[1]张华,张淼. 基于问题求解的C语言开篇教学研究[J]. 计算机教育,2014,No.20501:13-17.
[2]王晓光. C语言教学的教学模式改革策略解析[J]. 电脑知识与技术,2013,v.929:6583-6584+6586.
[3]辛秀. 高职院校C语言合作学习的教学实践与反思[D].辽宁师范大学,2012.
[4]汪红兵,姚琳,武航星,张敏. C语言程序设计课程中的计算思维探析[J]. 中国大学教学,2014,No.28909:59-62.
[5]张蕾. 基于项目化教学的“C语言程序设计”课程改革[J]. 计算机教育,2013,No.18202:17-20.
[6]钟美. 培养应用型人才为目标的C语言教学改革[J]. 计算机教育,2013,No.19616:55-58.
[7]邱曉红,李渤,樊中奎,邱晓平. 融合认知结构和CDIO教育理念的C语言教学[J]. 计算机教育,2013,No.19616:107-111.
作者简介:曾春艳,女,1986.2 湖北武汉,博士,湖北工业大学,信号处理
通讯作者:王志锋 swallow_chunyan@163.com