新工科计算机专业赛教融合教学的探索

作者: 姜思羽 陈雪佩 李宇耀 宋鹏飞

[摘 要] 为了更好地应对新一轮科技革命与产业变革、支撑服务创新驱动发展等战略,新工科建设在持续推进。目前研究表明,新工科专业学生更为关注自身技能的提升,而传统的计算机专业基础教学存在知识横向封装、教师“满堂灌”、学生实践能力不足等问题。在新工科专业背景下,以计算机学科竞赛为教学目标,探索一种适合于全体计算学专业学生的基于编程竞赛为平台的教学模式,以此来培养学生的计算思维和创新能力,提高实践能力和动手能力,成为新时代高素质的复合型人才。

[关键词] 新工科;编程竞赛;赛教融合;教学模式;综合能力

[基金项目] 2022年度教育部—阿里云产学合作协同育人实践条件和实践基地建设项目“以获奖作品为案例的时间教学基地建设”(202203);2021年度广东外语外贸大学校级课程思政示范课堂“多语言情报分析”(202111);2022年度广东省本科高校在线开放课程指导委员会重点研究课题“以省赛获奖优秀作品为教学案例的实践教学在线开放课程建设研究”(2022ZXKC149)

[作者简介] 姜思羽(1992—),女(满族),黑龙江齐齐哈尔人,软件工程博士,广东外语外贸大学信息科学与技术学院讲师,主要从事软件工程研究;陈雪佩(2001—),女,广东汕尾人,广东外语外贸大学信息科学与技术学院2019级软件工程专业本科生,研究方向为软件工程;宋鹏飞(1990—),男,河南临颍人,硕士,广东外语外贸大学信息科学与技术学院助教(通信作者),主要从事高校思想政治教育研究。

[中图分类号] G642.0 [文献标识码] A [文章编号] 1674-9324(2023)27-0085-04 [收稿日期] 2022-08-12

当前,在新一轮科技革命引发产业变革的新趋势、立德树人新要求下,深化我国高等工程教育改革,加快新工科建设与发展具有重大意义[1-3]。随着新工科的提出,社会对计算机专业技术人才的综合能力要求也不断提升。学生不但需要具备扎实的理论功底,还需要具备较好的动手实践能力。高校是重要的人力资源开发市场,人才的培养离不开学校的教育。因此,为了给社会不断输出优秀的计算机专业人才,高校应当更加注重教育质量。赛教融合的教学模式是一种教学变革的手段,旨在提高学生的逻辑思维能力、创新能力和解决实际问题的能力,从而能更好地迎合当今社会的需求。通过编程竞赛对计算机专业学生的能力进行有效培养,已经成为目前高校教育探索的方向。

传统的教学模式往往存在理论和实践脱节的问题,这可能会导致学生学习兴趣不足。以“程序设计基础”课程为例,教师偏重于理论教学,在课堂上先讲清楚相关理论再上机验证,实践过程往往被学生理解为理论教学的课后验证和加深理解,这种模式可能会导致学生学习效率不高,教学效果不理想。随着编程竞赛的体系趋于成熟,大多数高校目前正在极力变革,开展赛教融合的教学模式,以此提升学生的学习兴趣,进一步提高学生的能力。

在这样的时代背景下,本文以广东外语外贸大学(简称广外)“面向对象程序设计”课程为例,探讨赛教融合模式对新工科下的计算机专业学生技能的培养效果。

一、新工科下计算机专业培养融入编程竞赛的优势

我国于2017年正式开展以新工科建设为目标的新时代中国高等工程教育,其主要内容是贯彻以人为本的教育理念,以多学科交叉融合、产教结合、校企合作为主要途径,大力培养适应并满足未来新兴产业和新经济需要的,具有更强实践能力、创新能力、国际竞争力的高素质、复合型人才。在新工科的时代背景下,国内高校为迎合国家对复合型人才培养的要求,正极力开展教育变革。同时,随着编程竞赛的体系趋于成熟,赛教融合的教学模式已经成为教育变革的方向。“赛教结合,以赛促教”的教学理念使理论知识与实践高效融合,对学生提高学习兴趣、深入掌握专业知识有着非常重要的意义与作用[4]。得益于该教学模式,学生的创新思维、动手实践能力和沟通协作能力都有所提高,符合新工科建设下国家对人才的期望。

