人工智能时代下“C语言程序设计”公共课教学改革探索

2024-05-21 11:19:08陈鸿
科技资讯 2024年4期
关键词:C语言程序设计公共课C语言

陈鸿

摘  要:为了非计算机专业学生能够更好地学习“C语言程序设计”公共课,在人工智能时代下,需要不断更新课程教学内容,将前沿科学融入其中,建设对应的在线课程资源,合理运用混合式教学模式,改革考核方式,培养学生的计算思维能力,让非计算机专业学生运用程序设计语言解决实际问题,更好地服务于专业,不断提升学生的创新能力和综合应用能力。

关键词:人工智能  C语言  公共课  教学改革

中图分类号:TP312.1-4;G642

Exploration of the Teaching Reform of the Public Course of "C Language Programming" in the Era of Artificial Intelligence

CHEN Hong

Hefei Normal University, Hefei, Anhui Province, 230001 China

Abstract: In order to allow students in non-computer majors to better learn the public course of "C Language Programming", in the era of artificial intelligence, it is necessary to constantly update the teaching content of the course, integrate cutting-edge science into it, build corresponding online course resources, reasonably use hybrid teaching modes, reform assessment methods, and cultivate students' computational thinking ability, so as to enable students in non-computer majors to use programming language to solve practical problems, better serve their professions and continuously enhance their innovation and comprehensive application abilities.

Key Words: Artificial intelligence; C language; Public course; Teaching reform

近年來,随着人工智能的快速发展,相关技术在各个行业的应用越来越广泛。2017年,国务院发布了《新一代人工智能发展规划》,提出加快人工智能高端人才培养,建设人工智能学科,发展智能教育[1]。在人工智能时代背景下,学校需要培养适应企业需求的应用型人才,与时俱进,教育需要与人工智能技术不断融合,跟上时代发展步伐。

人工智能与信息化引发“人工智能+教育”的兴起[2],在人工智能建设背景下,教学改革势在必行。在教学内容、教学方法、教学模式等方面都需要进行适应人工智能时代发展需求的改革。首当其冲的是教学内容的更新与丰富。特别是计算机类课程,课程内容要紧跟科技发展的脚步,让学生及时了解科技发展动态,对自己的专业发展方向有更清晰的认识,为后续专业课程的学习打下良好的基础。在教学过程中,要与智能化教育平台进行很好的结合,促进学生提升自主学习能力和应用技能。

“C语言程序设计”[3]公共课作为一门通识必修课,针对非计算机专业的同学展开教学。通过该课程的学习,不仅为后续专业课程打好基础,也是通过课程学习培养学生的计算思维能力,增强学生的应用能力和创新能力[4]。但是C语言学习难度不小。由于语法是基础知识之一,需要进行系统学习,但是C语言的语法较多,内容较复杂,学生在学习过程中容易产生畏惧心态。而语法知识作为重要基础知识之一,不能跳过其学习。如何让学生更好地学习语法知识,从而为后续编程能力的培养打好扎实的基础,特别是让学生将课程知识与人工智能技术进行深度融合[5],是教学设计思考的重点。

1 “C语言程序设计”公共课教学现状

“C语言程序设计”课程的传统教学模式以教师授课为主,学生自主学习能力不足,学习较被动。随着混合式教学模式的引入与运用,学生自主学习能力在不断提升。由于学生来自不同专业,为了更好地适合教师的教和学生的学,根据专业的应用需求和学生的不同基础,需要调整混合式课程教学模式[6],让学生更快地适应课程教学内容,掌握程序设计基础知识。

线上教学资源的建设是教学过程中的重要环节之一。通过教学资源建设[7],与学生进行有效的互动,辅助学生课下更好地学习本课程知识。目前教学资源的建设虽然在不断更新,但是资源的全面性和针对性还不够强[8],与人工智能时代新兴技术的融合程度还不够深入。

在考核方式中,“C语言程序设计”公共课由“平时成绩”+“实验成绩”+“期末成绩”三部分按比例合成总评分,对学生成绩进行最终评定。虽然在平时成绩的构成中,已经加入过程性考核进行合成,但是考核方式不能对学生进行全方位的评价。需要适当融入新的考核元素,加大过程性考核,重新调整各部分比例分布,更好地验证学生的学习效果。

