APP下载

高级语言探究式教学

2015-06-07黄龙军范立新唐开山

关键词:程序设计探究语言

黄龙军 范立新 唐开山

(绍兴文理学院 计算机系,浙江 绍兴312000)

高级语言探究式教学

黄龙军 范立新 唐开山

(绍兴文理学院 计算机系,浙江 绍兴312000)

以Online Judge(OJ)为教学与实践的主要平台,在高级语言的教学过程中引入并运用探究式教学模式,以OJ上的问题为核心与载体,在课堂内、外的自主探究与合作探究中凸现学生在学习过程中的主体性、实践性,达到让学生自主获取知识、提升能力的目的.

高级语言;Online Judge;探究式教学

1 高级语言教学概况

高级语言(C/C++等程序设计语言)的传统教学以教师为主体,学生被动接受知识,教学强调的是理论知识的讲授,不够注重学生实践能力的提高.高级语言是实践性极强的课程,近年来许多高校及教师[1-5]都将ACM竞赛引入程序设计类课程的实践教学环节并取得了较好的成效.但是,在一般的高级语言课堂教学过程中,依然以教师为主体,学生的主体性不够突出.探究式教学是以探究为主[6]的教学,注重探讨与研究,探究式教学模式作为一种研究型教学与学习方法受到广泛的关注[7-10].探究式教学模式由四个基本环节[7]组成:(1)创设情境,激发动机;(2)教师引导,学生探究;(3)讨论与交流;(4)小结与评价.探究式教学强调学生的主体地位和自主能力,问题贯穿于教学全过程[10],学生通过主动探究学习来获取知识.我们以自主开发的程序设计竞赛及其练习平台Online Judge(在线判题系统[5],简称OJ)上的问题作为载体,把探究式教学引入并运用到高级语言教学中,教学过程围绕OJ上的问题展开,既注重实践教学过程中的自主探究,又注重课堂教学中的合作探究,体现学生在学习过程中的主体性和实践性[8].

2 高级语言探究式教学

全天候开放的教学环境(以OJ为主要平台,包括教学论坛和教学网站等)是进行高级语言探究式教学的前提.教师的引导包括:(1)精心挑选OJ上的问题作为探究学习的主题、实践题、作业题和练习题; (2)精心设计课堂上的提问、提示和总结;(3)课堂外在教学论坛、QQ上适时引导学生.学生的探究围绕教师精选的OJ问题进行,针对探究主题、练习题、实践题和作业题,以个人方式自主探究或以学习团队(参照ACM程序设计竞赛[3]常规设置,每队3人)的方式合作探究.学生通过课堂内外的自主探究和生生之间、师生之间的合作探究,自主获取知识、提升能力.

2.1 OJ作为探究式教学的主要平台

OJ一般是指在各类大学生程序设计竞赛中用来评测参赛选手的程序正确性及其时空效率的程序和评测程序所依托的网络环境[5].OJ既可以作为竞赛平台又可以作为实践平台,不同用户可以同时在线提交采用C、C++等程序设计语言编写的源代码,OJ能对所提交源代码进行编译和执行,通过出题者预先设计的测试数据来检验源代码的正确性[5].对于正确的程序,用户能立即看到成功的状态(Accepted);对于不正确的程序,用户能根据所得到的错误状态提示(如Wrong Answer),进行程序的修改、调试或重新提交.图1所示是某个学生在课外时间探究并求解某个问题从错误(状态为Wrong Answer)到最终成功AC (状态为Accepted)的过程.综上所述,OJ具有开放性、共享性、实时性等特性.

图1 问题探究过程

OJ作为探究式教学中的核心—问题的载体,既是学生的学习平台、师生的研讨平台,又是学习情况、教学情况的反馈平台.作为学校OJ管理用户中的“管理员”角色或者“教师”角色,高级语言课程的主讲教师能够方便地在OJ添加、完善高级语言及其后续课程(如数据结构、算法分析与设计)的问题.对于高级语言课程,教师可以精心挑选OJ上的问题并不断充实、完善OJ的问题,使之更适于探究式教学.OJ上既有针对知识点的入门问题(例如,表1中的“解题排行”来源于学生熟悉的每周进步排行榜),又有学生通过个人自主探究就能解决的问题,还有需要学生进行合作探索和拓展探究的综合性问题(例如,表1中的“学车费用”等竞赛题).“学车费用”问题要求统计学习开车所缴纳的费用并排序,这种问题来自实际应用,能激发学生的探索精神和创新精神,适宜于自主探究和合作探究.在OJ上,每个学生作为一个用户,都拥有自己的独立帐号,能针对OJ上的不同问题进行探究,而教师随时可以查看学生练习及实践的情况,极大程度地减少了作业批改的负担,提高了工作效率和准确性.

2.2 探究式教学改革着重点

问题是探究式教学的载体与核心[8].教师根据知识分块精选OJ上的问题,引导学生探究并开展探究式教学.学生的自主探究、合作探究及拓展探究一般都是结合教师精选的问题进行的.以知识块“结构体数组”为例,教师精选的问题如表1所示,其中教师用于引导学生探究的问题有2个,学生自主探究的问题有3个,学习团队进行合作探究的问题有4个,学生拓展探究的问题有3个.学生自主探究以个人为主,合作探究则是一种团队学习的过程,拓展探究可以采用个人、团队或二者结合的方式.在探究式教学改革过程中,基于以OJ为主体的开放教学环境,教学与探究两者并重,在教师精选问题和学生自主学习的基础上,在“教师引导→自主探究→合作探究→归纳总结→拓展探究→教师引导→……”的反复循环过程中,最终达到探究证义的目的.

表1 教师精选的问题(结构体数组)

高级语言探究式教学改革的着重点如下:

(1)构建开放式网络环境,以OJ上的问题为载体,注重引导学生自主探究

OJ24小时开放,既是实践平台,又是教学和期中、期末的考试平台.我们构建以OJ为主体,包含教学论坛(提供交流讨论、合作探究的平台)、市级精品课程网站(提供教学资源、教学视频等)的开放式网络教学环境.OJ上有教师精心准备的针对各种知识点且难度不一的问题(基础性的、综合性的、具有实际意义的、程序设计竞赛相关的等).通过把OJ上的问题作为探究性学习内容、课堂专题讨论的问题、实践练习及课后作业,引导学生自主探究,巩固所学知识,发现新问题、新知识.学生随时可以针对OJ上的问题进行探究并测试程序,实践课主要也是求解OJ上的问题.以OJ为平台,在开放的教学环境下,学生主动探究,注重学生实践能力的提高,突出学生的主体地位,能激发学生学习的主动性、积极性、创新性与竞争性.

(2)组建学习团队,注重学生与学生之间、师生之间的合作探究

学期初,参照ACM程序设计竞赛常规设置,每三个学生组建成一个学习团队(个别学习团队可以只有两人)并选好队长.实施改革的计算机143班36位学生组成12个学习团队,每个团队随机抽选一个教师事先准备的讨论专题,在课前合作探究,课堂上讲解、交流,表2是12个讨论专题及其责任团队编号.

表2 讨论专题

对于高级语言的初学者,学习团队成员之间、团队之间的交流讨论和合作探究有利于该课程的学习.因为要以学习团队主讲的形式在课堂上进行专题讨论,解答其他团队及教师的提问,与教师和同学交流,团队成员之间必须精诚合作,这有利于培养学生的团队合作精神.而且,为了准备好专题讨论的内容,要求团队成员之间、师生之间形成良好的合作关系,进行充分讨论与交流.对于每次专题讨论,其他团队及教师需要根据主讲团队的表现打分,教师需要做出评价并小结.因为课时所限,仍然需要进行比较常规的课堂教学.在常规的课堂教学过程中,教师以OJ上的问题进行任务驱动,激发学生兴趣;在教师精讲知识的基础上,师生合作探究求解OJ上的问题.此外,整个课程的学习过程中,可以组织若干次程序设计竞赛激发学生的创新精神与团队合作精神.

2.3 探究式教学改革的评价与管理

在高级语言的教学中运用探究式教学,特别是组成学习团队结合探究主题进行合作探究,是一种新的教学尝试,必须逐步建立起完善的评价与管理机制,才能保证教学质量.

