联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2018-04-16 08:22


摘 要:针对大一新生C语言“编程”入门较难的状况,采用“编程”知识点逐步深入,阶梯式递进的“编程”分阶段考核的方式,使学生产 生对C语言“编程”的学习兴趣,继而掌握基本的“编程”技能。过程化考核改革所带来的C语言课程教学内容、教学方法、教学手段和考核方式的创新,进一步激发了学生的“编程”学习 兴趣,增强了学生“编程”实践的自主性和自觉性。关键词:“编程”能力;C语言程序设计;过程化考核

1 C语言课程教学现状

过程化管理的教学模式近年来一直是教学改革的重点[1],由于高校课程的差异,不存在一个统一的教学模式,需要针对课程的不同探寻摸索。目前大多数高校将C语言作为计算机类专业程序设计基础课程,一直存在教学与考核方法较单一的状 况。课程考核结果一般由平时成绩、实验成绩和期末考试成绩构成,其中期末考试成绩所占比重最大,一般采用笔试的方式,试卷中的客观题比重偏大,更为注重原理与概念。这种传统考核 与教学方法不仅导致学生将该门课程认识为一门理论课程,甚至产生了其对计算机类专业的“误解”。一方面,课程的考核成绩不能准确衡量学生编程能力的高低;另一方面,学生刚接触“ 编程”课程就不能够尽快适应专业实践方式,常常导致其对计算机类专业课程学习的困难,甚至失去专业学习兴趣和自信心,也就缺少了专业学习的动力和自觉性。针对此类问题已有很多方 面的研究,从诸如课程设计改革、精品课程设计和教材等多个方面实施,并取得了一定的成果[2-4]。但以上研究大多没有考虑C语言与其他课程之间的关系,而作为一门基础课程,这 恰恰是C语言教学中所需要重点面对的问题[5]。需要指出的是,C语言教学作为一门实践性极强的课程,其教学常需要大量实验辅助,实验建设一直是此方面的重点关注问题[6]。在 大学教育普遍压缩学时的情况下,采用以考代练的机考是公认的较好模式,国内已经有一些这方面的研究出现[7]。本文从2012级C语言“编程”能力的过程化考核改革入手,针对大 一新生C语言“编程”入门较难的状况,采用“编程”知识点逐步深入,阶梯式递进的“编程”分阶段考核的方式,通过C语言课程教学内容、教学方法、教学手段和考核方式的创新改革, 课程组集体讨论设计出每类知识点的综合应用案例,运用案例和问题导向教学,进一步激发学生的“编程”学习兴趣,增强学生“编程”实践的自主性和自觉性。我校计算机学院开设计算机 科学与技术、软件工程和网络工程等3个本科专业,C语言作为3个专业共同的专业基础课程,课程本身承载着计算机类专业学生认识“编程”课程的特点、专业实践基础能力的培养、专业 学习兴趣与自信心培养的关键起点。C语言程序设计课程的目的在于使学生掌握“编程”的基本技能,让学生具备一定的“编程”基础,为后续专业类课程学习奠定“编程”实践和专业知识 基础。计算机类专业对“编程”实践能力的培养要求是一致的,同时由于3个专业的定位和专业方向不同,其对C语言课程教学的要求也略有差异,表1给出了C语言课程中各个知识点对应3个专业的能力要求矩阵。从表1可看出,3个专业的C语言基本“编程”能力要求是一致的。随着C语言课程教学内容的加深,不同专业对一些知识点要求的掌握程度出现了差异。例如, 关于指针部分,软件工程专业后续的“编程”课程是Java,对指针知识点的要求不高,做到了解即可,而计算机科学与技术专业对学生嵌入式开发有较高的要求,网络工程则侧重学生底 层通信协议开发的能力,都对指针知识点的掌握要求较高。计算机科学与技术软件工程网络工程基本编程语句熟练掌握熟练掌握熟练掌握控制语句熟练掌握熟练掌握熟练掌握函数与模块化一 般掌握熟练掌握一般掌握指针级链表熟练掌握了解一般掌握文件一般掌握熟练掌握了解

2 计算机类专业C语言课程

