• 美文
  • 文章
  • 散文
  • 日记
  • 诗歌
  • 小说
  • 故事
  • 句子
  • 作文
  • 签名
  • 祝福语
  • 情书
  • 范文
  • 读后感
  • 文学百科
  • 当前位置: 柠檬阅读网 > 散文 > 正文

    大学计算机程序设计课程分层教学改革探索与实践|计算机程序设计课程

    时间:2019-04-12 03:14:52 来源:柠檬阅读网 本文已影响 柠檬阅读网手机站

      摘要:本文对大学计算机程序设计课程进行了研究,针对目前教学中存在的问题,提出了大学计算机程序设计课程分层教学改革方案,从教学内容、教学手段和方法、考核方式等方面进行了改革。教学改革取得了如下效果:分层教学方案更好地激发了学生的学习兴趣,学生的学习效果也有了明显的提高;教改过程中我们对教学网站题库进行了扩充,为今后的程序设计课程教学工作奠定了良好的基础。
      关键词:程序设计;算法;分层教学;教学改革
      ● 现状
      当前,国内各高校普遍开设了大学计算机基础课程,这类课程是面向大学一年级学生开设的公共类必修基础课,其目标是培养大学生掌握信息技术处理能力、从而提高他们的综合素质。以前,我们的教学方案是第一学期所有专业统一学习《计算机技能》,主要讲授最基本的计算机常用软件如Word、Excel、PowerPoint等的操作技能;第二学期按照专业不同分别学习各种程序设计语言如C程序设计、VB等。然而,在教学的实践过程中,我们发现之前的计算机基础课程培养方案存在下列问题。
      由于大学新生来自不同的地区,教育资源的配给或利用率相差较大。有些经济发达地区中小学信息技术教育已经普及了,学生的计算机技能及知识也较丰富。而另外一些欠发达地区信息技术教育基础却还很薄弱。教育资源不均衡的现状致使大学新生的计算机应用水平曾差不齐。针对这种现状,我们认为有必要对大学计算机基础课程进行改革,实施计算机课程分层教学方案,对部分基础较好的学生,加强程序设计能力方面的训练。
      另一方面,通过对大学生程序设计课程教学情况进行的调查分析,我们发现该课程无论教学内容还是教学手段和方法上都存在许多的不足。比如,教学内容过于注重语言语法细节,没有把分析问题、解决问题能力的培养放在主体地位上。许多学生在学习完程序设计课程之后,虽然考试成绩不错,但并不能动手解决现实问题。此外,教学手段和方法也较落后,缺乏直接激励因素,学生对程序设计课程的学习较为被动,因而学习效果不佳。
      因此,如何改革程序设计课程教学内容、教学手段和方法,更好地培养学生的编程实践能力,全面提高学生分析问题和解决问题的能力是十分重要的研究课题。
      ● 教学改革方案
      我们按照大学新生实际计算机操作技能水平和本人兴趣将学生分成普通班和提高班,分别实施难度不同的教学大纲。普通班学生还按照原教学计划进行,提高班学生加强程序设计能力的训练。鉴于程序设计是一门实践性很强的课程,光会读程序是远远不够的。只有通过强化的编程训练,学生才能真正掌握程序设计。我们对提高班学生确定改革的指导思想是:高起点、强实践、重能力;总体目标是:以强化实战训练为手段,培养学生程序设计实践能力,全面提高分析问题与解决问题的能力。围绕这一指导思想和总体目标,我们展开了如下方面的教学改革。
      1.教学内容的改革
      为了在更高的起点上培养学生程序设计能力、分析问题与解决问题的能力,我们决定对理工类学生程序设计课程体系进行重新规划和调整,提出了分层教学改革方案:理工类提高班学生第一学期不再学习《计算机技能》,而改为学习《C程序设计》[1-2],学习基本的程序设计知识。第二学期在第一学期基础上学习《算法基础》[3-4],加强分析问题与解决问题能力的训练。这两个学期的程序设计课程内容前后相互衔接,难度逐渐递增,形成一个完整的程序设计课程教学体系。
      由于大多数新生没有程序设计基础,我们决定将第一学期课程《C程序设计》安排在机房进行,通过加强上机练习,增加对程序设计的感性认识。我们发现过去讲授C语言时对语法知识点讲解得过于详细,其中很多语法内容用得却并不多,学生学习完后可能很快就会忘记,因而教学效果并不尽如人意。因此,我们坚持“只求精、不求全”的原则,第一学期仅讲解C语言最常用部分:基本输入和输出语句、分支、循环和数组,其他如指针、递归等难度较大的内容留给第二学期讲解。通过精心设计上机例题,反复练习这部分重点内容,让学生切实掌握这部分基本内容。
      在学生熟练掌握了第一学期程序设计基础知识后,第二学期《算法基础》加强了算法方面的学习,主要讲解穷举法、递推和递归、回溯法、动态规划、贪心法等。通过这门课程的学习,学生进一步加强了分析问题与解决问题能力的训练。此外,为了使学生全面掌握C语言知识,我们在第二学期《算法基础》课程中补充讲解C语言的其他重要知识点,如指针、递归和文件。两个学期程序设计课程内容前后相互衔接,安排合理。
      2.教学手段和方法的改革
      以往程序设计教学实践环节是这样的:教师布置题目→学生上机调试→提交作业→教师批改作业→结果反馈给学生。然而,由于缺乏直接激励因素,学生对这种做题方式没什么兴趣,相互复制成了作业完成的常态,学习效果并不理想。
      为了激发学生学习的积极性,我们采用了ACM竞赛平台作为教学平台,该平台为ACM程序设计竞赛而开发,有如下好处。
      (1)自动判卷
      学生按照题目要求编写程序并调试通过后,提交源程序,系统能立即给出接受或者拒绝的判断。
      (2)系统排名
      系统自动对所有学生成绩进行排名,同时学生能即时了解自己在全班级的排名情况。
      (3)交互性好
      教师能即时看到学生提交的程序代码,如发现被拒绝的程序,能即时地指导学生修改程序。
      教学实践表明,采用ACM教学平台明显改善了教学效果,大大激活了学生的上机主动性和积极性。许多学生课后也会自觉地研究题目的解决方法,这种情况在以往的程序设计课程教学中是不多见的。由于针对竞赛设计的题目难度较大,并不适用于初学者,我们花费了大量的时间来设计难度适中的例题,帮助学生掌握所学知识。
      3.考核方式的改革
      以往程序设计课程考试方式都是采用试卷方式,这种考试方式最大的问题是容易造成高分低能:试卷分数考得很高,动手能力却很差,程序读得懂,编程实践却无从下手。我们认为这种情形都是因为实践训练不够造成的。因此,我们认为不能用判断题、选择题、阅读题以及手写程序题来考查学生的程序设计能力,光看懂程序是远远不够的,实践动手能力是最重要的。
      于是,我们放弃了传统试卷考试的方式,完全改成了利用ACM平台上机测试的方式,期末考试6~10道编程题限时3小时内解决。这些题目都是精心设计、难易适中,能很好地考查学生分析问题和解决问题的能力。考试结果表明,平时练习成绩和考试成绩呈正相关。此外,由于ACM系统详细记录了作业情况,因而平时成绩也更容易准确地确定。由于相对普通班而言,提高班学生的课程难度较大,为了更好地激励学生选课,我们对学生成绩进行调整,最终成绩按总评成绩乘以系数1.1确定。
      ● 教学改革效果
      经过为期一年的教学改革实践,已初显成效。
      首先,学生学习程序设计的热情明显提高,学习主动性和积极性大大增加;其次,学生编程过程中的低级错误不断减少,编程数量和质量也比以往有明显的增加;另外,由于起点较高,学生学会程序设计课程后参加计算机等级考试合格率也有了明显提高,部分优秀的学生还被选拔为校ACM竞赛集训队员,参加ACM程序设计竞赛并取得了比计算机系学生更加优异的成绩。因此,我们的教学改革无论对普通学生还是尖子学生都起到了较好的作用。
      此外,在本次教学改革过程中,教师们花费了大量的时间设计了许多适合程序设计课程教学的例题,大大扩充了ACM网站题库。现该网站拥有注册用户8000余人,每年新增注册用户1000人左右。可以说,现在全校计算机程序设计课程教学已经完全离不开ACM网站。我们所做的这些工作为以后的教学工作提供了很大的方便,也奠定了良好的基础。
      ● 结语
      针对大学计算机程序设计课程教学中存在的问题,我们提出了大学计算机程序设计课程分层教学改革方案。我们的方案以强化实战训练为手段、以培养分析问题与解决问题的能力为目标,从教学内容、教学手段和方法、考核方式等方面进行了改革。教学实践证明,我们的改革无论在学生培养上还是教学平台的建设上都取得了很好的效果。

    • 文学百科
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章