APP下载

基于ACM-ICPC的计算机高质量人才的培养与实践

2021-12-23韩丽霞毕方明张艳群

黑龙江教育·理论与实践 2021年12期
关键词:复杂工程问题学科竞赛以学生为中心

韩丽霞 毕方明 张艳群

摘    要:不断地提高学生解决复杂工程问题的能力是本科工程教育的基本定位。文章针对计算机专业基础课教学存在知识横向封装、教师“满堂灌”、学生实践能力不足等问题,以计算机学科竞赛ACM-ICPC为抓手,提出以“计算机问题解决”为主线、以赛促改,以学生为中心、以赛促教,兼顾整体培养与个性实训、以赛促学的方法,培养学生的计算思维和创新能力,提高实践能力和动手能力。

关键词:复杂工程问题;以学生为中心;教学改革;学科竞赛

中图分类号:G640      文献标识码:A      文章编号:1002-4107(2021)12-0003-03

当前我国高等教育正处于深度变革的关键时期。教育部高等教育司吴岩司长指出,要坚持“以本为本”,推进“四个回归”,深化课程结构改革,让教学活起来,让学生忙起来,全面振兴本科教育,进一步提高人才培养的质量,聚焦“双一流”,集中力量加快新工科建设。

针对计算机学科培养学生解决复杂工程问题能力的定位[1],国内外很多著名的高校均进行了一系列的改革和实践[2]。麻省理工学院实施了以项目为驱动的教学模式,旨在培养学生对理论知识的应用能力;北京大学针对计算机核心课程设置了实验班,采用“大班授课+小班讨论”的模式,致力于培养学生的创新能力和实践能力;南京大学对拔尖实验班课程体系进行了“大刀阔斧”的变革,将“计算机导论”“离散数学”“程序设计”“数据结构”“算法设计”课程建设为跨度为4个学期的“计算机问题求解”课程,培养学生的自我探究和个性化学习能力;上海交通大学注重个性化培养,设立ACM实验班,取得了傲人的成绩。

ACM-ICPC是由国际计算机协会(ACM)主办的国际大学生程序设计竞赛,要求学生在时间有限的高压下,灵活运用所学的专业知识分析问题、凝练问题、通过编程解决问题[3],对于计算机专业高质量人才培养、创新人才选拔均具有极其重要的指导意义[4]。

近几年来,中国矿业大学以计算机学科竞赛ACM-ICPC为依托,兼顾计算机专业培养和学生个性化培养的目标,对计算机专业课程进行了大胆的深化改革,取得了良好的课堂效果和竞赛成绩。

一、以赛促改,以“计算机问题解决”为主线,构建面向ACM-ICPC的课程群

ACM-ICPC以C、C++、Java等语言作为编程工具,主要涵盖“离散数学”“数据结构”“算法设计与分析”等专业课程。在传统的教学过程中,各门课程按照内容横向组织,彼此相互独立,割裂了知识点之间的内在联系,导致知识完整性缺失;“数据结构”和“算法设计与分析”的上机实验课程对学生的培养只限于在单门课程的局部范围内进行练习,而这些练习的内在联系和意义很难被学生完全体会,不利于计算思维的养成,难以实现“复杂工程问题求解”综合能力培养的目标。

(一)以“计算机问题解决”为主线,实现知识点之间的有效串联

以“离散数学”“数据结构”“算法设计与分析”三门课程的知识点为载体,改变现有专业基础课“横向封装”的模式,递进课程之间的纵向关联,实现知识点的“串一串”,引导学生形成“模型抽象—数据结构—算法设计—编程实现—复杂性分析—持续改进”的计算思维,即“计算机问题解决”的主线,构建完整的“复杂工程问题求解”的知识体系,将能力培养贯穿于计算机专业人才培养的整个过程,主要框架如下。

1.选择计算机科学或工程中的经典问题作为离散数学中重要知识点的导入,找出其中所有的操作对象及操作对象之间的关系并用数学语言加以描述, 即离散数学模型。

2.针对问题的数学模型,分析数据的逻辑结构,进而为其选择最为恰当的物理存储结构,使学生初步具备分析研究计算机加工数据结构特性的能力,即数据结构。

3.根据问题的特性和数据结构,选择至少一种有效的算法求解问题,即算法设计。

4.采用C、C++或Java等语言编程实现算法,对算法所消耗的计算机资源进行复杂性分析并尝试提出改进的新算法。

(二)搭建ACM的在线测评OJ(Online Judge)系统,理论指导实践,实践反哺理论

