时间:2024-05-04
[摘 要] 基于“蓝桥杯”全国软件专业人才设计与创业大赛,结合学校计算机专业学生的实际情况,探讨程序设计课程理论与实践教学的改革方法,培养学生创新思维和实践动手能力,提高学生的学习兴趣,改善课程教学的效果。
[关键词] 程序设计课程;以赛促学;蓝桥杯
[基金项目] 2016年度广东海洋大学校级教育教学改革项目“程序设计课程以赛促学的教学改革研究”(XJG201650)
[作者简介] 陈有英(1979—),女,广东罗定人,软件工程硕士,广东海洋大学数学与计算机学院讲师,研究方向为计算机软件工程。
[中图分类号] G642.0 [文献标识码] A [文章編号] 1674-9324(2020)39-0290-02 [收稿日期] 2019-12-23
《程序设计基础》是计算机专业学生必修的重要的专业基础课。课程设置目的是使学生掌握一门高级程序设计语言,了解面向过程和面向对象程序设计的基本概念与方法,掌握程序设计的方法。
一、传统程序设计课程存在的问题
传统的程序设计语言的教学模式侧重于语言语法知识的讲授,学生的关注点集中于语法知识的记忆和理解中,无法形成真正的编程思想。这使得学生很难自己写出程序,只会一味地“照猫画虎”,甚至有学生出现死记硬背程序才能记住的情况,导致学生的学习兴趣不浓,学习停留在表面,学生学起来枯燥,教师教起来也特别费劲。通过这几年计算机专业的授课经验和一些调查,发现我校程序设计教学上存在以下一些问题。
1.相当一部分学生对程序设计缺乏比较全面的认识,科学思维能力、创新能力、工程意识、分析和解决实际问题的能力较差,一些学生经过四年的学习后还没有找到正确的学习程序设计的方法,甚至很多学生认为程序设计就是记住相关的语法即可。这样必然导致学生在以后的专业学习和能力培养方面遇到较大的障碍。
2.实际教学过程中,各课程教师的教学往往各自为政,只注重单个课程教学设计的完善,忽视课程间内容上的承接与配合,对学生职业能力的培养是松散型,连贯性不强。
3.现有的实践教学主要以验证有主,将书本中涉及的内容拿到实际操作中体会实现过程,观察操作结果,理解知识技能点。但因实践教学时间有限,很难将有实用价值的内容完整引入课堂,学生无法做到对编程技术的熟练和创新,团队协作能力也很弱。
4.课堂教学之外学生的自学积极性不高。较多学生以课程成绩合格,能顺利拿到毕业证为目标。课堂上按照老师的安排进行“教、学、练”,但在课后自己钻研专业知识,提高技能的现象较少,对实际应用中的技术和要求不甚了解。
5.目前实践课程的考核方式一般以学生在课堂上完成的实验报告及学生完成实践作业的情况来决定实践教学的成绩。这种考核方式过于单一,无法反应每一个学生的真实水平。而且这种考核方式存在很多弊端,学生的目标就是通过考核,因此部分学生可能无法完成任务就去复制基础相对好些学生的成果。
二、以赛促学
“以赛促学”是指通过参与竞赛的方式有效地提升学生学习的质量,学习质量的提高又反过来促进学生努力的完成学习任务[1]。当今高校存在着各种级别的学科竞赛,竞赛不仅具有竞争性,而且具有学术性,“以赛促学”是一种值得广泛开展的教学方式。
1.蓝桥杯。蓝桥杯全国软件和信息技术专业人才大赛,旨在为贯彻《国务院关于印发进一步鼓励软件产业和集成电路产业发展若干政策的通知》,加快软件和信息服务业人才队伍培养,促进高等院校计算机、软件及电子专业教学创新与改革。大赛设置了JAVA、C/C++、单片机设计与开发、嵌入式设计与开发等四个竞赛类别,增加了具有企业工程价值的题目。大赛为推动软件/电子开发技术的发展,促进专业技术人才的培养,面向软件/电子行业输送具有创新和实践能力的高端人才,提升高校毕业生就业竞争力,全面推动行业发展及人才培养进程做出了努力,取得了丰硕的成绩。
2.教学设计举例。软件大赛的题目多是面向实用型,是对一些实际应用问题的求解,注重解题逻辑上的分析和组织,且描述背景往往也比较有趣。我们可以在课堂教学中引入大赛的部分题型,运用问题求解模式,引导带动学生思考、讨论解决问题的方法,分析该方法的实现原理,并逐步推导总结出解决此类问题的一般思路。这种模式类似于任务驱动教学方式,是许多实践操作性课程经常采用的教学方法,学生在强烈的问题动机的驱动下,通过对学习资源的积极主动应用,进行自主探索和互动协作的学习,往往可以获得很好的教学效果[2]。将大赛题型与《程序设计基础》相关章节内容结合起来,这样既可以理论联系实际,培养学生逻辑思维能力的同时也增加了教学内容的趣味性,从而提高学生的学习积极性。例如,对于条件语句、循环语句设计如下:先介绍条件语句和循环语句的基本语法要求,常用的条件语句和循环语句举例,不涉及复杂的算法,引入蓝桥杯软件大赛题目——凑算式:看这个算式:☆☆☆+☆☆☆=☆☆☆,如果每个五角星代表1-9的不同的数字。这个算式有多少种可能的正确填写方法?173+286=459,295+173=
468,173+295=468,183+492=675
以上都是正确的填写法。注意:111+222=333是错误的填写法,因为每个数字必须是不同的。也就是说:1-9中的所有数字,每个必须出现且仅出现一次,不包括数字“0”。满足加法交换率的式子算两种不同的答案。所以答案肯定是个偶数。这个可以利用计算机的运算能力进行穷举,然后找出满足条件的等式。引导学生分析问题,找出解决方案。最后给出代码方案并进行讲解。将竞赛题型引入程序设计课程的课堂教学,改进传统简单例子的验证过程,有助于培养学生的创新思维和实践动手能力。
3.“以赛促学”的作用。《程序设计基础》是我校计算机科学与技术系学生进入大学后接触的第一门程序设计课程。教学实践证明,该课程对学生是否可以形成编程思想,能否建立利用计算机求解问题的逻辑思维能力是至关重要的,也将直接影响后续课程的教学效果。近几年,我校每年都组织学生参加蓝桥杯,并以比赛为契机,积极进行程序设计课程的教学改革,学院与教学系对学生程序设计能力培养高度重视,从学院初赛到省比赛,再到全国赛,都安排了专门的老师对学生进行指导,还组织老师参加蓝桥杯的师资培训。同时,学院与学校建立了相关的奖励机制,一方面激发了学生参赛的热情,另一方面也提高了任课老师教学的积极性。通过每年的参赛,我校真正达到了以赛促教、以赛促学、以赛促改的目的。这几年我校组织学生参加蓝桥杯的比赛也取得了较好的成绩。2018年获得了蓝桥杯省级一等奖10人,省级二等奖9人,省级三等奖12人;蓝桥杯全国赛一等奖1人,全国二等奖3人,全国三等奖3人,全国优秀奖5人;2017年获得了蓝桥杯省级一等奖7人,省级二等奖5人,省级三等奖4人;蓝桥杯全国赛二等奖3人,全国三等奖2人,全国优秀奖1人;我校2016年获得了蓝桥杯省级一等奖12人,省级二等奖7人,省级三等奖13人;蓝桥杯全国赛一等奖2人,全国二等奖12人,全国三等奖5人,全国优秀奖2人。经过几年的教学改革,我校《程序设计基础》课程教学的取得了较好的效果,学生的编程能力,分析解决问题的能力也得到较大的提高。我院不少学生团队,参加“粤港澳”“高校杯”“中国软件杯”等不少的程序设计类比赛,都获得较好的成绩。从参加过大赛的学生的情况可以看出,经历过大赛的学生的实践动手能力和创造性思维方面的能力都得到了巨大的提升。在参与过全国大赛的学生的带动下,通过学生之间的相互交流,大部分同学的学习积极性和实践能力都得到不断提高。
三、结束语
程序设计类竞赛活动具有挑战性、竞争性、创新性等特点,能够唤起学生迎接挑战、追求突破的热情,容易激发学生参与竞争、追求卓越的意志。以程序设计竞赛为载体,以培养计算机专业大学生的计算思维能力为目标,可以有效提高学生自主创新意识和工程实践能力,提高学生的程序设计水平。教学改革是提高学生兴趣和激发教师热情的一个重要手段,通过“以赛促学”,能激发学生学习主动性、积极性和创新性,同时以此调动教师教学改革的积极性,在教学中,希望能做到竞赛与教学改革、人才培养相结合,真正提高人才培养的质量。
参考文献
[1]赖新兴.基于“以赛促教、以赛促学”的教学模式研究——以高等数学课程为例[J].黑河学院学报,2017(2).
[2]邓育林,覃晓.“蓝桥杯”软件大赛对《数据结构》课程教学改革的启示[J].广西师范学院学报(自然科学版),2012(12).
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!