91学术服务平台

您好,欢迎来到91学术官网!站长邮箱:91xszz@sina.com

发布论文

论文咨询

软件工程专业C/C++程序设计实验教学模式探索

  2024-08-14    52  上传者:管理员

摘要:分析C/C++程序设计实验教学中存在的问题,提出“因材施教—多元学习—思想引领—以赛促学”的实验教学模式,介绍将该教学模式以“差异化培养方案—线下教学线上自学课后练习—课程思政工具辅助—编程竞赛”的形式应用于教学的实践过程,最后通过教学效果说明该教学模式的有效性。

  • 关键词:
  • 人工智能
  • 以赛促学
  • 多元学习
  • 实验教学
  • 程序设计
  • 加入收藏

随着当前人工智能、云计算、大数据技术、自然语言处理等技术的发展,程序设计能力成为多学科交叉融合的重要因素。C/C++程序设计课程是大一新生进入专业学习的第一门编程基础核心课程,是数据结构、算法导论、操作系统等专业必修课程的基础。软件工程专业培养目标是培养具备工程能力的人才,充分注重动手能力、系统能力、大代码能力、综合能力的锻炼,因此本专业在教学上应侧重于以实践为主,着重提升学生编程实践能力。文献[1]中针对电子类专业进行C语言课程实验教学的设计,旨在提高学生的工程实践能力,更好地满足新工科背景下社会对人才培养的需求。文献[2]中针对C/C++程序设计课程构建一个多元协同的混合式实验教学平台,为学生提供了灵活多样的编程实践环境,锻炼学生编程思维,提升学生编程能力。文献[3]中从教学内容、教学资源、教学方式3个方面进行程序设计类课程教学改革实施,为国内高校相关课程教学改革提供了借鉴。高校作为向社会提供人才的培养基地,迫切需要加快工程教育改革,培养具备较强的工程实践能力、创新思维能力以及国际竞争能力的复合型人才,以满足新时期对工程科技人才的需求[4]。为提高大学生程序设计以及编程能力,必须在教学实践中进行改革,探索新的实验教学模式,全方位培养学生编程技术与实践能力。


1、C/C++程序设计实验教学中存在的问题


实验教学是教学体系的一个关键环节,是培养学生计算思维能力和动手编程技能的重要阶段。然而,传统实验教学只是停留在知识和概念的掌握层次上,在强化学生创新意识和能力培养上存在不足[5]。C/C++程序设计的实践性很强,对计算思维能力要求较高,对刚入学便要学习编程技术的大一新生来说存在一定难度。如何提高C/C++程序设计课程实验教学效果,提高学生编程技能还值得进一步探索。目前程序设计实验教学还存在如下问题。

(1)同质化教学资源及实验内容无法适应学生个体间差异[3]。C/C++程序设计开设在大一,少部分学生在进入大学之前的初高中阶段有过C语言或者计算机基础,较大部分学生从未接触过计算机,两类学生个体间差异较大。教学过程中发现相同的教学内容以及实验题目,有的学生理解和完成的较快,有的则比较吃力。存在同质化教学内容无法适应学生个体间差异的情况,导致实验教学整体效果不佳。

(2)学习资源及方式单一。单一化学习方式不利于学生个性化发展,而且容易固化思维,不利于创新思维发展和能力培养。部分学生完全依赖教师的讲授和练习,满足于完成教师布置的实验题目,没有拓展学习的主动意识。

(3)学生学习态度不端正。当前互联网发达,网络资源丰富,这也给学生从网上查找代码提供了便利。对于程序设计实验来说,适当地借鉴网络资源可以一定程度上帮助学生理解,但程序设计实验本质上是希望培养计算思维与动手编程能力,运用计算机独立编写程序解决实际问题的能力,在这一过程中培养学生发现问题、解决问题的能力,加深其对知识点的掌握与理解,如果一味地网络搜索和借鉴,失去了练习的意义,违背实验教学初衷[6]。其次,学生之间也相互借鉴,导致代码大面积雷同,更有甚者有些学生仅仅是将同学的代码中的变量命名做了改动便作为自己的代码提交。

