基于机器人足球仿真的程序设计语言教学改革研究
2015-12-15储岳中,刘宏申,王小林等
基于机器人足球仿真的程序设计语言教学改革研究
储岳中,刘宏申,王小林,程泽凯
(安徽工业大学 计算机科学与技术学院,安徽 马鞍山 243002)
摘要:基于机器人足球仿真平台,建立新型教学模式,提高教学“速率”,更新教学手段,改革考核方式,突出课程设计环节,整合教学资源,对提高程序设计语言课程教学质量,培养学生程序设计能力具有良好的效果。
关键词:程序设计语言;机器人足球仿真;教学改革
中图分类号:G642.0
文献标识码:A
文章编号:1671-9247(2015)03-0095-02
Abstract:Based on robot soccer simulation platform, the practice of establishing a new teaching mode, accelerating teaching “speed”, updating teaching methods, reforming on evaluation mode, highlighting course design, integrating teaching resources would improve teaching quality of programming language course, and cultivate well the programming ability of students.
收稿日期:2014-06-06
基金项目:安徽工业大学教学研究项目(2012jg27)
作者简介:储岳中(1971-),男,安徽岳西人,安徽工业大学计算机科学与技术学院副教授。
A Study on Program Designing Language Teaching Reform Based on Robot Soccer Simulation
CHU Yue-zhong, LIU Hong-shen, WANG Xiao-lin, CHENG Ze-kai
(School of Computer Engineering, Anhui University of Technology, Ma’anshan 243002, Anhui, China)
Key words:programming language; RoboCup Soccer Simulation; teaching reform
程序设计语言是计算机科学与技术、软件工程、网络工程及物联网工程等相关专业的重要基础课程。这类课程的目的是使学生系统掌握高级语言的基本知识和结构化程序设计的思想,培养学生程序设计的基本方法与编程技巧,并形成良好的程序设计风格和习惯,使学生具备一定的应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机奠定良好的基础。为提高教学质量,我们对本类课程教学模式进行了改革,并取得了一定成果。
一、学情分析
我校程序设计语言开课时间为大学第一学年,C语言程序设计课程安排在第一学期的后10周和第二学期,共96学时。本课程是学生入学面对的第一门程序设计类课程,入门困难,课程教学若没能很好导入,很容易让部分学生失去兴趣或丧失信心,并随着教学的深入,知识点难度的加大,使得更多同学对程序设计的学习产生动摇。因此,如何培养并保持学生对程序设计的兴趣,如何有效化解程序设计中那些抽象、高难度的知识点,如何培养学生解决实际问题的动手能力等,这是一线教师经常思考的问题。
近年来,学校不断推进程序设计语言课程的教学改革,将上课地点由教室改为机房,改变了过去学生上课只听课不动手“填鸭式教学”的方式,使学生更近、更快地接触计算机,大大提高了程序设计语言课程教学效果,培养了学生的动手实践能力,激发了学生的专业学习兴趣。因此,相对早期的传统教学方法,本课程的教学效果有了很大的改观,但是在面对一些实际问题时,学生的动手能力仍然显得有些不够。为此,我们在已有改革的基础上进一步引入新的内容,以求更有效地提高学生解决实际问题的能力。
多年来,学校一直重视计算机相关专业基础课的教学工作,并致力于各种教学改革,推出了举措,如本科生导师制、本科生进入老师课题组及专业培训机构进校园并负责就业等。近几年学生的毕业论文、学生就业及考研情况均从不同方面反映我校对计算机相关专业改革带来的可喜变化。另外,对足球的喜爱是当前大学生的一大特点,但他们很大程度上是从体育或业余爱好方面考虑,若将这种爱好转化成学习的动力,机器人足球是再合适不过的形式。因此,本次课程教学改革尝试在教学实施中引入机器人足球仿真,以期进一步挖掘学生的学习潜能,激发学生的学习热情,从而达到提高动手能力与解决实际问题的能力。
二、RoboCup机器人足球仿真简介
RoboCup(Robot World Cup)[2]即机器人世界杯足球锦标赛,是各类国际机器人竞赛中水平最高、影响力最大的赛事之一。RoboCup以多智能体系统和分布式人工智能为主要研究背景,通过提供一个标准的易于评价的比赛平台,促进相关核心技术的研究与发展。仿真比赛有RoboCup2D、RoboCup3D和救援仿真三个组别,其中RoboCup2D是近几年最为流行的比赛,比赛是在一个标准的计算机环境内进行的,比赛规则基本上与国际足球联合会的比赛规则一致。它采用Server/Client(服务器/客户端)方式,由RoboCup联合会提供标准的Soccer server 系统,参赛队编写各自的Client程序,模拟实际足球队员进行比赛。每一个Client相当于一个球员的大脑,控制场上球员的移动。比赛开始后,双方可以各派11个球员与1名在线教练上场。
Soccer server 通过提供一个虚拟场地,对比赛全部球员和足球的移动进行仿真。当球员和server连接上后,所有的信息都通过UDP/IP端口传递。球员发送他们下一步要做的动作请求给server(如踢球kick,转身turn,突进dash等)。Server接收到这些消息后,执行请求,并相应地更新环境。另外,server向所有的球员提供感知sensory信息(如:关于足球,球门和其他球员的位置可视信息)。球员用于更新自身世界模型。
仿真开发环境一般需要三台计算机组成的局域网,其中一台运行Soccer server ,另外两台分别运行两个参赛队伍,三台机连到同一个Hub。为了调试方便,也可以运行在同一台机上。Soccer server 通过UDP/IP协议和Client进行通信,对球队的开发编译没有任何限制。由于Soccer server 运行在Linux/Unix系统下,而Linux遵循GPL协议与RoboCup开放源码,共享资源的思路有极大的相通之处,因此一般都是选择Linux系统作为开发平台。因此球队的开发工作主要集中在球员的控制策略上,即客户端程序。
我校YuShan2D仿真机器人足球队成立于2009年,近几年在国内比赛多次获得一等奖, 2011年兰州中国公开赛进入一等行列, 2012年在第16届RoboCup世界杯取得历史性突破,获仿真2D组第七名好成绩,2013年和2014年先后获RoboCup伊朗公开赛季军和亚军,今年7月将赴巴西参加2014 RoboCup世界杯决赛。 这些成绩的取得并非偶然,而是我们各种教学改革的成果之一。
三、教学改革实践
近几年,为充分利用学校良好的机器人足球仿真氛围,整合教学资源,有效培养学生学习兴趣,提高学生动手能力,在实施教学过程中我们大胆进行改革。
(一)建立新型教学模式
改革传统的平面的知识传授模式,建立一个新型的立体的综合模式。新型教学模式分为三个基本层次[3]:基础层——知识优化层;中介层——思维训练层;提高层——能力培养层。为提高教学与学习效率,节约教学时间,针对程序设计课程的自身特点,采取案例驱动与RoboCup机器人足球仿真培训相结合的方式。案例驱动在精选案例的基础上,以“教”为主,辅之以专题实验。仿真培训以“练”为主,择优参加各级比赛,在知识优化的同时,训练思维,培养能力。
(二)提高教学“速率”
主要体现在两个方面。首先,加快语言规范的教学进度,突出重难点,让学生尽早进入程序设计及解决问题的能力训练;其次,增设专题讲座,将以往面面俱到、平均用力,转化为关键处点拨、梳理,实行网状教学体系,避免简单知识的不必要重复,增加知识信息的有效性。如果再辅之以充分的实验指导,能有效地提高教学“速率”。
(三)更新教学手段
目前,多媒体教学在高校已普及,但若使用不当,很容易将多媒体设备当成一块电子黑板,不能有效发挥多媒体教学的作用。为了最大化多媒体教学的效果,我们将程序设计语言课程的教学地点从多媒体教室转移到多媒体机房,学生一人一机,上课期间,学生能够即学即练,个别学生提出的问题可以随时向全体同学反馈,同时通过课程网站共享教学资料及课堂学习管理,这种教学手段在克服普通教学方式不足的同时,有效提高程序设计课程的教学效果。
(四)培养学生能力素质
程序设计语言的教学很容易陷入注重语言规范的误区,导致很多同学精于考试而疏于设计。实际上,相关语言规范可以归纳教学,我们的作法是在驱动案例中总结语法,让学生在程序设计过程中逐渐掌握语法,将基础知识交给学生自学,教学的重点是培养学生结构化和面向对象的设计能力,同时培养学生学习的成就感及研究能力。
(五)改革考核方式
传统教学模式中课程考核主要是通过考试,对于程序设计课程的考核仅通过考试这一个环节,显然不合理。基于此前的各种改革,我们对本课程的考核主要分以下几个部分:平时环节、实验环节、团队表现和考试,而期末考试也在逐步实现无纸化考试。同时,本课程的考核结果将作为RoboCup机器人足球仿真比赛选手选拔的重要依据。
(六)突出课程设计环节
相关专业教学计划中,程序设计语言课程均配有两个学分的课程设计环节,安排在课程结束后一学期进行,因此学生有充分时间完成课程设计。这期间,可以安排学生以团队为单位,设计简单RoboCup2D仿真程序,由指导教师提供平台,团队间相互进行比赛。这种形式,一方面会极大提高学生学习兴趣,另一方面也会培养他们的团队协作能力。
(七)整合教学资源
教学计划制定和教学大纲修订要突出RoboCup机器人足球仿真特色。仿真案例的选择将是本课程教学实施的关键,由于教学内容有个循序渐进的过程,教学案例的选择要满足阶段性的教学要求,而不能盲目引入,以免导致学生出现畏难局面,影响学生兴趣。
经过近几年的改革实践,学生的动手能力与解决问题能力得到明显提高,主要体现:一是学生在毕业设计环节的应对能力较以前有很大提高;二是多个团队在ACM/ICPC国际大学生程序竞赛、仿真机器人足球赛及全国软件设计与创业大赛等竞赛中获得好成绩;三是毕业生在用人单位获得好评。然而程序设计课程改革任重道远,计算机领域技术日新月异,我们必须充分发挥教师的主导作用,精选案例,因材施教,坚持理论与实践相结合,强化实践,逐步探索和完善适合校情和学情的教学模式。
参考文献:
[1]储岳中,秦锋,刘宏申.“C语言程序设计”理论与实践一体化教学的几点实践[J].计算机教育,2012(12):22-25.
[2]郭叶军,熊蓉,吴铁军.RoboCup机器人足球仿真比赛开发设计[J].计算机工程与应用,2003,39(29):146-147.
[3]王欢. 基于建构主义的新型教学模式和教学改革的结合[J].鞍山师范学院学报,2005, 7 (1):82-85.
(责任编辑雷金火)