2 “C语言程序设计”公共课改革方法

在人工智能大环境下,“C语言程序设计”课程需要与时俱进,在教学内容、教学模式、考核方式等方面做相应的改革,提升学生的创新能力和综合应用能力,培养学生的应用技能,适应新时代人才发展需求。

2.1  专业融合的教学内容设计

“C语言程序设计”公共课针对不同专业的学生展开教学,为学生后续的专业课做好基础准备工作。在人工智能时代,计算机技术作为重要技术之一,发挥着极大的作用,这也对学生综合能力的培养提出了更高的要求。学生能够将人工智能运用到自己所学专业,为专业服务。在课程内容中,加入与C语言相关的人工智能应用案例,拓宽学生的知识面,提高应用技能。教师也可以将自己科研中的真实案例融入课程内容中,帮助学生更好地理解和掌握课程知识。通过分组讨论、提交课程小论文等形式调动学生学习的积极主动性。选题可以较灵活,结合自己专业进行课程内容的相关探讨,鼓励学生运用专业知识解决人工智能相关的实际问题,将人工智能和所学专业充分融合。

授课过程需要基于授课专业的差异,结合专业特征更新“C语言程序设计”公共课的教学理念,改变教学模式,将人工智能相关技术融入教学设计中,根据不同专业学生的课程特点和专业应用需求进行教学工作的完善。在讲授教材内容时,设计专业相关的人工智能技术相关案例,对教学重难点进行调整;在教学过程中,对知识点导入、案例讲授、实验操作等要与学生专业结合起来,提高知识点的实用性;根据学生专业特点,重点介绍人工智能技术对专业的影响力和应用性,培养学生运用计算机先进技术解决专业问题的能力。

2.2  在线课程资源的综合建设

网络教学平台有许多选择,近几年课程采用学习通授课比较多,使用较为熟练,学生容易操作,互动效果较好。在该平台上建立和拓展课程资源易于实现。因此选择学习通这款功能丰富、简单易用的软件,科学地引入移动教学App,让学生积极主动地参与学习, 可以达到较好的教学效果。针对学生所学专业的不同,设计出具有阶段性、层次性的线上资源,进行教学视频、知识点测验、教学课件、教学支撑材料等课程资源的设计,并及时对课程资源进行更新和优化。着重将人工智能时代的新兴技术加入课程资源建设中,根据学生专业特点,将与专业应用结合度较高的技术加入课程视频和课件中,并将相关的企业应用案例引入平台详细介绍,让学生对学习“C语言程序设计”的积极性增加,真正理解该门课程与专业的紧密结合性,促进学生主动学习,让学生学以致用。

重点进行测试题库的建设。题库的建设质量对学生的学习效果影響较大。好的测试题让学生更准确地了解自己对知识点的掌握情况,教师通过错题的统计与分析,对学生进行有针对性的教学调整,帮助学生更好地吸收所学知识,提高学习效率。增加常见问题模块,将往届学生常问的问题进行汇总,按章节进行划分,在新同学遇到类似的问题时可以直接在常见问题解答模块寻找答案,提高教师的工作效率和学生的学习效果。

2.3  学习通与对分课堂混合式教学模式

“C语言程序设计”公共课涉及不同专业的学生,为了更好地掌握学生的学习情况,需要设计好混合式教学模式,提高学生的学习效率。线上学习主要运用学习通平台的资源,教师与学生进行有效互动,课堂学习中,采用二分课堂的教学模式,让教师更有针对性地根据学生的学习情况进行教学重难点的调整和讲授,让学生更好地学习课程内容。

学习通与对分课堂的混合教学模式如图1所示。课前教师发布学习任务,学生在学习通平台观看教学视频和教学课件,通过少量测试题进行自我检测,也让教师对学生的预习情况有了解。在课堂教学中,通过对分课堂,将一半时间给教师,另一半时间交给学生。教师先对本次课内容的基本框架和重难点进行讲授,将预习中错误率较高的测试题进行详细解析。学生自主学习本次课程的全部内容,为了让学生更好地消化课程内容,根据课程情况,隔一次课对课程内容进行反馈和讨论。而本次课剩余的一半时间主要针对上一次课的内容,与学生进行互动和讨论。教师在学习通上进行在线随堂测试,可以通过抢答、随机选人答题等了解学生对上次课内容的掌握程度。然后在学习通上发布分组讨论,增加知识点拓展主题,特别是专业相关的人工智能新技术的应用,让学生进行分组探讨,既增加了学生之间的互动性,又拓展了课程知识学习的深度和广度,加深了学生对课程知识点的掌握程度。教师在学生讨论发言后,对讨论的内容进行归纳总结。课后在学习通上发布课后作业,学生在课下完成作业进行自我检测。学习通里有丰富的数据统计功能,通过数据分析,让教师更好地掌握学生的学习情况,及时调整课程节奏,缩短学生之间的差距,提升整体的学习效果。

