APP下载

程序设计课程群教学模式的探索与实践

2012-08-15赵小芳王金鹏

河北职业教育 2012年2期
关键词:程序设计尝试编程

赵小芳,王金鹏

(山东工商学院,山东 烟台 264005)

一、引 言

山东工商学院的程序设计课程群主要包括《程序设计基础》、《数据结构》、《C++面向对象程序设计》、《JAVA高级编程技术》、《ACM程序设计》、《程序设计实训》等课程。这些课程都是计算机科学与技术专业的专业核心课或专业课,是以培养学生的程序设计能力为核心的。课程群所涉及的教学内容丰富、语法繁多、技术复杂,不反复实践是很难掌握的。另外,对于这些课程所使用的程序开发工具,很多解决编译、连接、运行错误的知识及动手调试程序的能力是书本和课堂上学不到的,必须要投入大量时间去实践摸索,才能熟练运用于软件开发。针对于程序设计课程群自身的特点,本文将从应用型、创新型人才培养的角度出发,探索并实践适合于程序设计课程群的教学模式。

二、传统教学模式存在的不足

以往的程序设计课程群的教学方法大都是理论课和实践课分开进行。理论课上基本是教师讲授理论知识,虽然可以间或讲解一些实例,但学生只能被动地听和看,不能操作机器,不能动手操作,就谈不上实践。“课上听来终觉浅”,不经过实践得来的知识,印象很难深刻,由此造成的结果就是“一听就懂,一过就忘,一做就懵”。而理论课之后的实践教学,由于上述教学方法不尽如人意的效果,使得学生遇到实际问题时感到无从下手。由于每个学生的编程进度并不同步、其知识掌握度存在较大差异,所以教师也根本无法讲解指导。这种理论和实践脱节的教学对于程序设计类课程的教学来说,效果很难令人满意,学生学完课程之后,依然不会编程,遇到程序中的问题也没有能力解决,直接影响到后续课程的学习和学生就业。

三、改革教学模式,加强理论与实践教学环节的结合

为了促进计算机应用型人才的培养,有必要尝试和探索新的程序设计课程群教学模式:将理论教学和学生实践有机结合起来,使教师的授课和学生的实践同步进行。这样可以解决理论和实践脱节的问题,可以将课堂上学到的东西马上用于实践,使印象深刻。同时,由于学生要先认真听讲,然后才能动手做,这样就把被动学习变为了主动学习,可以极大地调动学生学习的兴趣和积极性。

将教师的授课与学生的实践同步进行,并非将传统意义上的在机房授课——教师和学生人手一台电脑,教师一边讲解学生一边练习——完全贯穿于整个程序设计课程群的始终。原因在于,它要求学校必须提供足够多的机房和足够多的设备同时安排多门课程和多个年级的教学使用,这样做的投资比较大;边学边练花费时间比较多,而程序设计课程群所涉及的内容、语法、技术丰富,在有限的学时内,通过边学边练很难讲完全部内容;机房授课也不能充分利用学生的业余时间。为此,我们改革现有的教学平台,尝试使用多种教学方法和手段,充分地将理论授课和实践练习有机结合起来,提高学生的编程能力。

1.教学平台。我们尝试使用目前国内流行的一种Online Judge(在线测试)系统,该系统提供了一个编程平台,内含大量ACM竞赛题目(ACM是由国际计算机界历史悠久、颇具权威性的组织ACM(Association for Computing Machinery,国际计算机协会)主办的,世界上公认的规模最大、水平最高的国际大学生程序设计竞赛),并可任意扩充。Online Judge系统的硬件比较容易实现,只要有计算机且能够联网即可。随着本学院教学环境和教学条件的改善,目前已经具备了尝试这种教学模式的硬件条件。借助于这个平台,学生可以充分利用自己的课余时间和上机实验课时间,随时上网做题,一旦提交答案,马上可以知道对错,这样极大地调动了学生的学习积极性和主动性,大大提高了学生的实际编程能力。

