结合认知结构的KM教学法在C语言教学中的应用
2019-05-13李忠慧
李忠慧
摘 要: 针对C语言程序设计实践课程中学生预习不充分,语法知识不扎实,遗忘快,编程思维混乱等问题,探讨将认知结构学习理论和KM教学法相结合的教学方法应用到实际教学中。文章基于KM教学法开发一套C语言程序设计课程的分层认知结构图,搭建课程自主学习平台,提供课程知识图谱、预习资源、习题资源。采用过程性考核方式,加大实验成绩所占百分比。教学实践结果表明,结合认知结构的KM教学方法激发了学生的学习积极性,达到了较好的实验教学效果。
关键词: 认知结构; KM教学法; 自主学习; 知识图谱
中图分类号:G642.4 文献标志码:A 文章编号:1006-8228(2019)03-64-03
The application of cognitive structure combined KM teaching method in C language teaching
Li Zhonghui
(School of Information Engineering, Yancheng Teachers University, Yancheng, Jiangsu 224002, China)
Abstract: In order to solve the problems that students' insufficient preview, inadequate grammar knowledge, fast forgetting and confused programming thinking in C language practice courses, the application of cognitive structure learning theory and KM teaching method in actual teaching is discussed. With KM teaching method, this paper develops a series of hierarchical cognitive structure graph of C language programming course, builds an autonomous learning platform, and provides curriculum knowledge graph, preview resources, exercise resources, and uses process assessment method to increase the percentage of the experiments. Through teaching practice, KM teaching method combined with cognitive structure stimulates students' learning enthusiasm and achieves better experimental teaching effect.
Key words: cognitive structure; KM teaching method; autonomous learning; knowledge graph
0 引言
“C語言程序设计”是我校数学、物理相关专业开设的一门通识课程,具有较强的理论性、实践性和创造性。该课程计划授课96课时,其中理论64课时,实验32课时。实验课时较少。普遍存在这些现象:部分学生课前不预习,课后不及时复习,遗忘快,上课能理解老师讲解的内容。在实验课,做讲过的习题,就变成练习打字,做稍微变换的习题,就编程思维混乱。很多学生把实验课用来检验理论课中例题。这样实践教学不能达到培养学生编程和调试程序的能力。在实际教学时,我们应充分发挥教师“导”的作用,利用一些好的教学措施提高学生学习兴趣,鼓舞学生学习这门课程的信心,从而达到培养学生动手编程的能力,为学生后续的专业学习奠定扎实的基础。
1 结合认知结构的KM教学法
认知结构是指学生在某一学科的特殊知识领域的全部内容及其组织[1]。美国心理学家奥苏贝尔强调认知结构的重要性,认为学习过程是将已有的内部的知识组织结构与新的经验知识相结合的过程。奥苏贝尔系统地阐述了认知结构及其与课堂学习的关系。学生已有的认知结构会影响新的学习,如果对新的学习起促进作用,则称为学习的正迁移;如果起干扰或抑制作用,则称为学习的负迁移。
KM教学法是杨炳儒教授在2009年提出的教学方法,在顶层,列出课程知识逻辑结构(Knowledge Logic Structure) 的总体框架。在中间层用思维形式注记图来表示每一章节的知识点,在底层将每个层次的各知识点注记图又相互联系,形成一个知识系统[2-3]。
本文在认知结构学习理论的基础上,采用KM教学法,开发一套C语言程序设计课程知识认知结构图。本套图册分为三层,顶层是课程知识的总体框架图,中间层是各知识点思维导图,底层是每一层知识点关系图。这套图册利用自主学习平台发布,帮助学生建立良好的认知结构,促进知识学习正迁移。
2 课程认知结构图的开发与应用
2.1 课程认知结构图的开发
本文按知识点由易到难的顺序,将课程内容分为三个层次。图1是C语言知识的总体框架图,是顶层总体框架图,旨在给学生介绍本课程的教学内容及各知识点之间的关系,为学生建立良好的认知结构奠定基础。实际授课时,按照图1的三个层次依次递进教学。
认知结构图的中间层是由每一章各知识点的思维导图组成。思维导图易于呈现分类知识点间的关系,利于学生记忆和理解,供学生随时查阅各知识点的语法。为方便学生理解各知识点,设计了相关案例的交互式动画。设计这些案例时,融合计算思维的特征[4-5],将编程分为六个小任务:问题分析、问题抽象、归纳分解、算法初步描述、算法细化、编程语言实现。学生学习时只有正确完成当前任务后才能进入下一任务的学习。最终通过多次查阅强化已有的课程认知结构,通过案例学习,理清编程思路,提高编程思维能力和分析问题解决问题的能力。
认知结构图的底层是由每一层的编程思维知识总图和细化图以及本层知识点关系导图组成。编程思维知识图是以编程思维的逻辑方式,将本层的各个知识点再次联系起来。图2是第一层的各知识点按照编程思维方式组织的总图。学生在编程时,可按照此图从上到下确定本题的语句,对于语法知识还没完全掌握的,可进一步查阅细化图。这便于学生系统化的复习,理清编程思路,提高其编程能力,对进一步学习下一层新知识起促进作用。
2.2 课程认知结构图的应用平台
本系统发布在已有的课程自主学习平台上,成为自主学习平台的子模塊。要求学生在每次上课前完成对应知识点的预习任务。由于各个学生的学习能力不同,所以任务发布时间是课程开设日期,而结束时间是按本学期授课计划上对应知识授课日期的前一天。督促学生课前预习。对于学习能力强的学生可以自主提前学习。为了提高学生完成预习任务的积极性,把预习任务的完成情况纳入到实验平时成绩考核中。这样,在实验课上,学生已具备当前内容的理论基础,有一定的编程思路。课堂时间主要花在算法实现和程序调试上,这对学生动手实践能力的提升大有益处。
2.3 实施效果评价
⑴ 实验设计
本文对本校物理专业的两个班级(171班57人,172班61人)进行教学实施,评价结合认知结构的KM教学法的教学实施效果。根据控制变量法原则,在实施教学时,两个班级教材、教师、计划授课时和教学进度安排全部相同,171班学生通过平台学习认知结构图,按期完成预习任务。172班按传统授课方式教学,按期布置预习任务。
课程教学内容按难易程度分为三层,在每一层次授课完成后对两组学生就本层内容进行编程测试。每次编程测试3题,所选题目都是没有在课堂讲过、练过的习题,防止学生死记代码。测试按难易度规定完成时间分别为45、60和100分钟。记下规定时间内完成的题目数。最后比对学生测验和实验期末成绩。
⑵ 实验结果及分析
两个班级的测试结果统计如表1所示。171班学生整体编程实践能力要高于172班学生。期末实验成绩比对中171班的优秀率和平均成绩要明显高于172班。
3 结束语
C语言实验教学是培养学生分析问题,归纳抽象问题,利用C语言解决实际问题的能力。本文顶层采用KM图描述课程的认知结构图,中间层采用知识点的思维导图,底层采用知识点关系图的三层模式进行实验教学。教学实践证明,采用该模式可以提高C语言实验教学效果,可以帮助学生建立起良好的认知结构,为今后其他课程学习奠定基础。今后,将为系统开发手机端平台,让学生把C语言“字典”随身带,更方便他们的学习。
参考文献(References):
[1] 陈婷.C语言程序设计实验教学改革探究[J].实验技术与管
理,2010.27(10):182-184
[2] 杨炳儒,张桃红.理工科课堂KM教学法研究[J].现代大学教
育,2006.22(4):83-85
[3] 周颖,李葆萍,马超等.基于KM教学法的知识图开发、教学及
评估研究[J].中国电化教育,2016.39(8):87-92
[4] 刘光蓉.融入计算思维的C语言实验教学设计[J].实验室研
究与探索,2015.34(10):81-83,103
[5] 朱前飞,杨鼎强,蒋加伏等.基于计算思维的程序设计课程改
革研究与实践[J].计算机时代,2017.35(6):69-73