张寒冰
摘要:在各大高校的课程编排中,C语言程序设计是计算机类及相关专业的必修课程之一,该种编程方法具有严格的语法规范,高校将其作为相关专业学生必须掌握的一项基础语言,旨在培养学生的程序设计素养,但C语言的知识结构复杂,学习难度较大。近年来,我国人工智能领域取得重大突破,诸多智能技术被广泛应用于高校的教育教学中,有利于提高教学效率和质量。本文围绕C语言程序设计的内容、流程等,分析其智能化改革措施。
关键词:C语言程序设计;教育教学;计算机专业;教学改革;改革策略
中图分类号:TP3 文献标识码:A
文章编号:1009-3044(2021)02-0091-02
在信息时代,计算机类专业越发受到社会的重视,C语言程序设计是计算机类专业学生必修的一门基础课程,该学科的教学目的在于,培养学生计算思维能力,并提高学生的程序设计实践能力[1]。在人工智能迅速融入教育改革的现实背景下,如何将其应用于C语言程序设计的教学改革,以推动该学科教学效果的提高,促使教学从粗放型向智能型转变。
1 C语言程序设计智能化教学改革的体系结构
针对C语言程序设计教学的智能化改革来说,其基本思想就是构建信息教育平台以辅助课堂教学,可突破时间、空间障碍,促使学生随时随地通过互联网完成课堂学习,包括课前预习、课堂反馈、作业完成及评判、综合实训实验教学等多种功能模块,该平台以大量教学信息作为基础数据集,不仅能对数据进行可视化分析,还能开展机器学习,进而实现全面、综合的教学动态反馈,不断提高C语言程序设计的教学效果。教学改革的体系结构见图1。
C语言程序设计教学为实现智能化改革,在建立起信息化平台的基础上,还需对教学信息进行智能化分析,进而帮助教师开展课堂决策。信息平台在运转的过程中将产生大量的教学信息,而教师可应用这些教学信息,对学生的学习情况进行多层次、多纬度的挖掘、处理和分析,进而为教学反馈的动态性提供强劲支撑。
2 C语言程序设计智能化教学改革的措施
2.1 整合优质教学资源
为实现C语言的智能化教学改革,必须以教学资源的整合作为重要基础内容,由于C语言的课程内容较为抽象、课程体系较为复杂,为提高学生的学习质量,要求学生在课堂教学前进行课程预习,并进行适当作业练习,以帮助学生初步了解新知识,在此基础上再向学生获取教学反馈,并组织学生进行实验教学、实训教学等,部分高校每年还举办各种程序设计竞赛、程序设计活动等,而这一领域的省级竞赛、国家级竞赛也较多,学生进行实践训练的机会可以说,并不缺少,但是以上教学活动、竞赛活动等开展的前提均是教学资源的有效支持,由此可见,在C语言教学的智能化改革中,设计教学资源的质量极为重要[2]-[4]。在这样的现实背景下,教师可发挥课程小组的力量,以整合学生的思考力、想象力和实践力等,组织学生以分工合作方式,对教学资源进行建设。将各种教学资源与授课计划、教學大纲等进行对照可知,在设计教学资源的过程中,应当以课时作为基本单位,将课堂教学的知识点进行细化,分为识别记忆、理解应用等多个层次,在制作课前预习的教学资源时,就需纳入识记、理解等知识内容,为学生初步了解C语言的相关概念、原理等提供便利;而在课堂教学过程中,教师应当注重对学生计算能力、思维能力的培养,可适当设计一些教学案例,采取案例驱动方式进行实际教学,以加强学生对于各个知识点的记忆和理解[5]。
以C语言程序设计中运算符和表达式的教学为例,教师就可设计一个自然语言转化为计算机语言的表达案例,以案例教学模式给予学生丰富的学习体验,锻炼学生的思维能力。实际教学案例如下:自然语言设定为警察抓嫌疑犯的情境,假设警察抓住了4名嫌疑犯,分别为A、B、C、D,只有1名嫌疑犯是真正的罪犯,在审讯当中A说他不是罪犯,B说C是罪犯,C说D一定是罪犯,而D说C冤枉好人,已知条件为4名嫌疑人中3人所说均为真话,仅有1人所说为谎话,问谁是罪犯?这是一个具有较高难度的逻辑题,需要学生通过逻辑分析、对比分析等寻求答案,若将C语言设计应用于该题的解答中,就会简化解题流程,为学生提供更为巧妙的解题思路,由此,教师将以上自然语言转变为C语言,设定X取值分别为A、B、C、D,若y=3即找到正确答案,通过C语言编写为char x;int y;y=(x<>‘A)+(x==‘C)+(x=‘D)+(x<>‘D);通过以上程序设计,学生就可轻松获取答案,这样不仅能够激发学生的学习兴趣,还能提高学生的学习效果[6-8]。
除此之外,在每次教学活动中教师应当制作相应的问题反馈表,将其与课件一同发布至教学平台中,每一个问题反馈表均与每次课堂教学内容一一对应,通过对反馈表进行整理、分析,便于教师了解学生对于所学内容的掌握情况,以此为教师的课堂教学提供动态反馈,以支持教师持续改进自身工作。C语言课堂教学的反馈示例表见表1。
在作业练习环节中,教师应多引入程序设计题,准备大量的程序输入输出样例,这样就能够通过系统的自动评判功能完成对作业的批阅,不仅能够锻炼学生的C语言编程能力,还能提高作业批阅的效率。对于C语言教学来说,实验教学是重要组成部分,依据实验教学大纲可知,实验操作大致分为三种类型, 即综合性、设计性和验证性,以这三种基本类型对实验运动表进行设计,对实验指导手册进行编写,可提高实验教学的准确性。综合实训指的就是,在完成了C语言的全部教学内容之后,用以提高学生理论应用于实际能力的实践项目,要求学生以团队形式开展模块化设计,通过组内交流、合作等共同完成项目。程序设计竞赛活动是选拔和培养专业设计人员的重要途径之一,在创建C语言设计竞赛的试题库时,可依据实际项目的难易级别进行分类,促使学生分级别、分层次完成练习,进而提高教学目标的达成度,弥补C语言程序设计传统教学模式的薄弱环节[9]。
2.2 构建信息化教学平台
实施C语言智能化教学改革的前提就是构建信息化教学平台,进而为智能化教学改革提供基础数据,用以数据挖掘、分析和整理等,同时也可用于持续改进决策。对于C语言信息化教学平台来说,在线评判系统(OJ)是其核心模块之一,现阶段我国各大高校所构建的信息化平台中已有较为稳定的OJ系统。为更好开展C语言教学的智能化改革,需在OJ系统的基础上积极拓展其他模块,如“课堂反馈”“课前预习”等功能模块,用以信息的发布、管理,在原有OJ系统的基础上进行开发和拓展,实现难度较小。程序设计竞赛、实验教学和综合实训等教学模块可于OJ系统中完成,通过对OJ系统的拓展和开发,即可构建出C语言信息化教学平台。在C语言教学的智能化改革过程中,C语言信息化平台是一个非常重要的实践阵地,将优质教学资源发布至信息平台上,将在很大程度上提升C语言的信息化教学水平,学生可通过互联网随时随地登录系统,将信息平台灵活应用,进而提高学生的学习效率和质量。OJ系统可对学生所完成作业进行自动评判,实验教学栏目则具有详细的实验指导方法、手册等,便于学生翻阅、了解,同时OJ系统还可对学生所编写程序的正确性进行判断,并生成详细的学习记录,便于教师随时掌握学生的学习情况[10]。
2.3 引入智能化教学分析与决策
建设C语言信息化教学平台,不仅能够积累大量的教学信息,将其转化为教学资源,还能极大程度提高教学信息化、智能化水平。对教学进行分析和总结,是优化课堂教学的一个有效途径,C语言教学的智能化改革,将推动国家工程教育专业认证倡导的先进理念发展和推广。对于各大高校来说,教学C语言程序设计课程的教师大多具有较高的专业水平,很多教师除教学工作外,还从事着数据挖掘、人工智能和大数据等领域的研究工作,这也为C语言教学的智能化改革创造了有利条件,同时也体现出科研与教学的相互促进作用。对于C语言教学的智能化改革来说,其所需完成的主要任务就是,教学分析与教学决策,C语言信息化教学平台在其运行过程中,将产生大量教学数据,这部分数据所涉及的范围较广,可全面反映学生的学习情况、效果等。在人工智能应用领域,最为常用的一种编程语言就是Python,其中所涉及的诸多模块,如pandas、numpy、matplotlib等均发挥出了数据分析、处理、建模等强大功能。应用教学分析可帮助教师了解学生是否完成课前预习、是否提交作业以及作业完成的质量高低等,还可对学生作业完成是否出现抄袭进行判断[11]。在综合实训模块当中,其所用到的数据分析功能,旨在反映学生的思维能力和实践能力,程序设计竞赛的排名通国际情况,可应用于选拔ACM程序设计竞赛的选手。智能化的教学分析,可帮助教师及时发现课堂教学当中存在的盲点和不足,并将分析结果同时推送给教师和学生,有利于师生沟通、交流等。Python语言中的sklearn模块具有较为强大的机器学习算法功能,其训练集内容是教学历史数据,依据该训练集可构建出科学决策的计算模型,例如采取机器学习算法综合学生多方面表现,可计算出学生的实验成绩、平时成绩等,帮助教师做出更为合理的教学评价,同时,依据学生在信息化平台上进行学习的综合表现,可对学生的期末成绩进行预测,并依据学生的作业完成情况,分析学生的薄弱点所在。由此可见,人工智能技术应用于C语言程序设计教学改革中,将为该学科的教育教学注入新的思想理念,并为教学持续改进提供强大驱动力。
3 结语
C语言程序设计教学的智能化改革是传统教学与人工智能技术的有效融合,通过引入新的教学工具、教学方法等,促使该课程的教育教学由粗放型转变为智能型,其主要内容包括建设教学资源、构建信息化教学平台等,可实现智能化教学分析、教学决策等,促使各大高校为社会培养出更多的C语言专业型人才。
参考文献:
[1] 贾晓琪,闫俊伢.基于对分课堂的《C语言程序设计》课程实践教学改革研究[J]. 办公自动化,2019,24(24):30-31,40.
[2] 罗颖,张超,杨秋菊.基于超星学习通的智慧课堂教学模式研究——以《C语言程序設计》课程为例[J].才智,2020(2):154.
[3] 张翠平,赵晖.基于“学习成果导向”理念的教学研究——以C语言程序设计课程为例[J].计算机教育,2020(3):153-156,161.
[4] 郝海妍.基于SPOC的混合教学模式在高职《C语言程序设计》教学中的应用探索[J].教育现代化,2020,7(33):148-151.
[5] 李文芳.智慧学习环境下中职生学习动力激发策略——以《C语言程序设计》课程教学为例[J].通讯世界,2018,25(12):283-284.
[6] 王贵玲,李国斌.基于微课的混合教学模式在继续教育教学中的应用研究——以“C语言程序设计”为例[J].无线互联科技,2018,15(22):95-97.
[7] 张俊友,王凡予,王树凤. 数学建模思想在交通工程“C语言程序设计”教学改革中的应用[J].黑龙江教育(高教研究与评估),2018(12):15-17.
[8] 朱卫东,乔良才,乔舒云.基于超星慕课平台下课堂教学环节重构的研究——以C语言设计教学为例[J].电脑知识与技术,2018,14(3):160-161.
[9] 童威,黄启萍.精品课程网站建设方案及对教学的思考——以C语言程序设计课程为例[J].安徽电气工程职业技术学院学报,2018,23(4):107-110.
[10] 张延亮,康国栋,周清平.工程教育认证标准视角下软件工程专业课程教学改革探索与实践——以“C语言程序设计基础”课程为例[J].煤炭高等教育,2018,36(5):117-121.
[11] 刘长琦.高职院校计算机程序设计类课程教学改革——以朝阳师范高等专科学校为例[J].辽宁师专学报(自然科学版),2018,20(4):52-54,60.
【通联编辑:张薇】