蔺守河,陈海魁
(北方民族大学,宁夏 银川 750021)
计算机程序设计是高校理工科专业的必修课程,比如开设有《C语言程序设计》《C++程序设计》《Python语言程序设计》等等,目的是通过学习程序设计,使学生掌握计算机编程技术,培养学生利用计算机解决实际问题的能力,训练学生的创新思维能力。然而,对于刚刚接触计算机编程的大学生来说,任何一种计算机语言程序设计都是很难理解和掌握的,而且在课程的传授过程中,依赖课本“填鸭式”地讲授,重视理论基本知识,轻视实际应用,导致学生学习没目标、没动力、没兴趣,只为了追求期末考试及格,课程的教学效果普遍较差,根本无法掌握编程技术,更别说培养解决问题和创新思能力了。
针对这些问题,结合近些年组织和指导学生参加全国大学生数学建模竞赛、全国“蓝桥杯”大赛的创新实践活动情况,本文提出以学科竞赛为依托,把学科竞赛融合到计算机程序设计课程的教与学当中,探索课程和学科竞赛相融合的教学模式,让学生带着问题学、带着兴趣学、带着目标学,组织学生参加各级学科竞赛,以提高课程学习效果,让学生学以致用、学有所获。并着重把“蓝桥杯”大赛、大学生数学建模竞赛融入Python语言程序设计课程的教和学环节并加以实践。
学科竞赛是面向学生开展的知识竞技活动[1],旨在提高学生对知识的综合应用和创新能力。近些年,学科竞赛也成为高校大学生创新创业教育的重要组成部分,是对大学生进行专业思维能力训练、实践训练、合作教育的极好平台[2],因此,目前学科竞赛在各个高校,甚至是中小学都备受关注和重视。
学科竞赛与平时的专业考试不同[3],平时考试只注重考查学生课程基本知识的掌握情况,而学科竞赛更注重考查所学知识在实际问题中的综合应用和创新思维能力,注重考查学生分析问题、解决问题的能力。可以说,学科竞赛是锻炼和检验学生知识应用能力、创新思维能力、合作精神和能力等方面极好的平台,而且学科竞赛能更好地激发学生对知识学习的兴趣和主动性[4]。对于学生来说,如果在各级学科竞赛活动的获得优异成绩,会对笔者今后的发展,比如在考研究生及就业方面,增添得天独厚的优势。
因此,将专业课程与学科竞赛相融合,进行教与学,为学生提供一个锻炼创新思维能力的实践平台,实现教、学、赛一体化的课程教学形式,让学生带着兴趣学、带着目标学、带着动力学,从而促进课程的教学效果,更好地达到对学生专业能力的培养目标,让学生通过学科竞赛有所收获,并为今后的自身发展拓展更大的空间。
在《Python语言基础》课的教学改革中,秉着“以赛促学、以赛促教”的想法,打破以往传统的灌输式、被动式教与学模式,采用以相关学科竞赛题目为问题的驱动教学模式,加大学生自学环节,把Python知识融入竞赛题目的解答过程中,促进学生对基础知识的掌握和应用,让学生在课程的学习中,有目标、有动力、有兴趣。营造以参加学科竞赛为目标的课程学习氛围,并让学生在各级学科竞赛中获得成绩、获得自信。具体改革实施方案及路线如图1(P192)所示。
图1 课程实施方案及路线
(1)以大学生数学建模竞赛、全国“蓝桥杯”信息技术大赛为主要学科竞赛,准备往年赛题,汇总赛题解法和涵盖的基础知识,并对赛题进行归类,形成指导性文档。通过历年赛题的准备,以提高授课教师的业务素养和指导竞赛的能力。在本课程改革实施中,主要整理了近5年的“蓝桥杯”大赛(大学组)的赛题,包括C/C++组和Python组的赛题。
(2)结合历年竞赛赛题涵盖的基础知识,把不同赛题作为《Python语言基础》不同章节的驱动问题,穿插到授课教案和PPT中,授课过程让学生带着竞赛题目,结合课本和其他资料,去自学掌握Python基础知识。最后授课教师通过对赛题的详细解题,有针对性把Python语言的重点知识贯穿一遍,让学生更好地理解和掌握知识在实际问题中的灵活运用,让学生真正掌握赛题的解题方法。通过该方式的实际教学验证,学生在课堂上学习主动性、自觉性明显提高了,也善于思考了。
(3)组织课程教师团队进行课程研讨,参加相关学科竞赛的师资业务培训,以提高课程教师胜任该教学模式的教学能力和指导学生参加竞赛的能力。由于近两年的处于特殊时期,无法参加线下大型的校外学科竞赛培训活动,我们主要以学院内课程教学团队,组织内部研讨为主,共同探讨竞赛赛题的解题以及如何进行课程知识点与竞赛赛题的结合方式,提高团队教师的授课能力和赛题指导能力。
(4)组织学生参加多种形式的竞赛活动,让学生多学多练,锻炼学生参加学科竞赛的能力。具体实施过程中,我们组织多次的班级、院级的竞赛。利用班级、院级的竞赛活动,给成绩优秀的学生给予奖品激励,以激发学生的学习兴趣。组织学生参加每年的全国大学生数学建模、全国大学生“蓝桥杯”信息技术大赛,通过学与练、学与赛的融合,促使学生学以致用、学有所获,以来提高课程的教学效果和专业培养目标,也让学生在更高更好的平台上获得成绩、获得自信。
经过两学年的课程改革实践,把学科竞赛融入Python课程的教与学,以赛题为驱动、以竞赛为目标,不仅提高了学生对课程的学习兴趣和动力,改变了学生被动学习的现象,课程教学效果明显改善。而且课程学习更有目标性,学生通过参见竞赛获得奖项,收获满满、信心大增。另外,教师在该模式的教授过程中,能力也大大得到了提升。
自2020年以来,指导并组织所带学生参加每届的全国“蓝桥杯”大赛和全国大学生数学建模竞赛,取得了一定的成绩,具体获奖情况:2020年第十一届“蓝桥杯”大赛(Python)组获得一等奖1项、二等奖2项;2021年第十二届“蓝桥杯”大赛(C++组)获得二等奖3项;2022年第十三届“蓝桥杯”大赛(Python组)获得一等奖3项、二等奖5项、三等奖4项;2021年“高教杯”全国大学生数学建模竞赛获得三等奖2项。
通过把学科竞赛融入Python课程的教学当中,促进了课程的教学效果,使得部分学生通过竞赛获得的一些成绩。但是,由于改革实施周期不长,改革的效果还不够显著,学生参加国家级学科竞赛的热情还不够高、氛围不够浓。希望通过本改革为契机,加大对学科竞赛的重视程度,大力加强和引导学生参加学科竞赛,形成“以赛为学、以赛施教”的浓厚氛围。
对于高校的专业应用型人才培养,尤其是创新型人才培养来说,立足学科竞赛组织和实施课程教学是一个非常必要的模式和方法,也是促进教师能力水平的重要平台,使得课程的教学有目标、有兴趣、有动力,提高课程的教学效果,而且还能很好地使学生学以致用、学有所获,提升学生的创新思维和能力。但是,以学科竞赛为依托,实施课程教学,相比传统模式,比较耗时耗力,对教师业务能力和学生自学、善于思考能力有很高的要求。