2.多种教学方式配合使用。为了配合在Online Judge平台下进行计算机专业程序设计课程群的教学,我们尝试、归纳、总结若干种教学方法,从单一的满堂灌的教学到讨论课、案例引导、学练同步、程序驱动等多种教学方式相结合,通过连贯性、系统性的教学与实践,增强学生程序设计的学习兴趣,提高学生的程序设计能力以及创新能力。

在面授课中,遵循启发式教学原则。通过各种教学方式和手段激发学生的学习欲望,使其在学习活动中,积极思考,发现问题,提出问题,并逐步解决问题。在课堂上还可以根据内容需要与学生情况采用问答,传统板书配合电子教案,讨论,总结等多种手段进行教学,教学效果事半功倍。

一些重要的程序设计技术知识点,采用学练同步教学方式,即采用多媒体机房上课的方式,使教师的讲课和学生实践同步进行,这样学生可以把学到的内容马上练习。上课过程中配合程序驱动教学法,以开发一个完整的程序案例为核心而进行教学活动。首先教师给出程序案例的框架结构,学生经过思考,选择合适的算法和指令语句,经互相讨论,完善和丰富程序案例,然后上机调试,通过运行来检验结果。这样可以激发学生的创新意识,促进学生质疑,培养学习兴趣,并且通过动手实践,加深理解,牢固记忆。对于接受能力比较强的同学,空闲下来的时间还可以随时上网通过Online Judge系统做题,巩固所学的内容。

实验环节重视程序项目设计,培养应用能力。实践经验的积累是不断从编写程序、调试程序和运行程序结果的过程中总结得出的。实验课,重点让学生在Online Judge系统中做题,做完题一提交答案,马上就可以知道对错,节省了很多让老师批阅的时间。课余时间学生也可以随时通过Online Judge系统做题,激发了学生的学习热情,锻炼了学生的编程能力。

3.考核方式。为了切实考查出学生的实际编程能力,结合我们所使用的Online Judge系统教学平台,尝试使用了如下一些程序设计课程群的考核方式:

(1)以练代考。验证一种能确确实实促进学生实践能力的提高,又能真实反映学生学习水平的考试方式。具体措施是:化大考为小练,边学边考。加大实践环节、平时成绩所占比例,将总成绩分解为平时做题所取得的分数和最后考试的卷面分数。平时每个学生在Online Judge系统上提交作业所取得的分值,不低于60分,期末考试时卷面只占30~40分。这种方式可使学生随时掌握自己所取得的分值进而估算出期末能拿到多少分数,做到心中有数,同时也能在无形中激励先进,鞭策后进,极大程度地避免了一些学生在考试结束才后悔莫及但已无法挽回情况的发生。

(2)分数驱动。研究一种使用Online Judge系统提交作业、验证对错的手段和方案。将每章节的重点内容和知识点都分配到Online Judge中的习题上,每题都有一定的分值,并将这些分值作为期末总成绩的一部分(60分以上),这样可吸引或督促学生积极去编程,既有动力又有压力。可解决学生平时不学习、最后突击或考试抄袭的问题。其关键问题是需要将每个知识点都转化为典型的题目,并对每一题目给出多种测试数据及相应的答案。

四、结束语

山东工商学院在2010级计算机专业学生程序设计课程群的教学中尝试使用了Online Judge系统平台,通过尝试各种教学手段和教学方法,加强理论教学与实践学习的结合,学生的学习积极性和主动性有了很大提高,实际编程能力也有了很大改善,在全省、全国的ACM程序设计大赛和齐鲁软件设计大赛等各类程序设计赛事中都取得了比往届更好的成绩,有力地促进了计算机专业应用型人才的培养。

[1] 彭洁,等.应用型本科计算机专业程序设计课程群的建设与实践[J].福建电脑,2011,(4).

[2] 赵春艳.C语言程序设计教学方法的研究与探讨[J].齐齐哈尔师范高等专科学校学报,2011,(1).

[3] 雷红艳,等.加强程序设计课程群建设,培养计算机应用型人才[J].电脑知识与技术,2010,(6).

猜你喜欢

程序设计尝试编程
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
基于Visual Studio Code的C语言程序设计实践教学探索
纺织机上诞生的编程
再试试看
一次惊险的尝试
从细节入手,谈PLC程序设计技巧
尝试
一次让我受益的尝试