黄龙军 范立新
(绍兴文理学院 计算机系,浙江 绍兴312000)
高级语言课程是高校计算机科学与技术专业及其他相关专业的专业基础课,其重要性不言而喻。在高级语言传统的教学过程中,以教师为主体,注重语法知识的讲授,学生主要是在被动接受知识,教学效果不够理想。
高级语言是实践性极强的课程,必须在教师的引导下,以学生为主体进行教与学,才能更好地改善教学效果。近年来,我们在教学过程中,以在线判题系统 (Online Judge)为平台进行高级语言的教学,突出学生的主体作用,较之以前传统的教学方法,教学效果明显改善。
本学期,我们在前期教学模式改革的基础上,进一步深化教学模式的改革,引入合作式教学与研究性学习相结合的教学模式,突出学生为主体针对实际问题的分析,提高解决问题的能力,凸现学生在学习过程中的主体性、实践性、创造性,进一步提高教学效果。
Online Judge(简称OJ)一般指在ACM/ICPC(国际大学生程序设计竞赛)等各种形式的编程比赛中用来评测参赛选手的程序的正确性与时空效率的程序以及评测程序所依托的网络环境[1]。用户可以在线提交多种程序设计语言 (如C、C++)的源代码,OJ系统对源代码进行编译和执行,并通过预先设计的测试数据来检验源代码的正确性[1]。国内外众多高校都拥有成熟的OJ系统,绍兴文理学院也如此。
学生在Online Judge平台上编写大量的程序,通过调试、应用,可以提高自身利用计算机分析问题和解决问题的能力,养成“自学、动手、应用”的学习习惯[2]。
在教学模式方面,清华大学吴文虎教授提出了问题驱动的程序设计类课程教学模式。我们在以OJ系统为平台进行课堂教学的过程中,以问题驱动结合案例教学的方式来组织教学内容,以OJ系统中的题目进行问题驱动和案例教学,精讲知识,重在对实际问题的分析、解决,通过实践的方式促进理论知识的学习,提高学生实际解决问题的能力。以OJ系统为平台进行教学,将理论知识的学习与实践能力的提高很好地结合在一起,注重学生实际动手能力的积累,激发了学生学习的主动性、创新性与竞争性[2]。
在课后作业方面,布置OJ系统上相应题目作为作业,学生在完成作业的过程中,能在提交程序之后立即看到提交的状态,根据状态能及时调整、修改程序,在正确之后能感到成功的喜悦,促进自主学习的兴趣、热情和积极性。通过OJ系统,学生可以方便地查看同层次或同班同学的在线排名,找出通过自己努力可以解决的问题,学生之间可以相互促进、相互激励。教师每周统计学生OJ系统上的解题进步情况,推出在OJ系统上解题的每周进步排行榜,刺激学生的荣誉感、成就感等,激励学生的学习积极性和向上进取的品质,进一步激发学生的学习兴趣和热情。
在考核方面,通过OJ系统进行期中、期末考试,考试环境与学生平时练习、作业的OJ系统一致,题量一般为7题。总成绩综合考虑学生平时在OJ的解题数量、进步排行榜上榜等情况。
在近几年的教学实践中,证明了以OJ系统为平台进行高级语言教学,能有效促进教学质量、提升教学效果。
合作式教学法以学生为中心,采用以学生间的交流和合作为基础的教学模式,注重培养学生实际交际能力的培养[3]。合作式教学强调课堂教学过程中教师与学生、学生与学生的相互影响和交往。通过文献研究,我们发现合作式教学法在外语教学、中学教学方面应用比较广泛,但在高校计算机高级语言方面极少使用。
研究性学习活动基于学生的直接经验,它以获取关于探究学习的直接经验,发展创新精神和解决问题的能力为直接目的。研究性学习最根本的特点是让学生自己动手实践,在实践中体验、学会学习和获得信息时代所需要的能力[4]。
网络研究性学习是指在网络环境下开展的研究性学习,是研究性学习和数字化学习的有机融合,具有自主性、开放性、协作性、实践性、过程性等特点。研究性学习以学生的自主性、探索性学习为基础,学生选择和确定研究专题,自主学习,以小组合作的方式进行研究;通过亲身实践获取直接经验,提高综合运用所学知识解决实际问题的能力,易于培养学生的创新素质[5]。我们开发的OJ系统为学生提供了网络研究性学习的平台。
合作式教学和研究性学习结合的教学模式中,教师是组织者、指导者和参与者。根据班级人数,我们采用每六个学生组成一个学习小组的方式,布置研究性学习内容、分组专题讨论的任务 (每组至少负责一个专题),进行合作式教学与研究性学习的结合,突出学生的主体作用,促进学生自主学习。
课程教学改革框架图如下图1所示。
在教学中进行合作式教学与研究性学习相结合的教学方法。高级语言理论课时为每周4学时,上课地点安排在多媒体教室或网络机房;实践课时为每周课内3学时,课外3学时,强化实践。
在合作式教学方面,在多媒体教室上课时,每周推出解题进步排行榜激励学生;教师精讲相关知识,通过OJ系统上的具体问题,以问题驱动结合案例教学方式激发学生兴趣并组织课堂教学;在机房上课时,按各学习小组逐阶段进行研究性学习的内容,以专题讨论的形式,以学生为主体,分析、讨论问题的解决方案及相关知识;教师点评,补充讲授必备知识,总结知识。
在研究性学习方面,布置在线判题系统上的问题作为作业及练习,要求学生自主完成,并通过统计程序每周统计、公布完成情况;在教学的各个阶段,给各学习小组布置小组研究性学习任务并要求归纳、总结;引导学生进行自主式、探究式学习,尝试求解有创造性的题目,及时发现实践动手能力强的学生加入校程序设计集训队。
在合作式教学和研究性学习相结合方面,我们开发了OJ系统论坛,增强师生之间、学生与学生之间的课外的讨论、交流;另外,QQ群也是讨论、交流的途径之一。
在考核评价方面,通过OJ系统进行期中、期末考试,进一步加大平时考核的比例,注重学习过程,总成绩综合考虑学生平时在OJ系统上的解题数量、进步排行榜情况、学习小组分组学习及专题讨论等情况,以便更好地反映学生的研究性学习的成果。总评成绩=平时考核*45%+期末考核*45%+期中考试*10%。平时考核方面,也包括其它学习小组的评价分。
通过合作式教学和研究性学习相结合的教学方式,发挥了学习小组的作用,增进了师生交流、生生交流与合作,教学效果更佳,从下面的一周进步排行榜的比较数据中可见一斑。2011级与2012级在一周内,进步排行前十名 (含并列)的比较情况如下表1所示,其中2011级、2012级的统计时间段分别为:2011-11-3 00:00:00~ 2011-11-10 22:30:00、2012-11-3 00:00:00~ 2012-11-10 22:30:00。如下表1所示。
表1 2011级与2012级进步排行比较表
通过本课程教学模式改革,在高级语言的教学过程中,以OJ系统为平台,采用合作式教学与研究性学习相结合的教学模式,突出学生为主体针对实际问题的分析、解决能力,进一步提高学生在学习过程中的主体性、积极性、实践性、创造性等,从而取得更好的教学效果。
[1]黄龙军.游标在Online Judge中的应用[J].绍兴文理学院学报,2012,32(8):26-29.
[2]王娟.基于Online Judge的高级语言程序设计课程教学改革[J].吉林省教育学院学报,2012,28(10):85-87.
[3]崔刚,顾巍.合作式教学在多媒体教学中的运用[J].清华大学教育研究,2003,24(1):104-108.
[4]曾祥翊.研究性学习活动的教学设计模式研究[J].电化教育研究,2011(3):81-88.
[5]李志巧,陆芳.基于创新人才培养的网络研究性学习模式探析[J].高等工程教育研究,2011(2):138-142.