APP下载

新工科背景下高级语言程序设计课程智能化教学研究

2022-03-07石文兵方贤进朱晓娟蒋社想

软件导刊 2022年2期
关键词:程序设计工科智能化

石文兵,方贤进,朱晓娟,蒋社想

(安徽理工大学计算机科学与工程学院,安徽淮南 232001)

0 引言

新工科建设是积极应对新一轮科技革命与产业变革,支撑创新驱动发展国家战略,引领我国高等教育改革创新、推动我国迈向高等教育强国的重要战略举措。随着工业4.0 时代的到来,人工智能的相关技术逐渐融入各个领域,取得了快速发展。新工科背景下的高等教育备受关注,人工智能融入高等教育是时代发展的必然趋势,2019年5 月,联合国教科文组织在《北京共识——人工智能与教育》中明确提出,要构建基于人工智能的开放灵活的教育体系,推动人工智能与教育、教学的系统性融合。

高级语言程序设计课程教学目标是让学生掌握计算机程序设计语言,能熟练阅读、设计、编写和调试计算机程序,课程的重要性不仅体现在常规意义上的程序编制,还要引导学生转换求解问题的思维方式,培养学生的计算思维能力。新工科背景下应用型、技术技能型高素质人才的培养需求对高级语言程序设计教学提出了更高要求,要以面向问题求解的“程序设计”为核心,着力提升学生的工程实践能力。为提升高级语言程序设计课程的教学质量,培养高素质复合型计算机类新工科人才,相关学者进行了深入的教学改革研究,如文献[4-5]对程序设计线上教学的设计和实践进行了研究;文献[6-7]根据金课的导向和“两性一度”建设标准,从教学模式设计、教学资源建设、教学方法改进、实践教学强化、考评机制建设等方面进行了探索与实践;文献[8]对工程教育专业认证下程序设计类实验教学进行了改革和实践;文献[9]以“一维数组”为例进行了程序设计智慧课堂教学设计,推动教学理念、方法、技术、方式、模式变革。目前,部分高校针对高级语言程序设计课程进行了智能化教学建设与探索,但由于教学平台软硬件条件和智能技术推进融合进度的差异,尚未构建较为完善的智能化教学体系。与上述教学改革方法不同,本文以新工科人才培养目标为落脚点,将人工智能的相关技术与高级语言程序设计教学进行融合创新,提出一种高级语言程序设计的智能化教学框架和实施方案,以促进教学质量的全面提升和课程的可持续发展。

1 高级语言程序设计教学待解决的关键问题

在当前信息化技术促进产业变革的智能化时代背景下,高等教育需要培养能应用自然之理进行应用创新的新工科人才,这就要求传统的工程教育急需向新时代的工程教育变革。目前,高级语言程序设计的教学模式还有很大的改革创新空间,存在一些待解决的关键问题,主要表现在以下几个方面:

(1)重理论轻实践,案例驱动的工程实践欠缺。高级语言程序设计既需要学生掌握程序设计的语法规范、程序设计结构与方法等理论知识,又需要学生通过实践练习强化理论知识理解。传统教学模式更倾向于程序设计语法规范的掌握,作业完成情况和单元测试等理论知识教学达成度考核。实践教学主要是课程实验,且课程实验大多由验证性实验构成,设计性和综合性实验比例较小,特别是基于案例驱动的工程实践严重欠缺,学生缺少基于工程应用背景的问题思考和探索性设计与实践,团队协作意识淡薄,模块划分、分工协作、系统整合以及汇报答辩等能力较差,案例驱动的工程实践欠缺导致学生程序设计应用与创新能力不足。

(2)课程考核评价机制落后,精细化教学反馈不足。优秀的课程考核评价机制对教学效果的提升具有重要的促进作用,贯彻落实教育部“以本为本”的教育理念更需要以科学合理的课程考核评价为导向。高级语言程序设计课程的成绩考核通常由平时成绩和期末考试成绩两项加权构成,平时成绩是学生卷面考试无法测试考查的科学补充,并非期末考试成绩的“调节剂”。传统教学模式下平时成绩构成比较单一,通常由考勤、课堂表现、作业完成情况等组成,再加上平时成绩数据可获取性和全面性的条件限制,使得平时成绩很难全面、科学、客观地反映学生真实的平时表现,在没有数字化和智能化手段参与下,课程考核机制相对落后,无法获得精细化的教学反馈,不能准确全面地考查学生的学习过程,不能及时优化调整教学方法。