(一)提高学习兴趣,树立正确目标

由于技术无时无刻不在更新,高校专业课跟不上互联网行业发展的步伐,这就需要学生自学来扩充自身的知识储备,学习兴趣与学习目标便是推动个人发展的主要动力[5]。不少学生对互联网行业存在“高需求、高薪水”的认知偏差,于是盲目报考了计算机专业,然而专业课程对初学者来说难度较大,学生的学习兴趣会受到较大的打击。另外,以广外为例,计算机专业采用大类招生的方式,学生到大二才选择具体的专业方向,也会导致学生的学习方向不明确。

赛教融合的教学模式使得学生从“要我学”转变成“我要学”,更能发挥学生的积极主动性,激发学习兴趣。相较传统教学,赛教融合将学以致用发挥到极致,学生在参加比赛的过程中也能树立正确的目标。

(二)提高实践能力,增强竞争力

随着互联网行业技术的不断更新,各企业对IT人才综合能力的要求也不断调整,高校应该积极适应新时代对计算机人才的新要求,在人才培养方案和教育体系上做出适当调整,担当起人才培养和社会服务的重要责任。目前,很多高校或教师仍采用传统的教学方式,重理论而轻实践,普遍存在“课上能听懂,上机做不出”的现象。在新工科人才培养过程中,更加重视学生实践能力的培养。编程竞赛的融入,拓展了专业教学内容,将社会问题和思想政治教育融入其中,加深拓展理论知识,锻炼实践能力,培养竞争意识,增强自身的竞争力,为以后进入工作岗位奠定良好基础。

(三)提高协作能力,促进全面发展

工科学生主要从事技术科研工作,社会对其普遍存在沉闷、不善言辞的刻板印象。赛教融合的教学模式,选择以团队协作方式开展的编程竞赛为平台,使学生在参加竞赛的过程中能够表达出自己的真实想法,积极主动的沟通使成员彼此相互磨合,提高团队协作的能力。良好的沟通协作能力,有利于未来在工作中与同事营造良好的工作氛围,增强组织的凝聚力,提高团队工作效率,确保团队工作的顺利进行。学生参加团队编程竞赛,各方面能力都能得到提升,从而促进个人的全面发展。

二、竞赛模式融入的难点与解决思路

编程竞赛在推进新工科教育建设、深化教育变革和培养高素质复合型人才中起到至关重要的作用,然而,高校教育融入竞赛模式并非易事,在推进赛教融合过程中可能会存在教师能力不足、学生积极性不高、教材与课程案例不知如何选择等问题,影响人才培养的效果。为了尽可能发挥编程竞赛对学生能力培养的优势,高校必须充分研究这些难点,寻找高效的解决方法。

(一)教师团队能力不足

竞赛模式融入的首要难点是教师团队自身能力和素质不足,大多数工科类教师本身并没有参与编程竞赛或企业工作的经验,理论知识丰富但实践经验匮乏。2017年教育部指出逐步提高企业参与高校教学的程度,健全多元化的办学体制,全面推进高校与企业协同育人。校企合作的方式可以弥补高校教师实践能力不足的问题。在假期,高校可以邀请企业人员担任导师,开展一系列的教师培训讲座,提高教师的教学水平,教师在培训中作为知识的接受者,能够进一步了解学生的需求,从而在教学中制订符合学生发展的教学方案。

(二)学生积极性不高

应试教育的限制、高校缺乏对学生实践能力的锻炼、学生对竞赛认知片面都是导致学生参加竞赛的积极性不高的原因,这使竞赛模式的融入变得更加困难。为了激发学生参与竞赛的积极性,高校应加强竞赛宣传工作和健全竞赛模式融入的教育体系。一方面,高校可以定期举办关于竞赛的宣传讲座,丰富学生对竞赛的认知,邀请教师或学长分享参赛经验,提高学生参赛兴趣。另一方面,高校应该健全融入竞赛模式的教育体系,制定一系列考核制度和奖励机制,引导学生积极参加竞赛,通过参加竞赛使自身的实践能力得到提高。

(三)教学内容制定难度较高