过程化教学改革鉴于C语言课程在计算机类专业学习的特殊性,计算机学 院将C语言课程列为院级核心主干课程,成立课程组,学院从师资投入和资源方面给予重点支持。学院专门制定了相应的“研究生助课制度”,加强学生学习过程的全面指导与答疑力量。围 绕C语言课程过程化教学与考核改革,课程组制定了集体讨论与备课制度。集体讨论设计出每类知识点的综合应用案例,运用案例和问题导向教学。鼓励学生主动实践,充分利用C语言课程 的过程化教学与考核平台资源,多练多交流,学院还专门为学生开放学院所有实验资源,每个班级均能够有自主管理的实验室资源。为达到“精讲多练、边讲边练、问题导向”的C语言课程 教学的过程化改革,课程组教师走访多个学校,在国内高校充分调研的基础上,选择与成都信息工程学院网络工程学院开展深入合作与交流,共同完善并开发出了“C语言程序设计过程化考 核平台”。该平台可以通过学生提交代码、后台编译多个用例测试的方法,按照用例的比例给学生成绩。该平台的特点在于注重过程化教学与学习实践,学生的学习过程也是专业实践的过程 ,所有的知识点均可以在实践平台上得到运用。课程组围绕考核平台规划教学设计路线,见图1。图1 过程化教学设计方案该路线以课程目标为出发点,从问题教学出发,着眼如何提高学 生的编程实践能力。在教师指导的方式下,利用模拟考试提高学生编程技能,如果学生未达到预先的课程目标则继续强化编程实践,反复训练以达到最终的教学要求。在路线实施过程中结合 国内同类

课程改革的经验,将提升学生计算思维能力[8]和以考试系统无纸化为特点[9],实现一体化的教学设计。考虑到C语言课程综合运用能力,结合所学理论知识,帮助学生分析问题并学 会解决问题,最后达到理论与实践的融会贯通。C语言课程需要学生能够用C语言完成具备一定功能的软件编制,该过程学生需要提交设计计划,经授课教师确认开始编程实现。在本课程教 学设计中,通常最终要求学生设计一个信息管理系统。该系统功能基本上需要用到C语言课程中学习到的文件、链表、数组和函数等知识点,学生可以在编写程序的过程中,逐步将基础“编 程”技能提升到“编程”应用的较高层次,同时培养了学生的学习兴趣和自觉性。

3 C语言课程过程化考核改革