在评价方面,在采用局域网内OJ系统进行期中、期末考试的基础上,注重过程考核[5],过程考核主要体现在平时考核中.课程的总评成绩 =平时考核×45%+期末考试×45%+期中考试 ×10%.每周推出一期学生在线解题的进步排行榜,针对进步的排名情况给予每期最高3分的平时加分.计算机143班前13期进步排行榜加分情况如表3所示(篇幅所限,11名之后的数据省略).对于并非以主题讨论为主的课堂中的师生合作探究情况,教师根据学生的具体表现,给予每堂课最高3分的平时加分.对于每个团队学习情况的考核,主要按学习团队主题讨论中其他团队评分占70%和教师评分(综合考虑所讨论主题的准备情况)占30%的比例进行计算.

表3 进步排行榜加分情况(前13期,加分前10名)

为了保证教学质量,对于学生的实践情况、作业情况需要进行较好的管理.我们精选OJ上问题作为实践题、作业题,学期初公布并规定基本完成度,如表4,其中的达标率等于达到基本完成度的人数与总人数的百分比.课堂上随机抽查,对表现明显与完成情况相悖的学生进行较大力度的罚分(扣平时分).针对OJ开发了查询系统,随时检查、统计学生在某个时段内的解题情况.

表4 每章作业要求的基本完成度及达标率

3 结束语

在高级语言探究式教学过程中,构建以OJ为主要平台的开放教学环境,以OJ上问题为载体和核心,突出学生的主体地位,激发了学生的学习兴趣,提高了学生对实际问题的分析、解决能力,提高学生在学习过程中的主体性、积极性、实践性和创造性,培养了学生的团队合作精神,有利于应用型人才培养.必须注意到,高级语言探究式教学更适用于且一般用于小班教学,而按学习团队安排专题讨论时需要考虑实际课时等约束条件.另外,文中涉及的具体分值、百分比是我们教改过程中所采用的,可以根据实际情况进行必要调整.

[1]王宏,吴文虎.清华实践教学“赛课结合”新思路[J].计算机教育,2006(7):10-12.

[2]于世华.基于ACM竞赛模式的程序设计教学改革研究[J].呼伦贝尔学院学报,2011,19(4):113-116.

[3]刘晶,吕艳琳,李尤丰.基于ACM竞赛平台的程序设计课程教学模式改革的探索[J].江苏教育学院学报(自然科学版),2010,26(6):73-75..

[4]王娟.基于Online Judge的高级语言程序设计课程教学改革[J].吉林省教育学院学报(上旬),2012,28 (10):85-87.

[5]黄龙军,范立新.合作式教学在高级语言教学中的运用[J].绍兴文理学院学报(教育教学研究),2013, 33(11):17-19.

[6]张崇善.探究式:课堂教学改革之理想选择[J].教育理论与实践,2001,21(11):39-42.

[7]李湘祁.高校教学中探究式教学模式探析[J].湖北经济学院学报(人文社会科学版),2011,8(6):179 -180.

[8]范立新,黄龙军.利用OJ平台进行探究式教学模式的探索[J].教育教学论坛,2014(15):216-217.

[9]胡文龙.基于CDIO的工科探究式教学改革研究[J].高等工程教育研究,2014,(01):163-168.

[10]李泽军.地方高校实施探究式教学模式的研究[J].科教文汇(下旬刊),2014(4):28-41.

(责任编辑 王海雷)

G642;TP311

A

1008-293X(2015)08-0094-04

10.16169/j.issn.1008-293x.k.2015.08.20

2014-12-20

绍兴市高等教育教学改革项目;2013年浙江省高等教育教改项目(编号:jg2013164);绍兴市市级精品课程.

黄龙军(1976-),男,福建连城人,讲师,博士,主要研究方向:无线纳米传感器网络、无线传感器网络、博弈论.

猜你喜欢

程序设计探究语言
一道探究题的解法及应用
一道IMO预选题的探究
基于Visual Studio Code的C语言程序设计实践教学探索
语言是刀
从细节入手,谈PLC程序设计技巧
探究式学习在国外
让语言描写摇曳多姿
一道IMO预选题的探究及思考
高职高专院校C语言程序设计教学改革探索
累积动态分析下的同声传译语言压缩