竞赛模式融入专业课程教学的主要方式是开展基于竞赛案例的教学。教学内容融入竞赛案例,让学生对竞赛题目的特点有更深入的了解,继而拓展编程思维,提高编程能力。由于编程竞赛题灵活性较大,难度普遍偏高,教学内容的制定是教学中融入竞赛的主要难点。针对该难题,高校可以成立专门的课程内容研究团队,一方面,收集适合用于教学的竞赛题目案例,对难度较大的试题进行改造,降低案例的难度,使其符合学生的学习需求。另一方面,任课教师可以从基础知识和课堂讲解出发,根据编程竞赛的出题风格和背景等自拟案例。有条件的高校可以定期组织研究团队成员与竞赛主办方进行交流学习,使赛教融合取得更好的效果。

三、广外计算机专业课程融合案例

我校计算机系对于专业课程和编程竞赛的融合主要从以下四点进行完善和发展。

(一)教师竞赛知识的培训

针对教师没有参与编程竞赛或企业工作的经验、理论知识丰富但实践经验匮乏等问题,组织我校集训队指导教师去编程竞赛强校学习和交流经验,与我校周边的互联网公司紧密合作,在为公司提供曝光度以及应届生源的同时,邀请企业权威人士为教师进行校企专业技能对接的培训与讲座,加强高校与企业的交流。

(二)课前做好预习工作

现阶段,部分本校本专业学生理解其学习的数据结构和算法有一定难度,因为其中一些概念较为抽象,而编程竞赛题目大多与生活实际和计算机知识相关联,较有趣味性。在课前,教师可以联合学校ACM集训队老师及成员,结合各种比赛和项目中的相关场景和问题模型,整理完善后提供相关知识点的实际运用背景。以此激发学生的学习兴趣,提高其积极性,并为希望深入学习的学生提供方向和途径。

为掌握学生对于赛教融合这种教学模式的了解度和接受度,我们对本校本专业的学生进行了调查,最终收集了100份问卷,内容涵盖学生自身参加竞赛的情况、学校对编程竞赛的重视程度等。根据问卷结果,高达64.13%的学生更倾向于“老师讲解与线上学习相结合”的教学方式。线上学习有着较为丰富的资源,例如LeetCode、AcWing等网站有着许多针对某一算法难点原理的讲解视频及相关模板题。精选其中较为简单的部分作为预习资料能够拓宽学生的学习面,激发学生的学习热情。

(三)课中融入竞赛案例

在我校“面向对象程序设计”课程中,使用的教材有理论知识偏多、实践案例较少的特点,学生较难将所学知识和代码相结合。竞赛经典教材,如《挑战程序设计竞赛》和《算法竞赛入门经典》,都可以很好地辅助学生将理论应用于实际。但也应当注意上述竞赛书籍普遍难度较高,并不适用于基础课程,应在保留原本教材的基础上,节选部分竞赛教材的入门章节融入教学。

教师在上课讲解的例题以及作业布置的题目选择上,也可以与竞赛有机融合。虽然竞赛真题考查知识点明确且质量高,但普遍难度过大,直接照搬竞赛真题作为课程习题并不可取。各种做题网站上也有许多好题,但存在题目表述不清或是数据有误的情况。而教材上的例题往往又存在难度过低、过于典型、数量较少的缺陷。我们认为可以聘请校ACM集训队的老师、学生或业界权威出题组对课程题目进行优化:搜罗各大赛事、做题网站的题目,对它们进行改编、勘误。将竞赛题目融入课程习题中,将质量良好的习题扩充进题库,有助于学生对知识点的形象理解以及知识点的巩固。

(四)课后优化考核模式

本校“面向对象程序设计”“数据结构”“算法设计与分析”三门课程的期中、期末考核方式较好地体现了赛教融合。因为这三门课程都需要学生将所学知识转化成代码实现,所以均是在本校的机房,通过官方在线判题系统进行上机考试。考试形式考核模式采用ACM赛制,即在规定时间内完成不同知识点的编程题目。但该考核方式存在缺陷:每道题目只有通过或者不通过两种结果,每道题都有多个测试点,必须通过了所有的测试点才算通过,提交错误答案之后看不到具体的错误测试点。而由实践经验得知,在三小时的考试中,3~5题是一个可以接受的数量。综上所述,题目采用“一票否决制”,题目数量少,教师很难对学生的程度给出细致的划分。针对以上问题,考核可以采用更为宽松的判题方式,如让判题机根据通过的测试点按比例给分。同时,可以在答案未通过测试点时返回错误信息,方便学生进行调试,降低考试难度。

经典小说推荐

杂志订阅