传统的C语言课程考核方式不能全面考核学生知识的掌握和运用情况,一般 采用笔试的方式,试卷中的客观题比重偏大,更为注重原理与概念。往往造成“临考突击通过,过后即忘”的结果。该课程在开设过程中,经常出现学生在结课后仍然不具备编程的基本能力 ,即使考试成绩合格也仍然不会编代码。后续一些课程的教师反映,学生由于编程能力欠缺,实现基本的算法都有困难,对专业学习失去自信心,甚至出现了厌学的思想。考虑到C语言程序 设计课是一门实践性很强的课程,2012年之后对课程考核实施改革,以上机考试为手段,通过过程化考核的方式,以分阶段分层次的方式,达到提高学生编程技能的目的。在过程考核阶 段,当教师完成某一个阶段的授课时,为学生布置测试题,学生在指定时间内完成测试并实时获得成绩。这种方式最大的好处就是学生的考试环境与平时环境完全相同,在非常熟悉的环境下 完成考试过程。学生不用期末突击学习,而是分阶段完成各个知识点的学习和考试任务,分阶段取得相应的成绩,不仅降低了学生的学习难度,同时也有助于学生及时掌握自身编程的不足, 调整学习重点,提高学习效率。以往的课程考核总评比重中,期末成绩占总成绩的70%~80% ,引入过程化考核之后,教师可以分阶段设置对学生考核的内容,各个阶段的成绩达到总成 绩的50%左右。表2为过程化考核引入后的具体分配方式,考虑到对学生编程能力的巩固和提高,对期末考试权重仍有一定的要求。C语言课程过程化考核改革中,针对这一问题采用多元 化的考核方法,结合C语言的教学特点,课程组设立若干个模块知识点,包括基本编程技能、变量使用、顺序结构、分值选择结构、循环结构、数组、函数设计、指针操作、结构体和文件, 每个基本模块又设立一般、较难和困难3个档次。学生可以在平时有针对性地对各个知识点进行练习,加大平时课堂学习及作业等考核成绩的比重,教师则根据所授课班级的专业特点动态调 整知识点的难易程度。为了提高题库的质量,课程组和学院的20多位教师先后3次对题库进行了大规模的修改,改进后的平台具备多次提交答案、实时查看成绩的功能,极大地减少了教师 批改作业和试卷的工作量。表2 过程化考核的方式、内容及评定说明分项方式(权重)课后作业(10%)各阶段考核(60%) 期末考试(30%)依据及评定说明根据标准答案上机考 试自动阅卷上机考试自动阅卷目的掌握学生当堂学习效果掌握学生实践编程能力掌握学生整体编程能力课程量按课堂布置按照基本模块知识点包含课程各个章节  过程化考核方法对教师的 教学具有很大的促进作用。多元化的考核方法对教师提出了更高的要求,在评价学生学习效果和能力的同时,教师可以获得反馈信息,督促教师更加合理地安排教学内容、调整教学方法。过 程化考核能够增加师生之间的互动,及时获得教学效果反馈信息,有助于发现教学过程中存在的问题。如教学过程中发现灌输式教学法存在问题,及时采用启发式教学方法,甚至对某些章节 采用自学方式。如数组中的排序算法,教师把要解决的问题提出来,通过例题让学生自学并解决问题,最后,教师讲解过程推导的来龙去脉,并进行应用总结。这样以应用为目的反向教学使 学生对知识点和基本原理的印象更深刻,更不易忘记。过程化考核的最终目的是培养学生独立思考、研究和判断的习惯,提升学生的整体能力。

4 过程化教学与考核改革效果评估

 过程化教 学的教学效果评估是过程化教学的重要一环[10],无论是对实践类教学还是理论教学,近年来都有一些完整的分析方法,其中教考分离是目前比较推崇的一种评估考核方式[11]。课 题组通过对2012—2014级计算机学院程序设计试卷分析统计,期末考试采用教考分离、机考试卷随机出题的方式,计算机自动阅卷,以保证考核的客观性、真实性。由于随机出题的 难易程度不易统一,为公平起见,对于考试成绩偏低的学生提供二次考试的机会。从考试成绩看,取得优秀(90~100分)的学生成绩比例在30%左右,不及格一般在10%以下,学 生的编程能力得到了较好的提升,并且能够真实反映学生“编程”能力的基础与水平。课程组对2012级学生进行跟踪调查,分析了该年级学生后续的培养过程和毕业情况。从数据显示可 以看出,2012级学生的整体专业“编程”能力比以往的学生有大幅提升,其中超过50人次在国家级各类编程比赛中获得了奖项,超过60人次主持或参与国家级和北京市级大学生创新 计划。由于该年级学生对于编程的兴趣浓厚,进而引发其专业课程学习的热情和考研的需求。据统计,该年级学生有40人达到2016年国家研究生录取分数线,3名学生获得免试推荐研 究生资格,5名学生获得国外攻读研究生资格,占整个年级人数的近15%。该数据创下本校学生近10年考研升学新高。毕业设计能力情况和就业形势等再次证明了基础“编程”能力科学 训练的突出效果。

5 结语

通过4年来C语言课程过程化教学与考核改革,发现多样化的、科学的考核评价模式对激发学生的学习积极性、调动教师的教学积极性,以及推动教学内容、教学 方法、教学手段和教学考核等都有积极的促进作用,最终达到提高学生“编程”实践能力和专业学习兴趣等教学效果的目的。C语言课程过程化教学与考核改革得到了学校和北京市的大力支 持,分别作为校级重点教学改革项目和北京市教育教学改革项目给予了立项资助。目前,该项目已经被北京建筑大学计算机系引进并投入使用,还有部分国内高校表达了引进的意愿。该项教 学改革的实际教学效果和社会示范效果已经显现。


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp