针对应用型人才培养的程序设计课程教学方法探索

2019-08-07 06:40:14吕圣军赵建锋
计算机教育 2019年7期
关键词:程序设计教学模式课程

吕圣军,赵建锋,桂 婷

(浙江工业大学之江学院 信息工程学院,浙江 绍兴 312030)

0 引 言

2016年,教育部高等学校大学计算机课程教学指导委员会发布了《大学计算机基础课程教学基本要求》(简称《要求》)。《要求》指出:“计算机程序设计基础”是大学计算机教学系列中的核心课程,通过该课程使学生初步掌握程序设计的基本方法、编程技能与上机调试能力,并尝试通过编程解决一些示例性的应用问题(如数值计算、信息管理等)[1]。传统的程序设计课程基本上采用教室理论授课、机房上机实验的方式进行,人数多、课时少是制约教学效果严重的问题。由于学生的学习习惯、理解能力以及实践时间不足等,都会使学生丧失学习兴趣,达不到《要求》的教学效果。

所谓“多层教学模式”,是指利用多种现代教学手段, 通过课前预习、课中演习、课后巩固的方式提高教学质量和效率。这种教学模式可以打破学习的时空限制,提高程序设计训练量和力度。利用该模式有以下优势。

1)贴近实战的应用型案例有利于提高学生学习兴趣。

应用型人才的培养需要对理论型案例进行改造,使其更加实用。因为有用,学生才会有更高的学习兴趣,学习才能取得更高的效率。

2)精美的教学视频能让学生反复学习基础知识。

传统课堂教学的时效性很强,教师的教学不能反复观看。因此,提前录制教学视频让学生反复或者有选择性地观看是提高效率的好方法。

3)高效的评测软件能极大减轻教师的工作强度,满足基础课教学需求。

批改作业、试卷,一直以来占用了教师的大量时间和精力,不适合通识课程、班级多的课程。评测软件的应用极大提高了效率和准确度,教师可以空出时间去研究课程内容和教学方法。

4)学习资料共享,建设良好的学习型生态环境。

通过教学群共享空间,存储各种学习资料,方便学生的学习,这是互联网在教学中的优势。课后习题在公布答案的时候,教师可以自己公布,也可以指定某个学生上传自己的答案。学生提出的问题可以由教师回答,也可以由其他学生回答,这种方式无形中增加了学生思考的空间,极大地激发学生学习的兴趣,提高学习效率。

1 程序设计基础教学的“多层教学模式”架构

教学模式、方法的研究和探讨一直是各级教学人员关注的重点[2]。总体而言,目前以培养计算思维或者培养应用实践能力为主导,在具体教学方法上,有案例分析法、任务驱动法、分层教学法以及新出现的慕课[3](MOOC)和翻转课堂教学法等[4]。各种方法的主要目的是提高学生学习兴趣,力争课堂教学更加高效。然而,程序设计课程学时的不充足、大量训练的缺乏使得学习很难达到教学的要求。随着学生人数的扩大,教师更难对大量学生进行细致的辅导,因此强调课前、课中、课后的“多层教学模式”值得研究。在传统教学模式的基础之上,再借助互联网工具为学生提供随时随地可以学习的资源、跨越时空的训练,以提高学习效率。 “多层教学模式”的架构如图1所示。

图1 程序设计课程的“多层教学模式”

1.1 进入企业征求需求,建立精准教学案例

教学越有针对性,效果就越明显。企业需求的征询是应用型人才培养不可或缺的一环。企业的需求反应是市场的需求,一方面给教师提供教学案例,另一方面也能提高学生学习的兴趣。在这一环节中,教师的作用至关重要,既是整个活动的策划者,也是组织者。通过企业需求的征询,结合计算机程序设计的特点,形成针对性强的教学案例。然后,教师要改进现有教材,修订培养计划、教学计划、大纲、授课计划等一系列教学环节。针对多人教授同一门课的情况可以采取教研组长统一标准。通过企业走访,一方面能让学生了解企业当前的现状,看看哪些工作是将来喜欢的岗位,这些岗位需要哪些知识,特别是程序设计类课程需要掌握哪些重点、难点等;另一方面,学生也可以向企业导师请教遇到的问题,开阔学生的视野。

1.2 配置教学资源,尽可能做到精准

程序设计教材五花八门,适合应用型人才培养模式的却不多,无论选择什么教材都不能一成不变,最好三年一改,让教材也与时俱进,把企业的需求案例加入教材,一方面丰富教材内容;另一方面贴近实际,使学生学习起来更有兴趣。配套的培养计划、教学计划这些主要根据学校的课时安排做适当调整。目前,大多数学校的程序设计课程课时不足,但是要求并没有降低,因此需要更加高效的教学方法和模式加入其中。课前时间的利用是提高教学效果行之有效的办法,可以让学生提前预习教材,反复观看教学视频,提前掌握知识,这样课堂上就不用记忆基础知识点了。课堂上更多时间留给学生对知识的提炼、应用。