(3)教学总结分析深度不够,持续改进驱动力不足。持续改进是工程教育专业认证的一项核心内容,良好的持续改进机制对提升高级语言程序设计教学效果和学生专业技能具有重要作用。高级语言程序设计的教学总结与分析是持续改进驱动力的重要来源,如果没有智能化的数据挖掘分析作为支撑,教学总结分析的深度和维度就无法达到理想效果。很多教学总结只是形式上的书面报告,通常只针对当前教学班级进行简单的成绩统计分析,缺少课程目标达成度的计算分析,缺少教学活动多维特征提取,缺少历史教学数据的对比参照,导致教学总结分析深度不够,倾向于形式,忽视了深层次教学决策挖掘,课程教学持续改进驱动力不足。

(4)教学方式循规蹈矩,学生个体差异关注不够。尊重教育规律,关注学生的个体差异性,以学生为中心,使学生积极主动地参与学习活动,促进学生个性化发展,这既是新时代工程教育改革的目标,也是教育理念的回归。目前,高级语言程序设计课程大多按教学班级集中授课,按制定好的授课计划,讲授相同的章节内容,保持相同的学习进度,循规蹈矩的教学方式很难兼顾学生个体的差异性,提出更具针对性的个性化指导。在智能化教育快速崛起的时代背景下,以学生为中心,关注学生个体差异性,推行因材施教的教学理念正逐步深入人心,但还缺乏可操作性和系统性教学框架的支撑,针对学生个体差异性的个性化教学指导落实效果不佳,教学方式循规蹈矩,学生个体差异关注不够的现象比较普遍。

综上所述,新工科背景下的高级语言程序设计课程教学还存在一些待解决的关键问题,不能很好地适应新工科人才培养需要,急需通过教学的变革创新开拓工程教育改革的新路径。本文以人工智能与信息化教学相互融合为切入点,构建高级语言程序设计的智能化教学框架,并结合课程实际,因地制宜开展智能化教学的探索与实践,通过智能教育的创新融合促进课程教学质量的全面提升,使计算机类高素质新工科人才的培养质量再上新台阶。

2 高级语言程序设计智能化教学框架设计

人工智能在各应用领域的渗透融合是加快建成我国人工智能领域自主创新“高地”的必然之路,人工智能与教育教学的创新融合将成为新时代教育改革的发展趋势,在“新工科”背景下推进人工智能技术和信息化教学融合,研究探索高级语言程序设计的智能化教学框架具有重要意义[13]。

高级语言程序设计课程作为数据结构和算法设计与分析的前导课程,以程序设计基本规范和方法为基础,以课程教学目标和毕业要求为导向,以培养计算思维能力和程序设计素养为核心。结合目前安徽理工大学高级语言程序设计教学的软件和硬件条件设计的智能化教学框架如图1 所示,主要包括教学流程信息化、教学管理数字化和教学决策智能化3个层次,如图1 所示。

Fig.1 Intelligent teaching framework of high level language programming图1 高级语言程序设计智能化教学框架

各层次主要功能如下:

(1)教学流程信息化。教学流程信息化是高级语言程序设计智能化教学的重要基础。以新工科人才培养的教育思想为指导,以现代信息技术为手段,教师和学生通过信息化平台终端开展教学活动,完善教学资源建设,重构教学内容,做好信息化教学设计,将理论教学、上机实验和综合实训相互结合,在超星泛雅和程序设计智能评判系统等信息化教学平台建立各教学流程的详细记录,优化教学过程,提高教学效率,同时为课程的数字化教学管理提供支撑服务。

(2)教学管理数字化。高级语言程序设计的数字化教学管理是以信息化教学为基础,对课前预习、考勤签到、课堂讨论、问题抢答、随堂练习、作业评判、章节测试、实验教学、综合实训、专题竞赛、辅导答疑和问卷调查等教学环节的数据进行收集、处理和整合,使课程的数字资源得到充分优化和利用,构建高级语言程序设计教学全程数字化存储与应用的管理模式,形成完备的教学活动数据集,为课程教学的考核评价、总结分析和持续改进提供有力的数据支撑,为高级语言程序设计的智能化教学决策做好铺垫。

