张墨逸,邹 晓,陈海燕(兰州理工大学 计算机与通信学院,甘肃 兰州 730050)
C语言课程设计的指导方案研究
张墨逸,邹 晓,陈海燕
(兰州理工大学 计算机与通信学院,甘肃 兰州 730050)
摘 要:针对教学中存在的问题,对指导方案进行研究,提出使用项目式教学法,加强过程检查,说明相应的表现性评价机制。
关键词:C语言课程设计;指导方案;表观性评价
(1)教学目标:通过一个综合应用程序的开发,学会从实际应用出发分析问题,熟悉软件设计的基本步骤,掌握程序设计的基本方法和常用算法。
(2)教学过程:设计时间为1或2周,2名同学一组,利用课余时间查阅资料,编制程序,完成设计。
(3)指导方法:为方便学生答疑,安排部分学时的集中上机辅导,集中进行验收和答辩。
(4)评价机制:5级分制,由平时上机情况、验收答辩、设计报告3部分组成。
(5)实施流程:选择问题,需求分析,查阅材料;小组合作,总体设计;任务分工,详细设计;编写代码,调试测试;归纳总结,提交报告。
(1)基础知识不扎实:不少学生在学完C语言基础课后,仅具备阅读30~50行程序和编写20~30行程序的能力,因此,开发300~500行的应用软件有一定的难度[1]。
(2)课程设计自身难度较大:在理解C语言知识的基础上,学生还须具备有一定的软件分析和设计能力、算法与数据结构的知识,因此,从事应用软件的开发难度较大。
(3)学生重视程度不够:由于各种原因,实践性教学环节考核通过率较高,这就使得部分学生存在侥幸心理,认为最后都能够通过,不必认真去完成设计。
(4)抄袭现象严重:网络上存在的大量课设资料和上一届的课设资料,都成为抄袭的对象,有些同学甚至都没有阅读内容,修改姓名后,就作为自己的作业提交。
针对以上问题,我们对旧的指导方案改进并对内容进行细化,见表1。
3.1课程设计的进度
新旧方案中部分进度不同,见图1。由于现在网络资源丰富,资料收集速度较快,学生可以在网络上,或者从前几届的学生那里找到与课设题目相似的程序,大多数同学通过程序阅读与理解,直接将程序复用,大大减少编程的时间,在这种情况下,将编程时间由3天改为1天。复用的程序,很多不能直接运行,或者与软件设计的内容不十分相符,那么需要使用2天的时间进行程序修改调试,使其满足基本设计要求。通过老师检查程序演示1,对程序功能提出建议,增加1个功能完善的环节,需要1天的时间。这个环节十分必要,可以监督学生对重用的程序进一步阅读理解,消化吸收变为自己的知识,并且可以锻炼发散思维与知识迁移能力。原方案中,使用1天的时间写设计书,学生只能匆匆总结;新方案中改为使用2天的时间写设计书。
表1 新旧指导方案对比
图1 新旧方案的不同时间进度
3.2项目式自主学习
从实施项目的角度出发[3],给学生安排课设任务,依次执行项目中的总体设计、详细设计、程序设计、调试与测试、设计书编写等环节,使学生了解整个工程项目的设计思路,提高自主学习能力[4]。
3.3拼图式学习,利用网络学习大量的资料
通过问题分析,利用拼图式学习的思想[5],按照任务切块→建立原属小组和明确任务分工→网络自主学习→回原属小组进行组内互助→教师回馈流程进行学习。网络自主学习时,引导学生更好地使用网络资源,并在网终资源中寻找解决问题的办法。如在程序设计时可以寻找一些现成的程序,比如数据统计中的排序功能,可以直接使用网络资源中提供的程序,但是要求学生对程序能够理解。如在总体设计与详细设计阶段,当学生不了解模块分解与数据流图的绘制时,可以在网络上自主学习。
3.4教师指导与学习成果检查的细化
很多老师在指导课程设计时,第一节课讲解课设要求,然后学生自主进行课程设计,老师的指导只是起到答疑的作用。很多同学在课设中根本不知道要做什么,不具备在工程设计中将工程进行分解的能力与自我管理能力,当然也没有问题向老师提出,到最后只是在网络上下载了现成的程序与论文提交,没有达到课程设计原有的要求。
新的指导方案中对教师的指导与学习成果检查进行了细化。在两周的课程设计过程中,学生每天都要提交相应的学习成果进行检查,而老师也会有针对性地按照各个阶段的不同要求进行指导,可以有效地起到监督学习的作用,使学生通过各个阶段的目标完成,有一定的成就感,激发学生对课设下一个阶段的兴趣。
3.5由结论性评价改为表现性评价
原有的课程设计评价由平时上机情况、验收答辩、设计报告3部分组成,这种评价更注重结果,反馈信息有限[6],即使老师考查上机情况,也只是对出勤的次数进行考查,这就出现了学生在网上找资料,然后坐在实验室里玩游戏、看电影的情形。设计程序是一项复杂的表现性活动,对其进行表现性评价更为适合,即对教学过程与教学结果进行综合评价,见图2。评价的具体内容不仅要包括基础知识和基本技能的评价,还应当包括教学过程中情感与态度、思维与能力的评价。其中思维[7]与能力[4]、学习成果等评价指标见表1。教师在实施过程中,每天对照表1中的指标给学生打分,最后根据各项指标进行综合,评定为最终成绩。
基于过程的表现性评价,使老师可以对课设过程进行准确把握,学生每天都有阶段性学习目标,学习过程与答辩过程都很轻松愉快。
图2 传统的终结性评价方式
图3 表现性评价方式
3.6程序演示与说明书检查
在表1中,程序演示1、程序演示2,说明书1、说明书2表示在检查学生的设计过程中,通过程序演示1与说明书1的检查,提出错误与改进意见,经过完善,得到程序演示2与说明书2。如学生开发的“运动会分数统计系统”,在程序演示1中,整个系统已经具备了增、改、删、查的功能,其中查找的功能为按姓名查找,可以要求学生增加保存数据的功能,增加按运动项目查找的功能。说明书1检查学生说明书的内容,重点是软件设计过程在说明书中的展示情况,说明书2检查学生说明书的格式,考查学生文档排版与办公软件的使用情况。这是学生经过学习,对成果不断改进与完善的过程,也可以训练学生的发散思维能力。
经过多年的C程序设计与C语言课程设计的教学,我们充分体会到C语言作为一门高级语言,对于初学者在短时间内掌握其精髓,并且开发出复杂的应用软件是比较难的。在课程设计中,教师必须找到适合学生学习特点的教学手段和方法,合理地组织教学方案,使学生从思维与能力上得到一个提升。将我们提出的教学新方案应用到实践教学中,与其他班相对照,明显提高了学生的学习兴趣与学习积极性,增强了学生解决实际问题的能力,取得了良好的教学效果。
参考文献:
[1] 王锐, 范悦. C语言课程设计教学新模式的构建与实现[J]. 吉林工程技术师范学院学报, 2010, 26(1): 71-73.
[2] 蔡雅琳. C语言课程设计实践与分析[J]. 电脑知识与技术, 2008, 3(7): 92-93.
[3] 张学林. 项目教学法在C语言程序设计课程中的研究与应用[J]. 实验技术与管理, 2011, 28(2): 164-167.
[4] 祝胜林, 邢仲璟, 林丕源. “C程序设计”专业基础课程中三种能力培养的教学探索[J]. 计算机教育, 2009(20): 79-80.
[5] 胡继飞. 拼图式合作学习及其在教师培训中的应用[J]. 外国中小学教育, 2009(6): 43-46.
[6] 刘红. 表现性评价在C语言课程设计中的应用研究[D].呼和浩特: 内蒙古师范大学, 2009.
[7] 刘远军. 培养计算思维的C语言实验方案设计[J]. 软件导刊, 2014(1): 189-190.
(编辑:郭田珍)
第一作者简介:张墨逸,女,讲师,研究方向为计算机基础教育、图像处理与模式识别,zhangmoyi_1985@163.com。
中图分类号:G642
文章编号:1672-5913(2016)04-0121-03