1.3 积极配合各级教学改革项目,多做实事

从国家到省级再到市级,各类教学改革项目反映了国家对应用型人才培养的重视。各级教学项目都有很具体的工作要求,对于成果也是有严格标准的。很多学校的核心课程建设就明确提出要录制高质量的教学视频每学分120min以上、资源共享、建立评价体系等要求。与传统课堂相比,网络类的课程越来越显示其优越性:当时听懂、过后就忘,或者临时开个小差错过了、后面衔接不上等缺点在新模式下统统没有了。教学视频需精心组织策划,精简知识点,录制逻辑性、操作性、时序性比较强的视频,供学生反复观看。程序设计课程的学习方法,最初是从模仿开始的,然而程序设计步骤的连贯性、时效性,往往会使学生手忙脚乱,顾此失彼。这种情况严重打击学生的学习积极性,怀疑自己的学习能力。因此,从一开始就能够让学生成功的调试出程序,有助于学生学习成就感的培养,也会极大提高学生的学习兴趣,增强其学习动力。

1.4 加强教学交流沟通,架起知识桥梁

教学过程不是教师向学生的单向传输过程,必须包含重要的交流沟通。目前,国内最为流行的交流软件就是QQ和微信。如果把这些好的资源利用到教学中来,当然对提高效率大有帮助。可以建立QQ学习群,让任课老师和班长做管理员。通过交流群,教师可以及时下发学习资料,学生也可以及时提出问题,群里的教师和学生都可能做出回答。目前手机QQ能够轻松打开Word文档、PPT讲义等,学生通过下载,可以随时随地观看,拓展了学习时域,提高了学习效率。微信公众号也可以用于教学,通过菜单或推送形式,把教学视频地址、知识点讲解等内容推送给学生。再利用一些第三方插件,例如问卷星、易查分等建立调查表、在线测试等功能。

1.5 建立强针对性的题库,加强学生的训练

程序设计是实践性很强的课程,有些学校以学生敲代码的行数来评价学生对知识的掌握程度,也不是没有道理的。教师应该根据班级学生学习的具体情况,制作针对性强的题目加入题库,以供学生训练。题库一般采用Online Judge(OJ)系统,该系统的好处就是能够及时地对学生的程序进行反馈,以便学生能及时地修改程序,这对学生独立调试程序是非常有帮助的。OJ系统大都采用网站的形式存在,只要电脑服务器是开着的,该系统就会提供24小时不间断服务,有助于学生抽出课外时间进行程序练习。

1.6 采用上机考试的形式,检验学生对程序设计掌握的真实能力

传统的考试大部分采用试卷形式,往往是程序写的不完整也能得分,这严重脱离了实战,OJ系统不会对不完整的程序给分。计算机阅卷的优势就在于程序代码可能不一样,但计算结果必须完全一致,否则是通不过测试的。这比较符合程序实际编写中出现的不完全对的结果,是不能通过合格验收的实际情况。

2 程序设计课程的互联网教学模式实践

2.1 教学视频

笔者所在课题组于2015年开始建设计算机程序设计教学网站,并部分参考北京大学OJ和杭州电子科技大学OJ的开发模式。教师录制的部分教学视频格式如图2所示。

图2 计算机程序设计教学视频格式

该系列视频以网页的形式存放在学校网站上,校园提供全覆盖、免费的Wifi,学生用手机、Pad或笔记本电脑可以直接登录校园网,可随时随地观看。网页分为两部分:上部为教师录制的教学视频,主要讲授程序设计的基础知识和演示编程操作案例,学生可以重复观看,加强记忆;下部为本节课程的图文讲义,便于学生直观地掌握结构化程序的格式与程序流程,深化对知识的理解。网站24小时不间断服务,给学生提供学习的广阔时空,毕竟学生每学期也不是只有程序设计一门课在学习,课余时间也是宝贵的。

2.2 即时通讯软件

建立计算机程序学习QQ交流群。该群的管理员是学校的教师和各班的班长,教师主要是下发或收集资料、回答疑问等;班长主要是管理学生在群内的言行,负责学生的各种活动等。群共享中存有教师或者学生提供的学习资料,方便学生随时获取。