(4)存在畏难情绪,学习兴趣不高。在实验课堂中以及课下查看学生的平时练习发现,一些学生只限于完成作业题目,用于辅助练习的实验题目不再查看及完成。遇到运行时错误、答案错误而气馁,无法静下心调试分析程序,对编程兴趣不高。


2、“因材施教—多元学习—思想引领—以赛促学”的实验教学模式


“因材施教—多元学习—思想引领—以赛促学”的实验教学模式如图1所示,以“差异化培养方案—线下教学线上自学课后练习—课程思政工具辅助—编程竞赛”的形式应用于教学实践。

图1 实验教学模式

利用平台教师上传教学资源、多种类型实验题目,实现差异化培养方案,为学生提供个性化学习资源。通过“线下课堂教学—线上学生自学—课后拓展练习”的方式实现多元化学习。针对学生代码间的高度相似情况,利用课程思政和工具辅助,从主观和客观两方面着手,并辅之以创新实验题目设计的方式引导学生自主完成实验题目。针对学生学习兴趣不高,实战能力弱的问题,通过举办编程竞赛,在实战中锻炼学生能力,以赛促学。

通过上述实验教学模式,在提高学生学习兴趣、学习主动性、实践动手能力和创新能力的同时通过思想引领,达到对学生内在素养的提升,全面提升课程教学效果及软件工程专业人才培养质量。


3、教学实践


3.1 因材施教

同质化教学资源与实验内容无法满足学生个体间差异性导致的学习需求,因此在实验内容的难度设置上依据“基础—中等—较难”逐渐递进以符合各类型学生学习需要。

运用辩证系统方法对教育教学过程进行系统分析的基础上提出的“教育教学过程最优化”概念,主张针对不同层次的学生采用不同的教学方法,成为因材施教教学方法最好的理论依据[7]。教学过程中总结发现班级内学生基本存在3类:①跟不上教学进度,编程实践能力较弱;②学习能力尚可,具备学习自觉性,随着教师教学进度及前序编程知识积累,基本能够完成布置的编程作业题目,但对于高阶拓展题目,随着难度加大,学习积极性受挫;③进入大学前已经接受过编程能力培养,基本教学进度、作业难度无法满足该类学生学习需求,能力较强。

针对以上情形,因材施教,题目难度的设置上依据“基础—中等—较难”逐渐递进,学生可根据自身情况选择完成何种类型的题目,其中基础类型题目可满足第①类学生的学习需求,中等难度题目可作为第①类学生的挑战。类似的中等题目可作为第②类学生的练习需求,如果有兴趣,可以继续挑战较难类型的题目;对于第③类学习能力较强的学生,大多具有竞赛经验,在初高中期间参加过NOIP竞赛,学习兴趣高、自觉性强,这类学生可以在完成所有题目的前提下,自行前往熟悉的OJ网站进行拓展练习。

此外依据近年来上机实验课程中学生遇到的问题以及较易出现的问题进行总结,汇总了多份“答疑汇总与学习建议”手册,针对性地提出学习建议,为学习基础薄弱的学生补充计算机、程序设计相关的知识,如学生在上机过程中经常会遇见的“scanf编译错误”“终端窗口一闪而过”“程序输入格式问题”“多种错误类型”等。

3.2 多元学习

程序设计课程混合式教学模式在教学实践中已被证明具有良好的教学效果[8]。通过“线下课堂教学—线上学生自学—课后拓展练习”的多元化混合教学方式(如图2所示),既巩固教师教学效果,又强化学生学习成果。

图2 多元混合教学方式

1)线下课堂教学。

OPEP在线编程实验平台是学院在青岛大学OJ的基础上进行二次定制开发,具有符合学院教学需求和教学实际的在线编程判题平台。利用OPEP在线编程实验教学平台,可以实现学生程序代码自动评判出分,帮助教师减轻很多的批改学生作业代码的压力,使教师能够将精力集中在查找学生问题、总结问题上面。教师可以在线下课堂着重进行实验知识点梳理,实验题目解读,重难点讲解。对上一节布置的实验题目学生错误地方和问题进行总结,学生在课堂遇到问题可以随时咨询教师。从而使得学生能够把握好线下课堂,教师能够有更多时间个性化指导学生,学生和教师的线下互动交流增加。

2)线上自主学习。