2.4  学习过程管理强化

模块化考核与阶段性考核相结合。教学内容模块化按比例考核,教学过程阶段性考核,并及时发布。阶段性考核注重新技术的运用、综合知识的掌握情况,以及实践能力的灵活运用。突出学生的综合表现,从多方面评定学生的成绩。各种方式的权重可灵活调配,考核节点根据课程进度进行分阶段安排。

为了应对课时有限的问题,要发挥网络教学平台的较大作用。将扩展和补充知识放到线上平台,供学生课下自主学习,并提供测试题,由学生按规定时间完成。让学生和教师对学习情况均有较好的了解;分阶段进行重点单元测试,学生测试后直接由平台判分出成绩;在课堂互动环节,通过选人、抢答、主题讨论等多种形式对学生进行评分,作为学生评价内容之一;学生将实验报告和程序代码上传到网络教学平台中的实验作业模块,由教师进行在线审阅评分,给出实验评价。通过增加阶段性测试频次,督促学生更好地学习课程知识,查缺补漏,并对学习不认真的学生进行较多关注,提升班级学生的整体学习效果。在课程中后期,增加综合性题型的考核题量,提升学生的专业应用能力,鼓励学生进行自主创新意识的培养。

3 “C语言程序设计”公共课改革具体实施措施

3.1  理论内容充分融合人工智能技术

不单独将人工智能技术自成一章,将机器学习、自然语言处理、计算机视觉等人工智能技术根据各章知识点融入其中,与案例进行深入结合,让学生深刻感受到C语言与人工智能的紧密关联。在分支结构章节,首先将机器学习内涵与C语言的分支结构进行对比,通过简单案例引入,对比机器学习和分支结构处理的差异。以识别出水果图片中的苹果为例,根据人们的经验,将自然语言转化成编程语言,用分支语句编写核心代码,实现相应功能,识别结果误差较大。而通过机器学习思想,获取大量苹果图片的数据集,通过算法进行训练,机器总结出相关经验和规律,用C语言实现和优化相关算法,提升了识别的准确率。

另外,对人工智能中相关技术以及经典算法进行描述时尽量通俗易懂,帮助学生更好地理解其含义,与C语言进行较好的融合。因为公共课教学面向的对象是非计算机专业的学生,本身C语言的课程有一定难度,部分学生在学习的过程中容易产生抵触情绪,如果人工能智能技术的引入加大了课程难度,学生的学习积极性会很快下降,学习效果并不好。所以无论是技术的介绍,还是算法的应用等,应尽可能用简单而日常的语言进行描述,让学生较快理解相关技术和算法思想,以C语言为核心,扩充课程内容,丰富课程内涵,扎实课程应用。

3.2  人工智能融合的小型实验项目设计

实验教学作为课程内容的重要组成部分,对学生实践能力的提升很有帮助。不能停留在以验证性项目居多并且案例老旧的年度,要与时俱进,更新实验项目案例,让实验教学与理论教学同步发展。在C语言课程的实验教学中,将人工智能相关技术的应用案例设计成综合性项目放入实验教学中,让学生充分感受到C语言对当下人工智能时代发展的积极推动与广泛应用。

以自然语言处理中的信息抽取技术为例,将关键技术之一的中文分词设计成小型项目,让学生用C语言实现简单应用。在实验教学之初,首先向学生介绍分词的意义,接着通过中英文对比描述中文分词的难度与重要性,后面展开介绍常用分词工具及算法,最后让学生用C语言实现简单分词。由于分词算法难度不同,考虑先从基于词典规则的算法入手,让学生编写简单中文分词程序,对于编程基础较好的学生,建议结合机器学习算法进行分词,通过实验验证分词的效果差异。

