案例教学法在C语言程序设计课程教学中的应用
2017-10-12韦霞
韦霞
【摘 要】本文分析高职C语言程序设计课程教学现状,提出在高职C语言程序设计课程中引入案例教学法,将课程中的知识模块整合成为一个综合性较强的案例,以分析、设计、完成案例中的知识单元为示范,并从实际教学案例出发探讨案例教学法的具体实施过程、其对学生学习思维模式的影响等。
【关键词】案例教学法 C语言程序设计 应用
【中图分类号】G 【文献标识码】A
【文章编号】0450-9889(2017)08C-0145-02
高职C语言程序设计是一门集理论知识与编程操作于一体的专业基础课,该课程教学质量的好坏直接影响着专业后续课程的学习。但是,目前在教学过程中,教师往往是选择通过讲解各种例题来分析和呈现各种语法和知识点,沿袭传统的“一言堂”教学方法,导致学生学完这门课后无法将每一模块的语法融会贯通运用到解决实际问题的编程中去,不具备灵活的软件编程能力。因此,在C语言程序设计的课程教學中,如何因材施教地设置教学案例、合理地实施教学过程,激起学生学习C语言的兴趣,充分调动学生学习的主动性和积极性,让学生学有所用,活学活用所学的课程知识,是我们必须深思的问题。
一、高职C语言程序设计课程教学现状和应用案例教学法的必要性
梧州职业学院的C语言程序设计课程主要面向移动互联与应用技术、信息安全与管理、电子商务技术等3个专业,课程教学目标的实现贯穿于课程教学的每一个实施细节,学生不仅要掌握C语言程序设计的基本语法知识、编程技巧和解决问题的一般算法,而且要在学习过程中逐步将程序设计的思想和方法变成自己的一种潜在技能、一种本能,为后续专业课程的学习夯实基础。因此,培养学生的化抽象为形象、化复杂为简单的解决问题的实际编程能力是本课程的教学重点。
目前,梧州职业学院C语言程序设计课程的教学大都采用常见的“理论教学+实训教学”教学模式,理论教学一般是围绕语言本身的知识体系来展开,很多时候都是以讲解理论知识为主,尤其是语法知识,一些编程的实例和技巧的讲解作为深入理解语法知识的辅助手段,不利于培养学生的程序设计能力和语言应用能力。这种教学模式不利于学生的自主学习和分层教学,教学效果不佳,学生实践编程能力差,离课程的教学目标相差较大。具体表现在:其一,容易忽视学生的自主性和个别差异性,不易发挥学生的学习主动性,很难培养学生的学习兴趣、爱好特长和发挥学生的个性、才能,无法做到因材施教。其二,学生普遍反映C语言枯燥难学、内容复杂、程序编写容易出错,且很多同学不知学了这门课有什么用,相当一部分学生的畏学、厌学情绪直接影响其在教学过程中的学习效果,严重影响了教学质量,达不到预期的教学效果。其三,过分依赖教师个人的技能和才干。如果教师没有好的教学方法,势必影响课程的教学效果。其四,学生的实践编程能力和软件开发能力远远达不到实际的要求。
案例教学法是一种互动式的教学方法,以对案例的分析理解为主旨,教学的知识单元紧紧围绕案例的讨论、解析一步步展开,通过对案例中求解的问题进行分析,激发学生的挑战欲和求知欲,进而调动学生的学习程序设计的积极性,引导学生主动地思考,掌握其解决问题的原理和方法,教师适时引导和评判,让学生充分讨论并发表各自的见解,最后推导出结论。在高职C语言程序设计课程中应用案例教学法,可以实现驱动式教学,抽丝剥茧地将抽象的知识形象化简单化,更好地激发学生的学习兴趣,促使更多的乃至全体学生参与到课程的教学过程中来;同时,能够使学生更好地掌握理论知识,提高运用知识解决软件开发中的所遇到的实际问题的能力,增强程序开发的综合素质。
二、基于案例教学法模式的C语言程序设计教学方法架构
2015年起,梧州职业学院在移动互联与应用技术、信息安全与管理、电子商务技术等3个专业的C语言程序设计课程中进行案例教学法的教学改革实践,按照“由案例分析问题、由问题设计算法、由算法撰写代码”的教学思路,通过实施教学过程,采用微课、微信公众号等现代教学手段、按照“分析、模仿、编写、调试、修改、调试”的教学模式进行实训,取得了一定的教学成效。案例教学法模式在C语言程序设计课程中的具体实施如下:
(一)案例的选择原则。C语言程序设计的课堂教学主要是依托于完善的教学大纲和教学内容,根据课程教学目标选取综合性强且具有代表性的典型项目(案例),在选取课程教学案例时,要从以下几点去考虑:一是案例的实施要能有助于把章节中的知识点串起来,即知识点的系统化;二是在案例的解决过程中有助于拓宽编程知识的广度和深度,这样学生在完成案例的时候,既掌握了本课程的知识点,又拓宽了自己的思维;三是案例要有助于培养学生分析问题,设计算法,解决问题即编写程序的能力。这样的案例在课程开始之初向学生发布,之后的整个教学过程紧紧围绕这个综合案例展开,将案例涉及的知识点融入教材各章节的学习中去,化复杂为简单,化整为零,直至完成整个案例。在这种教学模式的实施中,教师从知识的主讲者变为教学过程的引路者,学生作为教学的主体能够真正地参与并融入整个教学的每一个环节当中来。每一个知识点都要学生经过思考实践去领会,在解决案例的过程中逐渐提高自己的知识技能,真正去体会“纸上得来终觉浅,绝知此事要躬行”的深刻含义。这样的学习过程既可以激发学生的求知欲和学习兴趣,还可以间接地推动学生学习的积极性和主动性,获取知识的同时又促进了学生综合素质的培养。
(二)案例的实施过程。在课堂教学过程中,教师不必一上来就讲解教材里面的内容,而是根据学生对综合案例的分析及案例中所涉及的知识点的总结等内容进行讲解和引导。将出现的问题和错误进行梳理,集中答疑解惑,并要求学生进行分组讨论设计算法,完成设计方案的修订,培养学生逐渐构建求解问题的方法策略,指引学生进行问题的分析和算法的设计。同时,对于案例分析中存在的个别问题,单独进行讲解和引导,最终形成一个比较完善的学习知识的过程。其实施过程如图1所示。
图1 案例的实施过程
(三)案例中学习任务的编程及调试。根据各知识模块涉及的要点,对设计的算法进行归类。按照验证性实训、设计性实训、综合性实训和探究性实训的不同类型,将学生自行设计的解决案例中问题的算法,在编译环境下分别进行调试。对于涉及较多知识内容综合性很强的实训,学生通过整合所学的已有知识和技术来完成问题求解和代码调试的过程,使学生掌握综合分析问题和解决问题的技能。设计性实训是一种基于案例任务的实践教学模式,它的目的是让学生通过分析案例、查阅相关资料、設计算法,制定实训内容和步骤,通过在编译环境中进行实训研究、实训论证和总结并撰写实训报告。任务的编程和调试是一个复杂且综合性很强的过程,其涉及C语言程序设计的主要结构、数据类型、函数、语句等语法知识和常见错误的分析修改等,学生在任务的编程中学习和掌握C语言的语法,在常见代码错误中学会独立解决知识难点。对于积极参与到这一教学过程学生而言,不仅仅是完成一个学习任务,还可以从中培养学生独立思考、独立完成实训的能力和解决实际问题的能力。
(四)学习效果的综合性评价与总结。教师要对案例中涉及的知识模块、学习过程进行分析总结和评价。评价的环节包括组内评价、过程性评价和总结性评价,重视学习者在学习过程中的表现,弱化课程卷面成绩的评价。我们在逐渐重视因材施教的同时,对学生的评价最好也能考虑到个体的差异性评价,在分析和评价每个学生知识内化为潜在的技能的前提下,给出每个学生在分析问题的编程思维深度和解决案例实际问题的程序设计编写能力的完善度等方面的评价,最后得出学生本次的学习成绩。学习效果的评价不能简单地以一张考卷一段代码来评断,教师要转变思维,跳出主要的评价禁锢。目前,高职院校越来越注重培养学生创新创业的能力,学生创新创业能力的培养应该纳入C语言程序设计的学习效果评价机制中。学生在完成的案例教学任务中往往不乏好的提议和新发现,这些都应该纳入课程学习效果的评价参数中。
总之,如何选取合适的综合性案例,完善给定案例的描述和要求,是学生完成知识单元分析与学习的关键所在。今后在案例教学法的实施过程中规范化案例架构、教学过程的动态监控和教学效果的评价等方面有待更深层次的研究。
【参考文献】
[1]苗冬霞.浅析“C 语言程序设计”课程的案例教学[J].武汉工程职业技术学院学报,2006(2)
[2]雷海艳.浅谈现代案例教学模式[J].长春理工大学学报(社会科学版),2007(1)
[3]高枚,龚沛曾,孙丽君.构建多层次思维培养的C/C++程序设计教学[J].计算机教育,2016(1)
[4]邱力,郭小平.“C 语言程序设计”案例教学探讨[J].江西教育学院学报(综合版),2006(6)
[5]教育部高等学校计算机科学与技术教学指导委员会.高等学校计算机科学与技术专业人才专业能力构成与培养[M].北京:机械工业出版社,2010:84
【基金项目】2015年度广西职业教育教学改革立项项目 “案例教学法在高职‘C语言程序设计课程中的探索与应用” (GXGZJG2015B296)
【作者简介】韦 霞(1984— ),女,壮族,广西来宾人,研究生,梧州职业学院机电工程系讲师。
(责编 卢 雯)