(3)教学决策智能化。高级语言程序设计课程的智能化教学决策是人工智能相关技术和数字化教学管理的深度融合,将智能计算和教学数据重构为智能决策模型,推动高级语言程序设计课程从数字化到智能化跨越。教学决策智能化主要包括数据分析和智能计算两项核心内容,其中教学数据是基础,数据分析和智能计算是核心,两者协同工作、相互配合,实现精细化的动态教学反馈,为学生个体差异性的关注提供技术支撑,促进课程的持续改进。

3 高级语言程序设计智能化教学实施

高级语言程序设计智能化教学目的:在数字化教学管理和智能计算融合的基础上提升课程教学的科学性。以教学数据为支撑,以持续改进为驱动力,实现教学过程从信息化到数字化和智能化的创新变革,助力新工科背景下高素质计算机应用技术人才的培养。目前,安徽理工大学高级语言程序设计课程已获批安徽省教学示范课项目,结合课程建设实际,将理论教学、上机实验以及综合实训协同配合,在高级语言程序设计智能化教学框架引领下,科学有序地开展智能化教学,全面提升课程教学质量,促进课程持续改进和不断发展。

3.1 重构教学资源,完善教学设计

教学流程信息化是在信息化教学平台下科学规范地开展教学活动,重构教学内容,优化设计教学活动,其实施过程如图2 所示。对照教学大纲和授课计划,按知识目标、能力目标和素养目标要求重构教学内容,从识记、理解和应用3个层面进行教学设计,广泛开展启发式、交互式和案例驱动式教学,使课程理论与工程实践相向而行,融合互补。同时,提取章节知识点融入信息化互动教学,深入开展课堂讨论、随堂练习、问题抢答、课堂问卷等教学活动,教学内容的重构使章节知识点融入信息化教学的课堂活动,从而形成可分析可计算的教学数据,为后续智能化教学分析和决策提供重要的数据来源,用信息化手段全程记录完整的教学过程,为智能化教学的数据分析与决策做好铺垫。

Fig.2 Reconstruction of teaching content and teaching design图2 教学内容重构与教学设计

3.2 教学管理数字化,提升教学数据的研究价值

教学管理数字化是教学流程信息化到教学决策智能化的中间阶段,教学信息的数字化管理对人工智能与高级语言程序设计教学的融合至关重要,对提升课程教学数据的应用研究价值意义重大。数字化教学管理是对信息化教学流程的数据采集、处理与整合,构建精细化、多维度教学过程的数字化记录。在教学流程信息化基础上,高级语言程序设计的数字化教学管理可建立考勤签到、课前预习、课堂互动、课程作业、课程实验、实训与竞赛、辅导答疑、问卷调查等教学环节核心数据。在两学期的试点实施过程中,学生使用学习通APP 参与课堂活动的记录数为16 134,作业提交记录数为2 292,程序设计在线评判提交记录数为4 992,存储记录了教学过程中学生的学习态度、学习风格、目标达成度以及学习效果个体差异等教学信息,具有重要的教学研究价值。及时分析各教学章节的知识目标、能力目标和素养目标的达成度,使课程的精细化教学反馈具备技术可行性,准确全面地考查学生的学习过程,科学、客观地反映学生真实的学习状态,进而构建良好的课程考核评价机制,在科学合理的课程评价导向引领下实现教学效果的逐步提升。

3.3 加强师资培训,推进智能技术与教学的深度融合

高级语言程序设计智能化教学的核心是数据分析和智能计算,对教师的综合素质提出了更高的要求,需要教师在科学、规范、娴熟地开展信息化教学基础上融入人工智能的相关技术。因此,加强课程组师资的智能化教学专题培训,推进智能技术与教学的深度融合成为一项重要工作。由于学科专业的优势,高级语言程序设计课程组很多教师从事过人工智能、智能信息处理、数据挖掘等相关方向的科学研究,这为智能技术与课程融合创造了良好条件。教师参加高校人工智能课程研修班的学习,通过Pandas、Matplotlib 以及Pytorch 等技术实现教学数据处理、教学数据分析与智能计算工作,积极开展智能化教学调研、智能化教学核心技术专题研讨、智能化示范教学等教学研究活动,着力建设高级语言程序设计省级示范课程。目前,已整合超星泛雅和AustOJ 平台的高级语言程序设计教学数据,构建了数据可视化和智能计算模型,推进智能技术在课程教学中的融合创新,用智能技术实现教学的多维度分析决策。以数据分析和智能决策作为课程持续改进的驱动力,促进新工科人才培养质量再上新台阶。