3.3  校企协同发展应用模式拓展

“C语言程序设计”課程实用性较强,课程教学内容要结合企业用人发展需求,紧跟企业当下应用实际,不断更新教学内容和应用案例,提升学生的应用能力,为未来学生综合能力的发展打下良好的基础。在教学进度安排中,可以加入企业工程师的课程讲授环节,让学生切实感受到当今企业如何在人工智能时代下运用C语言解决实际应用问题,对企业的较大影响力。由于课程中用的程序开发平台相对容易,便于学生进行基础性学习。通过企业工程师现场教学,向学生展示企业常用开发平台,拓宽学生的知识面和积极性,让学生深切感受到学好C语言对未来发展的极大用处。对于基础较好的学生,可以提前推荐到企业进行实习,让学校教育与企业需求较快接轨,为培养高科技人才做好充分的准备工作。

另外,可以通过产学研合作项目推动校企协同发展。教师推荐学生参与到项目建设中,带领学生开展产学研合作项目,与企业进行沟通交流,定期开展讨论,按照时间节点完成阶段性工作,学生通过各阶段任务的参与,得到极大的锻炼。通过整个项目的参与,学生对课程知识的运用能力会得到较好的提升,对企业人才培养需求有更深的体会,对未来就业方向有更清晰的认识和更务实的规划。

3.4  运用在线平台提升过程性考核质量

过程性考核对于帮助学生及时查缺补漏,提升自主学习能力等方面具有重要作用。为了达到过程性考核的效果,防止有些学生在考核中出现拖延、抄袭等行为,在线考核平台中可以加入防作弊机制,添加对应功能模块,对学生学习过程加强监督,形成良好的课程学习氛围,促使学生课程成绩呈现整体上升趋势。

4  结语

在人工智能的大时代背景下,以立德树人为引领,运用先进技术构建智慧课堂教学平台,将“C语言程序设计”课程教学内容与专业关联,融入人工智能新技术的应用知识,制定适合不同专业学生的课程教学知识体系,增加相关的测试题库及教学案例,采用基于学习通的二分课堂教学模式,加大过程性考核力度。旨在更真实地反映学生的学习情况,让学生掌握计算机的专业基础知识,了解前沿科学知识,将所学知识充分运用到自己专业中,培养学生应用能力和一定的创新能力。

参考文献

  • 国务院.国务院关于印发新一代人工智能发展规划的通知[EB/OL].(2017-07-08)[2021-09-26].

http://www.gov.cn/zhengce/content/2017-07/20/content_5211996.htm.

  • 李德毅,马楠.智能时代新工科:人工智能推动教育改革的实践[J].高等工程教育研究,2017(5):8-12.
  • 王国华,郑永森,林琳,等.人工智能时代“C语言程序设计”教学改革[J].现代计算机, 2020(28):65-68.
  • 李波,覃俊,李子茂,等.“人工智能+新工科”视域下软件工程专业实验实践教学改革[J].计算机教育,2021(7):82-86.
  • 周卫红,蒋作,江涛,等.以人工智能及编程能力为核心的计算机专业新工科教学改革研究[J].云南民族大学学报(自然科学版), 2020,29(2):105-109.
  • 胡清华,王国兰,王鑫.校企深度融合的人工智能复合型人才培养探索[J].中国大学教学,2022(3):43-50,57.
  • 刘翔.大数据时代移动智慧课堂教学管理应对策略研究[J].软件,2022,43(1):17-19.
  • 余胜泉,刘恩睿.智慧教育转型与变革[J].电化教育研究,2022,43(1):16-23,62.

猜你喜欢
C语言程序设计公共课C语言
基于Visual Studio Code的C语言程序设计实践教学探索
计算机教育(2020年5期)2020-07-24 08:52:56
基于C语言的计算机软件编程
电子制作(2018年16期)2018-09-26 03:27:08
Factors Affecting Memory Efficiency in EFL
配器课在师范高校公共课教学中的几点思考
北方音乐(2017年4期)2017-05-04 03:40:37
高职高专院校C语言程序设计教学改革探索
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
软件工程(2016年8期)2016-10-25 16:02:07
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践
科技视界(2016年22期)2016-10-18 16:12:24
论子函数在C语言数据格式输出中的应用