一些可以由学生课前预习的资料,提前发布到在线编程实验教学平台OPEP上,例如实验知识点视频讲解链接,实验教学PPT,辅助实验练习题目等资料提前发布,要求学生课前在OPEP平台上进行自主学习。

3)课后拓展练习。

实验课堂上未完成的内容,学生可依据自己的时间灵活安排。学生登录OPEP实验平台不受时间限制,具有充足的自学和实践时间,有效解决了传统线下教学受时间、空间制约的问题。OPEP平台的使用使得学生课后也能够延伸完成课堂任务,进行实验课程内容、题目、知识点的总结。

教师通过学生课前的练习以及作业判题结果,能够实时了解学生的实验练习题目的完成情况。通过查看作业提交、实验题目判题错误类型等掌握学生实验普遍存在的问题,课上有针对性地进行题目讲解和问题指导。此外可依据习题完成情况,及时了解学生掌握程度,及时调整教学进度,针对重难点可以设置对应的题目练习和题目讲解,最大限度地帮助学生理解,提升教学效果。

3.3 思想引领

(1)实验课上首先对学生做思想上的引领和教育。①和学生阐明C/C++程序设计课程的实验由自己独立完成的重要性,一方面锻炼自己的编程技巧,另一方面能够培养自己独立思考、计算思维的能力,该门课程是大一学习的第一门编程语言课程,是以后专业必修课程的基础,重要性不言而喻。使学生主观上认为抄袭同学代码,网络资源搬运是一种不可取行为。②以“纸上得来终觉浅,绝知此事要躬行”诗句为例,和学生阐明学习编程语言必须注重“实践”,需要自己动手敲代码去练习,只对理论理解的透彻就觉得自己学会了是不可取的行为。

(2)利用学院在线编程实验平台OPEP集成的代码相似度检测模块,对每次实验作业完成后的代码执行相似度检测,通过工具给出相似度判别结果。依据代码相似度报告给出的检测结果,教师可设定相似度标准,对于较高相似度的代码,可再逐一评阅学生代码,对于确定为抄袭的学生做下记录,合适时机同学生进行沟通,帮助其端正学习态度,对借鉴、抄袭的行为及时纠正。

(3)创新实验题目内容和形式。实验课程的经典练习题目在网络上一般都能够找得到解题思路和源代码,使得学生极易借鉴,若一味依赖网络资源,不利于学生编程能力的提高。因此,为了防范学生不动脑筋,直接照搬,应当创新实验练习题目的形式,即使学生找到相类似的题目案例,但由于不完全一样,需要学生思考、分析需求、编写、调试程序才能完成题目。这样也达到锻炼学生的动手实践及思维拓展能力的目的。例如,在讲解“友元”这一节实验课中,实验题目“方阵的幂”采取补全代码的方式让学生实现题目要求。通过创新题目设计方式,适当对形式进行修改,令题目焕然一新,既提升学生学习兴趣和阅读代码能力,同时还能考查学生对程序前后的融会贯通理解能力。

3.4 以赛促学

学院组织的编程竞赛是由学院内具有国际大学生程序设计竞赛参赛以及获奖经验的专业教师命题,题目以一定的社会现象为背景,考查相关知识点,考查学生对理论的理解与综合应用能力,同时也涉及对编程实践能力的训练。以学院OPEP在线编程实验平台为支撑,通过竞赛题目训练学生需求分析能力、计算思维能力、规定时间内解题能力。目的是通过竞赛的紧张激烈氛围来进一步激发学生的学习兴趣,提升解决问题的能力,增强编程技能。该平台支撑学院C/C++程序设计、数据结构、Java应用与开发等多门编程语言课程的实验教学以及期末上机考试,可以实现学生代码的快速判题,同时会给予学生“通过”“答案错误”“编译错误”“运行时错误”的提示,快速的结果反馈也能大大提升学生编程兴趣。

结合编程竞赛的实践教学模式被很多研究证明是有效的,可以有效提高学生编程实践能力和人才培养质量,极大地激发学生热情和分析解决问题的能力[9]。通过编程竞赛激发学生“比着学”的学习兴趣,检验学生在平时实验课堂以及课后的编程实践练习效果。因此组织编程竞赛,以赛促学,强化学生平时的理论知识编程实践,锻炼学生分析问题、解决问题的能力。


