您好, 访客   登录/注册

基于项目化教学的“C语言程序设计”课程改革研究

来源:用户上传      作者:

  【摘要】本文介绍基于项目化教学的程序设计基础课程改革的实施方案,并改革相应的考核方式,以课程改革的实践为例,讲述项目化教学的实施过程。
  【关键词】项目化实施 考核方式 课程改革
  引言
  C语言程序设计属于高职计算机类专业的核心基础课,应用非常广泛。但这门课在教师讲授和学生学习过程中仍存在一些问题:学生的学习基础较差,新手人门难,传统的教学方式偏重语法和邏辑,只按教材的章节顺序讲解,使得各部分的知识不能有机融合,与实际应用分离,学生感觉枯燥、难学,从而导致厌学;缺乏面向应用的项目驱动式教材和项目化教学;考试方式不合理,期末统一按照教务处组织的笔试考试。
  在分析了新形势下IT业界的需求后,针对目前教学上存在的问题和我们学校学生的特点,要改变传统的C语言教学模式,以课堂教学方式方法改革为抓手,推进考试考核方式改革,积极探索和构建信息化环境下的教学新模式,逐步使项目化课堂教学模式成为课堂教学主流模式。其核心的理念:以项目为主线、教师引导、学生主体。
  一、“C语言程序设计”课程项目化教学的改革的方案
  项目化教学提倡在解决问题的过程中开展学习,切实有效地提高学生的专业能力。其以项目化技术为单元的课程体系充分体现了生产岗位的行为过程,解决了现有教学模式的不足,更符合现代职业教育的需要。针对《程序设计基础》现有课程教育模式存在的问题,我们在项自化教学方面进行了实践性探索,具体改革方案女口下:
  1.教学内容。以项目化教学为基础,项目的选择要贴合实际需求,教学内容也要贴合实际需求,主要包括程序的设计、程序的分支、循环结构,函数、数组等多个不同的模块。将这些模块融入到几个项目中来实现。拟解决的问题是:跟据教学内容初步划分2个部分,分别为:语言基础阶段、编程提高阶段,每个阶段如何设计合适的项目案例,如何分解为多个课程任务,兼顾不同素质的同学;这是本论文需要在教学内容组织中需解决的问题。除此之外,针对C语言中的重点、难点知识点,做成微课,方便学生学习。
  2.教学的方法。实施项目化教学后,针对不同的项目在班级进行分组,以小组作为学习单位进行。老师提出项目后,使学生能够针对项目进行问题的分析及解决,就是所说的引导法。“学生主体,教师引导”的教学模式,要求教师必须进行角色转换,在项目教学法的具体实践中,我们从讲台上讲授、灌输转变为走到学生中间与学生交流、讨论。在具体的项目实施时如何实现是本论文拟解决的问题。
  3.理实一体的机房教学能使学生快速掌握技能
  本门课程的教学,是采用理实一体化教学,教学地点直接安排在具有软硬件条件的联网机房。教学过程中可实现边讲边练,讲练结合。“教、学、做”结合,“手、口、脑”并用使教学效果大大提高。
  4.考核方式。课程考核是检查教学效果的重要环节,教学效果的好坏取决于学生的学习效果,而学生的学习效果要从工作能力和职业素养两方面来评判,因此,课程的考核不能再单独从理轮考试结果或上机考试结果,而应该是一个过程性评价。本论文拟要解决的问题是过程性考核应如何评价?如何考查学生的学习态度、独立思考能力、协作能力和解决实际问题的能力。在期末终结性考核时,主要考查学生重要理轮知识的掌握情况。
  二、“C语言程序设计”项目化教学的课程改革实践
  1.整体设计
  基于项目化教学的《C语言程序设计》课程改革实施方案,根据学生的不同层次分两个阶段进行,在语言基础阶段:任务提出一知识分析——任务分解——任务完成——评价提升;在编程提高阶段:项目提出——分组(自组团队)——知识分析——项目递进一一项目实施——验收总结。
  在教学初期,选择比较有代表性的案例作为课堂教学任务,介绍与此任务相关的知识点,然后与学生一起讨论任务的解决方案和实现细节,再由学生完成任务,最后老师对学生完成的任务进行总结和评价,学生再根据教师的评价来修改和完善程序。
  在编程提高阶段,根据初期阶段所学内容,完成一个可以解决实际问题的小型软件,教师在这个阶段只是辅助和引导的角色。学生根据自己的技能积累和知识储备自行选择、设计和实施项目;项目完成后,教师组织学生评审,小组之间也可以互相讨论,最后根据完成情况进行评价和经验共享。
  在编程提高阶,段,以一个小型的学生成绩管理系统为例,采取“循序渐进”的原则,将所学知识点进行综合应用,具体涉及项目如下:表1:项目分解表
  2.项目化教学实施过程
  下面以语言基础阶段的程序设计模块中的循环嵌套知识点的讲解为例,将从情景引入、实例导学、体验任务实践、总结评价4个环节展开学习。
  (1)情景引入:首先让学生观看红绿灯交替变化的动画,创设学习情景,提出问题:(假设交警叔叔要在一个路口临时设置一个红绿灯,红灯停5秒,绿灯行10秒,一小时内的红绿灯变化有何规律?)教师引导并引发学生思考,教师答疑并解决问题,从而引出循环嵌套的概念。用现实生活中的实例意在告诉学生,其实学习贴近生活,知识源于生活。
  (2)实例导学:进入实例导学环节,老师先提出让在计算机屏幕上显示来自星星的直角三角形的任务,让学生带着(1)重复的操作是什么?(2)变量i和.J的作用(3)每行输出的率的个数与行数的关系;带着这三个问题观看微课视频,看完视频,让学生回答问题,老师上机演示并讲解来自星星的直角三角形的输出过程,师生互动共同讨论总结出循环嵌套的设计要点和执行过程,来激发学生的学习热情。
  (3)体验任务实践:老师提出新的任务一数学上的经典算法“百钱买百鸡”问题,通过教师端的极域控制软件发送给学生,学生分组项目实践,程序设计的方法有多种,为了集思广益,将学生分成5个小组讨论,教师引导学生对新任务进行分析,归纳,优化整理,画出流程图,将抽象的算法具体化,以此启发学生探究问题,举一反三的编程思维。   利用VC++编程软件,学生亲自动手编写程序,对程序的编译错误,学生可以现场问老师,老师及时给予随堂指导,针对不同错误类型,给予分类指导,在不断调试、纠错的过程中,运行出“百钱买百鸡问题”的方案結果。引导学生按照任务分析、设计程序、编写程序、运行调试程序4个步骤体验了任务实践的整个过程,也让学生体会到解决问题的成就感,实现“做中学”。
  (4)总结评价:学生完成任务实践,各组代表上台展示编程成果,解说编程思、路,汇报在编写调试程序的过程中出现的问题,遇到的难题;教师对各小组完成情况予以点评,引导学生进行知识梳理和总结,并组织小组进行互评和自评,通过各组累计得分,评出表现最优小组。
  3.学习效果的考核方式多样化
  建立了过程考评与期末考评相结合的方法,强调过程考评的重要性。过程考评占50分,期末考评占50分。具体考核要求见表。
  4.改革的成效
  2019-2020第一学期,对17计算机网络技术(五年制”班、2班两个平行班班的学生做对比,1班实施项目化教学,2班实施传统教学,通过课堂问卷调查显示,学生学习自主性、积极性显著提高,学习效果更好。
  表3:学生对不同教学方式效果的评价
  对于五年制学生来说,实施项目化教学后,学生通过自己的实践,把书本上比较零散的知识变成实际的应用,激发了学生的学习兴趣,提高了学生学习的积极性,在“做中学,学中做”的过程中,突出了能力的训练,而五年制的学生更喜欢动手操作。同时,也提高了学生的实际动手能力。
  将课程的考核更多融合在平时的项目案例操作中,不再是单纯的一纸试卷来考试,更大的提高了学生的学习热情和成就感。
  三.结语
  通过一个学期的实践,该门课程的项目化教学改革取得了一定成效,通过设置不同难度的项目,将"C语言程序设计”课程中涉及的知识点贯穿到具体的项目中来实现;选择的项目都是与实际生活紧密联系的项目,提高学生编程的成就感和学习的乐趣,教学效果良好。学生的挂科人数减少,学生学习的积极性也有所提高,项目化教学模式将在在教材改革与师资队伍建设方面做进一步的研究与探索。
  参考文献:
  [1]黄金国.基于项目化教学的“C语言程序设计“课程改革研究[J].吉林工程技术师范学院学报,2018(2)
  [2]沈程鹏.C语言教学中“为用而学,交叉复现”分组讨论模式的探索[J].计算机教学与教育信息化,2014.4.
  [3]章飞.C语言程序设计课程教学内容及教学方法研究[J].电脑知识与技术,2019.5
  [4]谭浩强.C语言程序设计[M].4版.清华大学出版社,2012
  [5]苏玉.C语言程序设计[M].中国水利水电出版社,2014.8
转载注明来源:https://www.xzbu.com/2/view-15354334.htm