将“数据结构”“算法设计与分析”的实验课程与理论课程紧密结合,从OJ系统中筛选合适的实验题目,学生需要系统地运用所学知识,对具体的问题进行独立分析,考虑程序的时间复杂性和空间复杂性,编写代码并进行在线提交。对于计算机专业人才,理论课程和上机实践具有同等重要的地位,只有熟练地掌握了理论知识,才能高效地指导上机实验;反过来,实践具有巩固理论知识、加深理解程度和升华学习内容的作用,反哺于理论。这样做,有利于达到实践课程与理论知识相互哺育、相辅相成、事半功倍的效果,切实培养学生“复杂工程问题求解”能力。表1给出了“最小生成树问题”的案例。

从表1可以看出,通过天然气管道搭建引入问题,引导学生利用图论知识,确定图当中的点、边和权,将问题抽象为最小生成树问题,培养学生具体问题的模型抽象能力;针对问题的特征,确定适合问题特征的数据结构,培养学生分析问题的能力;灵活运用贪心算法求解問题,锻炼学生算法设计的能力;编写程序并在计算机上运行以获得结果,切实提高学生的实践能力;通过复杂性分析,尝试对算法提出改进的策略,有利于培养学生的创新能力。

以“计算机问题解决”作为主线,将所涉及课程进行有机融合,构建了面向ACM-ICPC的课程群,实现知识之间的互通和迁移,形成完整的学科认知体系。本次改革强调从传递和继承知识转变为有效地组织知识来解决复杂工程问题,一气呵成地培养学生学以致用的能力, 有利于激发学生专业课学习的兴趣和热情,培养学生“学而优则用,用而优则创”的能力。

二、以赛促教,以学生为中心,实现师生之间有效的双向互动

在传统的教学模式中,教师处于教学的主导地位,强调知识与理论的传授;学生被动地接收知识,课程教学多在“满堂灌”的单向传递下完成的,忽视了学生的主体地位,难以充分发挥课程育人的作用,更不利于学生的综合能力培养。在符合学生认知负荷的情况下,以赛促教聚焦学生的能力培养,需要做到以下几方面。

(一)学生是知识的“应用者+创造者”,而不是知识的“接受者+继承人”

作为工程专业教育认证的核心理念之一,“以学生为中心”突出了学生在教学过程中的主体地位,这就要求教师要实现“以教为中心”向“以学为中心”的深刻转变,从知识的传授者向引导者和促进者的角色转换。在教学过程中,教师要结合学生的专业特征和兴趣,引入具体的问题激发学生的学习热情,引导学生进行独立思考。教师可采用启发式、研讨式、案例式等多元化的教学方式,鼓励学生深化理论知识、分析问题、凝练问题、解决问题,促进其计算思维的养成,提高学生的实际应用能力、实践能力和综合能力,达到举一反三、触类旁通的实效;倡导学生多角度、多种类的思维启迪,培养创新精神和“主人翁”意识,突出学生的主体性,让学生真正成为知识的“应用者+创造者”。

(二)构建和谐的师生互动、生生互动教学氛围,形成教学共振

作为教学中的共同体,教师要尊重学生的主体地位,围绕教学案例多角度、分层次、递进式地引导学生敞开思想、独立思考,避免超认知负荷引起学生的生理疲劳;要尊重学生的地域差异和个性化发展,实时掌握每位学生的学习状况和困难,因地制宜地进行指导,避免学生出现畏难、厌学等心理,关注个体的多元化发展,产生师生的情感共鸣,形成和谐、活泼、积极向上的教学氛围,实现师生思維共振和教学相长。

学生需要在教师的启发下,根据自己的认知和自身经验,有效地自由探索,积极地表达见解,通过师生之间、同学之间的互动实现巩固、解惑、升华的学习过程,实现知识的自我内在消化和吸收,构建多阶段、完整的知识架构;通过分组讨论、案例分析的形式,鼓励学生站在个人的角度将疑惑、模糊的问题和盘托出,小组成员之间取长补短、集思广益,让“真理越辩越明”,打消个体的疑虑或提炼问题,进一步开展师生互动、生生互动,形成多边的、动态的、头脑风暴式的学习氛围,让学生真正成为学习的主人。

以学生为中心的教学方式改革,需要教师和学生之间的相互配合、相辅相成,才能达到事半功倍的教学效果。教师要改变“一言堂”的讲授模式,将能力培养贯彻于教学过程的始终,启迪、引导学生进行高效的学习,培养协作意识和团队精神;学生要主动参与课堂教学,发挥主观能动性,变消极学习为主动学习,拓宽、拓深自我认知,能够将理论知识转化为实际问题的求解,具有大胆的创新意识,逐步培养创新思想。自此,教与学的因素形成了有机的整体,师生之间、生生之间及时发现问题,有效地解决问题,同学习、共启迪, 发挥学生的主观能动性,实现师生之间的有效双向互动,真正发挥课程育人功效。