4、教学成效


为了检验该实验教学模式下C/C++程序设计教学效果,选取2020—2021级软件工程专业特色班学生高级语言程序设计期末平均成绩进行分析。成绩包含实验成绩与期末笔试成绩,对比结果见表1。

表1 2020—2021级平均成绩对比

由表1中的数据可以看出,随着“因材施教—多元学习—思想引领—以赛促学”的实验教学模式的提出,学生的平均成绩,尤其是编程实验的平均成绩分数较高,并有较大提升,从侧面反映出该实验教学模式的有效性,对学生学习能力成长的推动作用。

从学生课下反馈情况来看,学生普遍认为实验课程教学内容与编程实验内容充实,紧紧贴合课程知识点,并且实验题目形式和类型多样化,实验课程总结的疑难点、问题汇总手册帮助性很大,能够覆盖平时编程实验中普遍遇到的问题,减少了很多不必要的解决问题时间的浪费。此外OPEP在线编程实验平台的引入使用,使题目的完成方式更灵活,时间更自由,不受课堂时间的限制。


5、结语


程序设计类课程是软件工程专业必修基础课,对后续专业核心课程的学习十分重要。“因材施教—多元学习—思想引领—以赛促学”的实验教学模式,利用有效的实验教学课时锻炼学生编程实践能力,培养学生计算思维能力,教学效果良好,学生成绩明显提升。后续实验教学过程中,依然会继续总结经验与不足,探索有助于提升软件工程专业学生能力的教学模式和改革措施,为学生提供更好的学习体验。


参考文献:

[1]沈振乾,冯志红.新工科背景下电子类专业C语言课程实验教学设计[J].计算机教育, 2022(12):248-252.

[2]孙伟峰,杨华,齐玉娟,等. C/C++程序设计多元协同实验教学平台构建[J].实验室研究与探索, 2019, 38(3):144-148, 233.

[3]赵满坤,徐天一,张文彬,等.新工科背景下程序设计类课程教学改革探索[J].计算机教育, 2023(2):149-152.

[4]李昱,郭晓燕,梁艳春.应用型本科计算机专业程序设计类课程教学模式改革与实践[J].计算机教育, 2020(11):111-116.

[5]李薇,黑新宏,王磊,等.新工科背景下的C语言程序设计课程实验教学[J].计算机教育, 2021(7):188-192.

[6]徐万松. C++程序设计实验教学中的问题及对策[J].实验室研究与探索, 2018, 37(11):230-232.

[7]王春华.巴班斯基教学过程最优化理论评析[J].山东社会科学, 2012(10):188-192.

[8]吴建萍,侯雪梅,南煜,等.基于多平台的C语言程序设计课程混合式教学模式探索[J].计算机教育, 2022(6):97-102.

[9]喻梅,于瑞国,王建荣,等.程序设计类课程教学与学科竞赛结合的研究[J].实验室科学, 2019, 22(1):237-240.


基金资助:南开大学2022年实验课程改革项目(22NKSYSX05);


文章来源:朱静雯,谢茂强,张圣林.软件工程专业C/C++程序设计实验教学模式探索[J].计算机教育,2024,(08):208-212.

分享:

91学术论文范文

相关论文

推荐期刊

网友评论

加载更多

我要评论

高等教育研究

期刊名称:高等教育研究

期刊人气:4224

期刊详情

主管单位:中华人民共和国教育部

主办单位:华中科技大学

出版地方:湖北

专业分类:教育

国际刊号:1000-4203

国内刊号:42-1024/G4

邮发代号:38-73

创刊时间:1980年

发行周期:月刊

期刊开本:大16开

见刊时间:一年半以上

论文导航

查看更多

相关期刊

热门论文

推荐关键词

【91学术】(www.91xueshu.com)属于综合性学术交流平台,信息来自源互联网共享,如有版权协议请告知删除,ICP备案:冀ICP备19018493号

微信咨询

返回顶部

发布论文

上传文件

发布论文

上传文件

发布论文

您的论文已提交,我们会尽快联系您,请耐心等待!

知 道 了

登录

点击换一张
点击换一张
已经有账号?立即登录
已经有账号?立即登录

找回密码

找回密码

你的密码已发送到您的邮箱,请查看!

确 定