面向工程教育专业认证的Python程序设计课程改革探索
田 冉,张志昌
(西北师范大学 计算机科学与工程学院,甘肃省 兰州市 730070)[
[摘 要]根据“创新驱动发展”教育方针,针对Python程序设计课程中能力培养及提升学生学习效果和工程应用能力过程中存在的问题,按照工程教育专业认证的要求,提出了工程认证为导向的Python程序设计课程教学能力目标。基于工程教育认证要求,探讨了在Python程序设计课程中不断优化教学目标、完善教学内容、加强实践环节和改进考核方式的具体方法和步骤,并建设了Python程序设计课程的在线课程资源和工程认证为导向的课程案例。通过对学生实践结果进行合理评价,表明此项教学改革激发了学生学习的潜力和动力,在知识能力、学术能力、技术能力和团队能力等标准上基本达成目标,取得了良好的效果。
[关键词]工程认证;课程改革;实践环节
[中图分类号] G642 [文献标识码]B/A [文章编号]1647-9328(2023)-0063-18
引言
近年来,随着我国综合国力不断提升,社会对工程人才的需求也与日俱增。我国在2016年成为国际本科工程学位互认协议《华盛顿协议》会员国之后[],加快了高校工科专业基于国际工程教育理念进行教学改革的步伐,一方面使得我国的高校工科教育将更加规范化、标准化和国际化,另一方面也有助于国际上的工程专业互认,在我国培养国际化工程人才的培养过程中发挥了重要作用。
工程教育专业认证的核心是基于“以学生为中心、以产出为导向”的人才培养目标,并在人才培养的过程中“持续改进”人才培养体系[]。目前一些教师已经开展了工程教育专业认证背景下一些工程类课程的教学改革探索[][]和高校课程评价方法改革与实践[]。软件工程专业有非常强的工程背景,其人才培养目标就是培养具有用软件工程的思想、方法和技术来分析、设计和实现计算机软件系统的能力的学生,其关键是增强学生动手解决实际问题的能力[][]。因此在软件工程专业中的专业课程教育中,无论是专业课程的理论教学,还是实践教学,都应基于工程教育的原则与方法,在实践中深入理解理论,在理论学习中不断实践。
近年来,随着Python语言在软件研发和人工智能领域都有着广泛的应用,而且Python程序设计课程已经成为很多高校工程专业本科生的专业核心课程,也是学生学习人工智能相关算法的基础课程,是激发学生在人工智能领域软件开发的兴趣的重要课程。因此在该课程的教学过程中,需要不断探索课程的线上线下相结合的教学改革模式,分发挥其在课程体系中承上启下的重要作用,持续增强理论教学与实践环节环环相扣、相辅相成的教学方法,从而满足工程教育认证的要求。
1 教学中存在的主要问题
目前软件工程专业的Python程序设计在教学过程中主要存在有以下四个方面的问题:
(1)课程内容覆盖面广、但思政教学内容不足。
Python程序设计是一门学科导引类课程,因此其涉及范围广、其涵盖知识面宽,包含了比如知识图谱、进化算法、深度学习等内容。然而这些内容无论是哪一部分都足以支撑一个学期的讲授,因此该课程内容多且难。但是目前无论是在课程内容、案例和项目实践等方面都缺乏与思政教学内容相结合,亟需建立“思政素养+技术能力”的过程化评价方法和培养持续学习的意识[][]。
(2)理论与实践结合不足、教学形式方法单一。
Python程序设计是一门理论与实践相结合的课程,因此无论是讲授的各个方面都需要将理论与实践相结合。如果课程的讲授仅依赖传统的教材学习和课上讲解进行“填鸭式”或者“满堂灌”等方式的教学,教学实施上的重理论轻实践,缺少直观、形象的教学手段,同时也很难让大多数学生掌握其核心要素,也不利于课程教学目标的达成[]。
(3)课程中编程引导不足、工程认证导向深入不够。
Python程序设计是一门需要大量编程实验的课程,该课程中包含了很多的理论、公式和模型,学生需要通过大量的编程实验来验证理论和模型的结果,从而加深对理论和模型的理解。但是对软件工程专业的大三学生而言,大部分的学生的编程训练不够,此时编程思维也尚未形成,对于课后的编程作业往往不知道从何做起,作业的质量和完成度都远远不够,因此亟需工程教育专业认证下的Python程序设计课程群教学改革[]。
(4)项目实践效果不好、学生兴趣不足。
Python程序设计是一门理论与实践相结合的课程,课程中理论多、模型多、实例多。但是这些实例往往是一些比较经典的小型案例,学生缺乏将其和实际生活中案例相结合的思考和应用相关技术解决实际问题的能力。当学习内容和现实问题脱节时,会导致学习时学生感觉已学会,但是又不知道如何用、怎么用的尴尬局面出现,此时学生的学习目标不清晰、学习的热情和兴趣也会随之消失,因此亟需依托一些在线平台,开展Python程序设计课程“线上+线下”混合式教学改革与实践,增强师生之间的互动,提高学生的学习兴趣和实践能力,最终达到提高教学质量的目的[]。
2 工程认证导向下的课程改革
工程教育专业认证基于OBE(Outcome Based Education)的教育理念,以成果为目标导向,强调以学生为本,采用逆向思维的方式进行的课程体系的建设。为了贯彻这一理念,需要以学生的能力培养和社会需求为目标,对Python程序设计课程的教学目标、教学内容、实践环节和考核方式等环节进行反向设计和不断迭代优化。具体的课程改革思路如下图所示:
图1 课程改革基本思路
2.1 优化课程教学目标
课程的教学目标是专业人才培养方案和学生毕业要求的具体体现,也是课堂教学内容组织和评价教学质量的主要依据,它既反映了专业人才的培养方案和学生的毕业要求,也为课堂教学内容的组织和教学质量评价提供了明确的方向。为保证教学质量与时俱进,持续的优化和调整是至关重要的。因此,在教学过程中持续不断优化课程教学目标是工程认证为导向的课程改革中的重要环节,需要改变以往由学校教务或者院系制订培养方案后就不再改变的形式。以往由学校的教务部门或特定院系制定了固定的培养方案,这些方案一旦制定便很少做出改动。这种传统方法对于稳定的学术环境和长期不变的工业需求是有效的。但随着技术和行业的迅速变化,这种方法变得越来越不适应。针对这一问题,在传统培养目标和课程教学目标的基础上,可以采用以下解决方案:
(1)充分考虑用人企业的需求:企业是学生的主要雇主,它们对技能和知识的实际需求能为课程目标提供实用的建议。
(2)参考校友的反馈:作为已经在行业中工作的前学生,校友能够从实际经验中提供关于课程内容和技能培养的宝贵建议。
(3)遵循工程认证标准:这些标准确保了课程内容符合行业最佳实践和国家/地区的专业标准。
2.2 完善课程教学内容
课程教学内容是教学目标达成的主要手段,因此在教学目标不断优化的基础上,课程教学内容也应随之不断完善。因此在Python程序设计课程中,可以从以下五点进行不断完善:
(1)编程思想和课堂思政相结合。Python程序设计中的经典算法往往具有比较深刻的哲学思想在其中,因此可以在课程章节前引入传统国学思想,增强人文精神,培养学生爱国主义情怀。
(2)重点难点和代码验证相结合。本课程在每个重要知识点视频讲完后,都会有实际的编程实操视频。学生可以在老师的带领下,一起编写代码。同时在已编代码的基础上,完成相应的课后作业。
(3)学科前沿和科普知识相结合。由于人工智能相关算法的发展十分迅速,不断有新的理论算法提出,经典数据集的最优结果也一再被刷新,因入人工智能相关成果对于激发学生对Python的学习兴趣非常有效。因此本课程的目的不仅是让学生能够掌握编程技术的基本原理,而且通过不断引入最新的理论、算法、模型,让学生了解人工智能的学科前沿。与此同时,在网络平台上有很多科普类的视频和文章可以作为本课程课外的重要补充。
(4)课程教学与项目教学相结合。Python程序设计课程内容覆盖面广、算法应用点多,如果采用传统教学方式会导致课程中各环节之间的离散割裂和不成体系,学生往往学了后面忘了前面,整体学完后印象不深。因此需要以具体的生产应用型项目为背景,以算法在项目中的具体应用为中心,通过教学内容不断深入和优化项目应用,以学生为主体、教师辅导的形式开展多样化的项目建设,让项目贯穿课程教学的全程。
2.3 加强课程实践环节
课程实践环节是工程教育认证中“以产出为导向”的重要抓手之一,学生通过课后练习和项目实践不断加强动手能力和解决复杂工程问题的能力。主要从以下三点入手:
(1)基于在线平台的线上线下相结合。本课程主要采用计算机学院购建的希冀平台发布作业、实验和考试。通过在希冀平台提供的在线编程环境,让学生可以随时访问希冀平台进行在线编程开发、完成作业、编写实验和参与考试,而无需耗费大量时间、金钱和精力在学生端本地搭建开发环境。同时在希冀平台上学生也可以反复观看课程视频,并提出疑问。老师在希冀平台上查看和批改作业,把握课程进度,回复学生问题。
(2)理论知识和项目实践相结合。由于python在人工智能和软件开发中的应用日益广泛,本课程也成为人工智能和相关软件研发课程的重要前置课程之一,因此本课程在讲述理论的同时,还需要带领学生开发多个与生活相关的综合性案例项目。通过带领学生开发这些项目,让学生获得软件项目的实操经验,帮助学生更好地理解知识和应用技能。
(3)个人成长和团队协作相结合。一个完整的软件项目往往需要多人协作才能在有限的时间内完成,因此需要采取小组分工协作模式,一方面培养学生团队协作精神、集体荣誉感、团队责任感,提高学生的综合实践能力;另一方面将唯物主义辩证法与社会主义核心价值观贯穿团队建设的始终,突显人文精神、工匠精神与科研精神的凝练,从技能、人文、政治多个维度培养学生正确的世界观、人生观、价值观。这样一来,课程除了有传统的技术和学术技能的学习外,还在课程中加入了团队合作、批判性思维、沟通和项目管理等软技能相关内容的培养和训练。
2.4 改进课程考核方式
课程考核是检验上述教学目标达成度、教学内容完成度和教学方法效果优劣的最直观的反映。不断改进的课程考核方式主要从以下两点入手:
(1)全流程、多样化的考核方式。有别于传统期末笔试成绩或者实验报告成绩的方式,采用了淡化笔试成绩,强化过程考核的方式,通过全过程、全方面、多样化的考核,以期达到工程教育认证导向下的教学培养目标。通过贯穿课程内容的项目实践考核制度,采用分阶段、分项目的形式,了解学生的知识掌握情况。具体包括:项目达成度成绩(20%)+实验报告成绩(20%)+团队小组成绩(10%)+课堂表现(10%)+期末考试成绩(40%)。这些考核部分的内容和占比权重并非一成不变,而是可以结合学校具体要求、本课程目标和学生能力培养等情况等不断改进。
(2)以学生能力培养为核心的考核方式。基于计算机学院购建的希冀教学科研一体化平台,以考察学生的独立思考、调研、编程和团队合作能力为重点,按照不同的课程阶段构建考核方式和内容。此类考核项目以最优化问题为主,每位同学的实验结果类似但又不完全相同。同时不断引入天池、Kaggle等竞赛项目,让学生自行选择感兴趣的项目,进一步激发学生的学习兴趣。在这一考核过程中,不断培养学生的问题分析、动手实践、团队协作和表达等能力。
3 结语
以工程教育认证为导向的Python程序设计课程改革通过持续不断的优化教学目标、完善教学内容、加强实践环节和改进考核方式,有利于改变课程理论较多、课程内容枯燥、学生兴趣缺乏的现状,也有利于激发学生的学习兴趣,增强学生的动手实践能力,从而提升教学质量,让学生学有所得、学以致用。西北师范大学计算机科学与工程学院的软件工程专业学生在Python程序设计这门课程改革后,一方面在个体竞赛和团队竞赛方面不断取得更好的成绩,另一方面学生对这门课的正向反馈也不断提高,证明了以工程教育认证为导向的Python程序设计课程改革的有效性和实用性。
基金项目:西北师范大学2022校级一流本科课程:线上线下混合式-Python程序设计
作者简介:田冉(1981-),男,土家族,河南南阳人,工学博士,西北师范大学计算机科学与工程学院副教授,研究方向为数智化供应链;张志昌(1976-),男,汉族,甘肃天水人,工学博士,西北师范大学计算机科学与工程学院教授,研究方向为自然语言处理。
Exploration of Python programming curriculum reform for engineering education professional certification
Tian Ran, Zhang Zhichang
(School of Computer Science and Engineering, Northwest Normal University, Lanzhou City, Gansu Province 730070)
Abstract: According to the educational policy of "innovation-driven development", aiming at the problems in the process of ability cultivation and improving students' learning effect and engineering application ability, according to the requirements of engineering education professional certification, the goal of teaching ability of engineering certification is put forward. Based on the requirements of engineering education certification, the paper discusses the specific methods and steps of continuously optimizing teaching objectives, improving teaching content, strengthening practical links and improving assessment methods in Python programming course, and builds online course resources and engineering certification oriented course cases. Through the reasonable evaluation of students 'practice results, it is shown that this teaching reform has stimulated the potential and motivation of students' learning, and basically achieved the goal in the standards of knowledge ability, academic ability, technical ability and team ability, and achieved good results.
Key words: engineering certification; curriculum reform; practical link
参考文献:
[1] 朱露,胡德鑫,何桢,顾佩华.国际工程教育专业认证体系的发展与改革——基于《华盛顿协议》与欧洲工程教育专业认证体系的对比分析[J].高等工程教育研究,2022(04):38-51.
[2] 王永泉,胡改玲,段玉岗,陈雪峰.产出导向的课程教学:设计、实施与评价[J].高等工程教育研究,2019(03): 62-68.
[3] 杨成佳,李鑫.工程教育认证背景下计算机网络混合式教学改革探索与实践[J].吉林工程技术师范学院学报,2023,39(05):84-86.
[4] 张磊,何杰,齐悦,王建萍,郑榕,单柳昊.工程认证背景下计算机组成原理课程设计改革[J].实验技术与管理,2021,38(04):179-185.
[5] 刘士亮,毛德强,于翠松等.工程教育认证驱动下课程目标达成度评价方法研究[J].教育教学论坛,2023(04):20-25.
[6] 廖勇,周世杰,汤羽,管庆.面向新工科的软件工程专业核心课程体系建设[J].高等工程教育研究,2022(04): 10-18.
[7] 张锦,蔡美玲,窦亚玲,刘宏,毛新军.面向工程教育认证的三阶段迭代式软件工程人才培养模式研究[J].计算机工程与科学,2018,40(S1):118-123.
[8] 陈洁.文科Python程序设计课程的思政目标建设[J].中国现代教育装备,2023(11):111-112.
[9] 孙艳红.Python语言程序设计课程思政的策略研究[J].教师,2022(13):6-8.
[10] 张铭璐,王丽丽.Python程序设计课程“线上+线下”混合式教学改革与实践[J].信息系统工程,2023(07):153-156.
[11] 龚俊,吴福英,柯胜男等.工程教育专业认证下的程序设计课程群教学改革[J].计算机教育,2023(06):109-115.
[12] 张铭璐,王丽丽.Python程序设计课程“线上+线下”混合式教学改革与实践[J].信息系统工程,2023(07):153-156.