课程教学方法【计算机专业大学生程序设计课程教学方法的探讨】

计算机专业大学生程序设计课程教学方法的探讨

计算机专业大学生程序设计课程教学方法的探讨 武汉大学遥感信息工程学院是集遥感、测绘、信息技术于一体的信息和工 程类学院,学院培养的人才在中国乃至世界上一直具有重要的影响力。在本科生 培养方面,除了系统培养学生的空间科学、地球科学等专业知识外,还系统培养学 生的信息科学知识,包括计算机网络技术、程序设计技术、数据库技术、模式识 别与人工智能技术等。由于专业课程较多,相对于计算机专业的学生来说,本院学 生在信息学科的课程数与课时数安排上还是较少,比如计算机原理、操作系统原 理等课程都没有教学安排。本人承担学院程序设计技术的本科教学工作,在学生 计算机基础相对薄弱、程序设计课时安排有限的情况下,使用一套教师理论讲解 与学生实践操作紧密结合的三阶段教学方法,使学生迅速跨过了程序设计的门槛, 让学生能够通过后续持续的自我编程练习来提高编程素质,取得了很好的教学效 果。

一、程序设计课程的三阶段教学方法 程序设计是一门实践性较强的课程,理想的教学结果应该是学生通过程序 设计课程的学习掌握编程语言、养成良好的编程习惯并能够完成简单的软件开发 任务。根据程序设计课程的特点,学院将教学场地安排在具备100台左右计算机的 机房。结合本院学生的学科背景、计算机知识储备等情况,本人将整个课程的教 学过程划分成3个阶段,不同阶段采用不同的具体教学方法,各阶段具体教学方法 如下表所示。

第一阶段,即学生刚开始学习程序设计的阶段。首先教师进行教材相应章 节的知识讲解,使学生了解相应的基础理论。然后教师将示例代码输入到程序编 译器,该过程中辅助适当的代码介绍并编译运行。最后要求学生将代码在各自机 位的计算机上进行输入与编译运行。对于初学者来说,最后过程中往往会产生大 量的低级错误,包括编译器操作错误、输入法引起的符号错误等,这时学生通过举 手示意,教师即到相应机位查看并解决各种问题,同时向学生解释错误产生的原因。

第一阶段的教学进度会比较慢,主要是由于学生刚开始接触程序设计课程, 对编程环境以及程序设计理论比较陌生,因此会犯许多低级错误。教师在解决这 类错误时,一方面需要自身具备较强的程序设计功底与丰富的程序设计经验,因为 许多低级错误较难通过常规的编译器错误提示来定位与排除。另一方面教师也需 要具备充分的耐心以及适当的技巧,如果出现的错误匪夷所思,则可通过学生的重 复演示来定位程序错误的原因。随着学生练习次数的增加,程序出错的概率会逐渐降低,这时就可进入第二阶段。

第二阶段,即学生对编程较为熟悉的阶段。首先教师同样进行教材相应章 节的知识讲解,使学生掌握相应的基础理论。然后要求学生将示例代码输入到编 译器并编译执行。如果例子较为复杂的话,该过程中部分学生也会出现一些编译 错误或逻辑错误,导致代码无法运行或运行得到错误结果,同样学生通过举手示意, 教师到相应机位查看、解决并解释问题。最后教师公布标准代码并适当解释代码 含义,编译执行并展示代码执行结果。在该过程中教师需要要求学生参考标准代 码,养成良好的编程习惯。第二阶段的教学进度就比较快了,该阶段可一直持续到 将教材内容全部讲授完毕。

第三阶段,即学生进行软件设计的实践练习阶段。首先教师布置一个软件 设计任务,比如要求学生编写一个类似于微软“画图板”的软件,明确要求软件需要 具备的基本功能,并要求代码具备规范性、软件具备美观实用性等。然后学生利 用三周左右的时间去独立完成软件设计任务,该过程中学生可以相互交流或上网 查阅相应资料,但不允许代码拷贝与抄袭。最后每位学生利用10分钟左右的时间 公开演示所设计的软件,介绍基本功能与创意性、并展示关键代码等。在学生演 示过程中,教师适当提问或点评,并根据学生的演示情况进行打分作为期末成绩的 一部分。第三阶段可极大提高学生的实践动手能力,由于采用公开演示的方式,也 基本杜绝了抄袭现象。

三阶段教学方法,各阶段在整个教学过程中所占的时间比例如图1所示。三 阶段的教学过程结束后,几乎所有学生均能掌握程序设计的基本理论,具备程序设 计的实践动手能力,能够获得较为理想的教学效果。

二、教学成果展示 以我院学生2011~2012学年 从图2中可看出,2011~2012学年,62名学生参加考试,取得及格成绩的学生 人数为49名,不及格学生人数为13名,大部分及格同学的成绩位于80分左右。从该 结果可看出,程序设计课程如果仅仅使用课堂授课的方式,较难取得理想的教学效 果。从图3中可看出,2012~2013学年,72名学生参加考试,取得及格成绩的学生人数 为70名,不及格学生人数为2名,大部分及格同学的成绩位于90分以上。从该结果可 看出,程序设计课程改为在计算机房授课,并采用三阶段教学方法后,取得了理想 的教学效果。通过将学生的成绩按照≤69分、70~79分、80~89分、≥90分划分为4个成绩 区间,分别统计2011~2012学年、2012~2013学年4个成绩区间学生人数占总人数的 百分比,可绘制得到如图4所示的结果。

从图4中可以看出,2011~2012学年学生期末成绩主要分布在89分以下,而 2012~2013学年学生期末成绩主要分布在90分以上,由此可见三阶段教学方法相 对于传统的教学方法来说,能够显着改善非计算机专业的大学生程序设计课程的 教学效果。

三、结论 程序设计是一门实践性较强的课程,对于高校非计算机专业的大学生来说, 在学生计算机基础知识相对薄弱及课时安排有限的情况下,采用一种教师理论讲 解与学生实践操作紧密结合的三阶段教学方法,能够使学生迅速跨过程序设计的 门槛,并继续通过不断的自我练习,巩固提高程序设计水平,实践也表明该方法能 够取得理想的教学效果。