三、以赛促学,设置“阶梯性”实验题目,兼顾整体培养和个性实训

本科教学的定位是复杂工程问题的解决,对于计算机专业人才培养,应杜绝“重知识传递,轻实践培养”的错误观念,摒弃“纸上谈兵”“画饼充饥”的教育理念。

(一)以小组为单位进行问题导向学习(Problem Based Learning,PBL),培养协作精神和团队意识

以具体问题引入,采用小组讨论的模式,引导学生在自我知识结构上发现问题、分析问题、尝试解决问题,鼓励独立思考、各抒己见,实时分享个体的领悟,多视角、多维度地领悟理论知识,实现自我认知的内在消化、自由扩张,进行自律学习和终身学习;通过互相提问、解答的形式,在合作学习中扬长避短、深化知识理解,培养“计算机问题解决”的综合素质能力和自我创新能力,从而提高计算机专业人才的个体水平和整体水平。

(二)利用OJ系统设置“阶梯性”实验题目,兼顾整体培养和个性实训,切实提高实践能力

OJ实验平台设置了不同难度的练习题目。其中,基础题通常是对理论知识、方法的验证性题目,旨在巩固和加深学生对知识的理解程度;提高性题目为面向具体问题的算法设计,致力于增强学生对理论知识的灵活应用,举一反三、触类旁通;综合题是从ACM-ICPC中遴选的竞赛题目,学生需要根据“计算机问题解决”主线,循序渐进地解决问题;对于接受能力较强、具有潜力的学生,从第一课堂延伸到第二课堂,进入ACM实践基地进行系统的竞赛实训,这为高质量人才的选取奠定基础。 不同难度的实验题目设置,避免了“一刀切”的实验模式,满足了学生多元化自由发展诉求,建立了整体培养和个性实训之间的桥梁,兼顾了计算机专业培养目标和个性化的培养目标。

OJ实验平台中对每道题目设置了“近乎苛刻”的测试数据,这就要求学生在“真环境”“真问题”下解决问题。这样做鼓励学生“自建”知识系统而非传统的知识“移植”,有利于培养学生“面面俱到”的编程思维,提高学生灵活应用所学知识解决具体问题的能力,鼓励学生进行深入的思考并学以致用,培养专业学生建立持续追求“更快、更优”算法的创新意识。

四、ACM-ICPC高质量人才培养取得的效果

经过5年的改革和实践,基于ACM-ICPC的高质量人才的培养取得了不俗的成绩。

(一)专业人才整体能力显著提高

表2给出了“算法设计与分析实验”课程对应的毕业指标点和达成情况。从表2可以清楚地看到,各指标点的达成度均显示向好的趋势。其中,指标点3.2考查对复杂问题的解决能力,从2017年的0.4821到2018年的0.6235,再到2019年的0.7540,充分说明了学生整体能力有显著提高。

(二)竞赛成绩斐然

截至目前,中国矿业大学获得省级及以上竞赛奖项300多项,连续多年承办了工信部组织的“蓝桥杯”软件大赛江苏赛区赛点,连续2年承办了国际大学生程序设计竞赛亚洲区域赛(徐州),并于2020年晋级世界总决赛。

参考文献:

[1]蒋宗礼.本科工程教育:聚焦学生解决复杂工程问题能力的培养[J].中国大学教学,2016(11):27.

[2]丁飞己.工科本科生问题解决能力及其影响因素研究[J].中国高教研究,2020(5):17.

[3]常莉俊.自由选择:以学生为中心的一流大学课程建设[J].黑龙江高教研究,2019(9):149.

[4]周光礼.建设世界一流工程学科:“双一流”高校的愿景与挑战[J].现代大学教育,2019(3):3.

编辑∕李梦迪

作者简介:韩丽霞(1980—),女,山东威海人,中国矿业大学计算机学院讲师,博士,研究方向:最优化算法设计。

基金项目:中国矿业大学教育教学改革与建设项目“以赛促改,以赛促教,以赛促学——以ACM-ICPC为依托”(2019YB22);中国矿业大学计算机学院教改项目“数据结构”(JG201705)

猜你喜欢

复杂工程问题学科竞赛以学生为中心
面向解决复杂工程问题的失效分析课程教学研究
复杂工程驱动的MATLAB课程改革
“以学生为中心”食品卫生与安全课程教学模式的构建
“通信原理”教学中对复杂工程问题的探索与实践
辨析判断“以学生为中心”的教学标准应是教学质量
浅谈独立院校大学生电子设计竞赛的组织与实践
“学研赛”并重的计算机类双创型人才培养模式探索
以学科竞赛为抓手,培养学生实践能力的探索与实践
“以学生为中心”理念下的大学图书馆建设