3.4 分级定制教学资源和个性化推荐学习

国家工程教育专业认证倡导“以学生为中心,以产出为导向,以持续改进为驱动力”的新工科教育模式,关注学生个体差异性,实施个性化的、针对性的教学指导,是落实以学生为中心理念的重要体现。在多年的高级语言程序设计教学过程中,发现学生的个体差异较为明显,有部分学生在中学阶段就具有较好的程序设计基础,因此分级定制教学资源和个性化的推荐学习十分必要。课程组在教学资源建设时,将其划分为基础、提高和扩展3个层次,并在作业练习、课程实验、综合实训等环节突出分级设计,构建重视基础、促进提高、引导扩展的教学氛围。在教学过程中,通过教学数据重点分析作业正确率高且在AustOJ 平台答题排名位于第一方阵的学生,在AustOJ 平台为其开通课程内容的扩展提升板块,更具针对性地进行自由专项训练和答疑指导,取得良好的教学效果,有21 名学生顺利通过校程序设计竞赛的选拔,进入校程序设计竞赛团队得到了更好的训练和发展。

在信息化教学平台数据支撑下,通过Matplotlib 数据可视化技术和Pytorch 智能框架技术,实现课程章节目标达成度的分析和计算。在学习通APP 终端为章节目标考核不达标的学生点对点推送答疑讲解和适量的达标巩固试题,打破传统教学过程“常规”和“相似”的壁垒,关注学生个体差异,满足个性需求,激发学生参与教学活动的热情,用改革创新促进教学效果提高。

4 高级语言程序设计智能化教学实施效果

在高级语言程序设计智能化教学框架和实施方案引领下,现代信息化教学和人工智能技术的创新融合促进了教学模式从粗放型向精准型和智能型转变,学生学习氛围浓厚,学习热情高涨,为高级语言程序设计的教学注入了新的思想,释放了新的活力。2020-2021 学年,高级语言程序设计智能化教学在2020 级计算机科学与技术班试点实施,并与2020 级智能科学传统教学班进行对比分析,两个教学班学生的课程总体目标达成度评价值散点图如图3 所示。经比较分析发现,智能化教学试点班的课程总体目标达成度明显优于传统教学班。两个教学班的课程分目标达成度比较分析如图4 所示。与传统教学班相比,智能化教学试点班的课程分目标达成度呈上升趋势,智能化教学实施效果良好,提升了课程教学质量。

Fig.3 Comparative analysis of overall teaching effect图3 总体教学效果比较分析

Fig.4 Comparative analysis of course sub-objectives图4 课程分目标比较分析

5 结语

高级语言程序设计的智能化教学是新工科背景下课程改革创新的重要举措,人工智能和高等教育的深度融合是未来教育发展的必然趋势。本文通过分析高级语言程序设计课程待解决的关键问题,设计了一种智能化教学框架。围绕智能化教学框架的体系结构和实施方案,结合课程实际并在教学过程中试点实施,结果表明该项改革方案在课程总体教学效果和课程分目标达成度方面均获得了较好提升。在教学流程信息化、教学管理数字化和教学决策智能化方面取得了较好效果,促进了教学质量的全面提升和课程教学的可持续发展。目前,各类创新性教学改革方案正逐步融入更多的人工智能元素。随着教育理论研究和创新实践的逐步深入,结合课程实际,因地制宜开展课程的智能化教学研究和实践探索,智能化教学成为新工科背景下教学变革创新的升级方向,为新时代中国特色智能教育体系的发展和完善贡献力量。新工科人才培养释放了新的活力,为应对新一轮科技革命与产业变革,提升我国高素质复合型新工科人才培养质量发挥了重要作用。

猜你喜欢

程序设计工科智能化
智能化战争多维透视
印刷智能化,下一站……
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
基于“物联网+”的智能化站所初探
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用
工科研究生教学模式的思考与创新