课题组建设了名为“程序设计轻松学”的微信公众号,具有教学服务、教学资源、真题测试3部分。教学服务菜单中,有问卷调查功能,设置该功能的主要目的是了解学生对程序设计了解的基本情况。另外,该菜单还具有请假登记、成绩查询、学校位置等辅助功能。教学资源菜单中,主要包含C语言视频、笔试题目精讲、机考题目精讲3部分,另外还预留Java、Python两个子菜单功能。真题测试部分是利用第三方软件“问卷星”建设的在线测试系统。除此之外,还可以利用公众号的推送功能把最近教学的知识点及时推送给学生。

2.3 程序设计训练题库

目前,课题组建设了在线测试系统,该系统的题库提供了C、Java、Python题型,其中以C程序设计为例,有220多道应用型练习题。这些练习题都是放在校园网内的教学网站上,由教师根据实际需求出的强针对性题目,可供同学们在校园内任何网络覆盖的地方,使用笔记本电脑加以编写、调试、修改、提交。学生通过学号注册,可以课内实验,也可以课外刷题。系统有自动判题、排名、统计等功能,会对学生的代码是否正确给出及时的分类提示,引导学生做出正确答案。提示包括语法错误、编译错误、超时、答案错误等,样式如图3所示。

图3 OJ系统对学生练习题给出的检测结果

学生根据OJ的提示,逐步修改自己得代码,直到提交成功。

2.4 对学生所学知识给出合理化评价

课题组所提出的 “多层教学法”能否对教学起到帮助,合理化检验学生学习的水平是非常必要的。因此,强化考试压力,对于部分自我控制能力不强的学生是行之有效的方法。OJ拥有高效的考试系统,该系统带有U盘封锁,防止学生偷懒拷贝程序代码;还可以通过IP地址、物理地址和学生学号绑定的方法,防止学生更换账号代交代码。当然,机器毕竟不是人,考试过程还需要监考老师巡视违纪情况。图4所示为2017年4月13日机械班级C语言程序设计评测情况。

图4 C语言程序设计评测情况

从图4中可以看出,在120min的时间内,OJ考试系统对学生的程序代码给出了1 364次反馈,其中包括编译错误、超时、答案错误等信息。在这么短的时间内,人工检验是难以完成的,真正体现出互联网应用的高效性。

3 课程方案的教学效果检验

3.1 评价表量化分析

本方案所提出的教学方法是把学生的课外时间利用起来,激发学生学习程序设计的兴趣,强化训练,合理化测评。该方案是否能够对学习程序设计有明显的帮助,课题组参考文献[5]中的学习兴趣量表,设置了表1的评价指标,在已经学过程序设计的学生中抽样调查。

本调查的样本分别选择1年级和2年级的电子、自动化、机械等专业的学生进行问卷,统计的人数数据见表1,对有效问卷人数进行统计后,认为对掌握程序设计知识有帮助的学生数占82.3%;对提高学习兴趣有帮助的有73.2%,这说明大部分学生认为新方法在提高兴趣和实际能力方面收获较好的效果。

表1 教学效果评价表

3.2 对于参加各类水平级考试、竞赛的影响

通过对2017年秋省计算机等级考试的成绩分析,C语言二级成绩中,全院及格人数增加了63人。更加可喜的是,非计算机专业学生报名参加ACM程序设计竞赛的人数增加了4人。

4 结 语

为了加强学生对计算机程序设计知识的掌握,笔者提出通过“多层教学法”,该方法从企业需求入手,修订教材、大纲、计划,录制教学视频。教学视频的使用,弥补学生过后就忘的不足,强化了记忆;通过通讯软件搭起教师和学生之间的无形的桥梁,及时答疑,加强沟通,提高效率;通过校园网的应用型题库,给学生提供一个随时随地练习的环境,强化训练,提高技能;通过评测系统检验学生对知识的掌握程度,给出合理的评价,体现公平。实践证明,该方案能够提高学生对程序设计的学习兴趣,促进广泛的编程训练,加强对知识的理解和应用,取得较好的教学效果。当然,该方案也存在课程限制、难以推广、学生课外时间有限等问题,这些都将在今后的实践改进中加以完善。

猜你喜欢
程序设计教学模式课程
群文阅读教学模式探讨
数字图像处理课程混合式教学改革与探索
软件设计与开发实践课程探索与实践
计算机教育(2020年5期)2020-07-24 08:53:38
基于Visual Studio Code的C语言程序设计实践教学探索
计算机教育(2020年5期)2020-07-24 08:52:56
为什么要学习HAA课程?
从细节入手,谈PLC程序设计技巧
电子制作(2019年9期)2019-05-30 09:42:04
高职高专院校C语言程序设计教学改革探索
“一精三多”教学模式的探索与实践
“导航杯”实践教学模式的做法与成效
学习月刊(2015年18期)2015-07-09 05:41:22
PLC梯形图程序设计技巧及应用