Sci论文 - 至繁归于至简,Sci论文网。 设为首页|加入收藏
当前位置:首页 > 教育论文 > 正文

C++ 程序设计教学改革实践论文

发布时间:2021-04-27 14:17:49 文章来源:SCI论文网 我要评论














SCI论文(www.lunwensci.com):

摘要:C++程序设计是大学计算机专业的核心课程,其教学质量直接影响到计算机专业人才的知识结构。但目前C++程序设计课程的教学质量普遍不高,存在教学理念落后,过于强调语法教学,忽视对计算思维能力的培养;教学方法不当,课堂效果较差;教学内容多,学时少,实践学时安排不合理等问题。针对以上问题,本文从如何将计算思维能力的培养融入C++程序设计教学过程中;如何开展以兴趣为导向的课程教学;如何加强课程实践教学三个方面提出教学改革方法。

关键词:计算思维;C++程序设计;教学改革实践;兴趣;

本文引用格式:孙倩,等.C++程序设计教学改革实践[J].教育现代化,2020,7(56):88-90,122.

Teaching Reform Practice of C++Programming

SUN Qian,ZHANG Guang-mei

(College of Information Science and Engineering of Shandong Agricultural University,Taian Shandong)

Abstract:C++programming is the core course of computer science major in universities.The quality of teaching C++programming directly affects the knowledge structure of talents in the information age.But at present,the teaching quality of C++programming course is generally not high,there are some problems,such as backward teaching ideas,over-emphasis on teaching grammar,neglect of the cultivation of computational thinking ability;inappropriate traditional teaching methods,poor classroom effect;more teaching content,less hours,unreasonable arrangement of practical hours and so on.In view of the above problems,this paper puts forward teaching reform methods from three aspects:integrating the cultivation of computational thinking ability into the teaching process of C++programming;developing interest-oriented curriculum teaching;and strengthening practice teaching.

Key words:Computational thinking;Programming C++;Reform in teaching;Interest

一 引言

程序设计课程是计算机专业教学大纲的核心课程,培养目标是使学生掌握解决问题的思路及算法,并具备在计算机上实现算法的能力。因此,程序设计课程的教学不仅是教授编程语言的理论知识,更重要的是教授算法思想和求解问题的方法,培养计算思维能力[1]。近年来,各高校都在不断地进行程序设计课程教学改革的探索,但教学效果仍然达不到预期,原因主要是:目前针对该课程教学理念落后,重语法,轻算法;采用的教学方法不当,教学效率低下;课程安排不合理,理论与实践脱节。

本文就如何将培养计算思维能力融合到C++程序设计教学中,如何提高学生学习兴趣,如何加强实践教学三方面提出改革方法,进而通过教学方法和模式的改进让学生在学习过程中养成积极、主动的学习态度,形成计算思维能力,达到熟练掌握编程语言的目标。

二 教学过程中存在的问题

C++程序设计教学过程中存在的主要问题有:

1)课程教学

过于强调语法教学,忽视对计算思维能力的培养目前,在C++程序设计课程的教学中教师普遍过多讲解程序设计语言的语法,而对程序设计的思路、方法和技巧的讲解较少。这种教学模式过于强调语法,忽视了对计算思维能力的培养与训练,从而导致学生思维僵化,缺乏将数学模型转换为计算机模型的能力,解决问题的能力较弱[2]。授人以鱼不如授人以渔,作为老师,教学的目的在于教会学生掌握解决问题的方法和技能。

2)教学方法不当

C++程序设计课程内容抽象,教学内容多,教学课时不足,造成教师为完成教学任务采用满堂灌的填鸭式授课方式。这种授课方式形式单一,忽略了学生的感受,缺乏交流互动,大大降低了学生学习的积极性和主动性,甚至出现学生厌倦听课的现象,结果是学生跟不上老师的进度,听不懂教师所讲的内容,这样的教学效果肯定差强人意。

3)实践教学环节薄弱

C++程序设计课程具有较强的实践性,因而需要充足的实训时间,但目前该课程主要是采取理论教学方式,实践教学学时严重不足,学生上机实践机会不多,导致学生的实践能力得不到充分的锻炼,在做程序设计时出现眼高手低、不敢下手、创新性低等问题。

\

 
三 教学改革实践

(一)构建”三步走”教学课程体系


为了培养学生的编程逻辑思维,在山东农业大学计算机专业培养方案中设计了“三步走”C++程序设计教学课程体系,并在教学过程中强化了对计算思维能力的训练和培养。

第一步:进行大学计算机基础课程改革

2006年3月,周以真教授在美国计算机权威期刊Communications of the ACM上提出:计算思维(Computational Thinking)是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[3]。计算思维不是一个抽象的概念,它是指人们在求解问题的过程中(包括分析问题、数学建模、系统设计与研发、系统实现),充分利用计算机的相关知识和技术来完成问题的求解。程序设计过程是人们使用程序语言来表达解决问题的求解过程,即计算思维过程[4,5]。即便是一个最简单的程序,从问题分析、方法确定、代码编写到调试运行,整个过程也涉及分析、判断、推理的抽象思维训练和条理清晰的逻辑思维训练。因此,将计算思维融入程序设计中对于学生来说非常重要。为此,大学计算机基础课程教学中增加了计算思维基础、计算机语言与程序和用计算机解决实际问题等相关内容,目的是培养和培养学生的计算思维能力,让学生学习C++程序设计课程之前就了解计算思维的重要性,并学会一些常用的算法,从而在今后的学习中能将计算思维运用到程序设计中去,更好地去解决程序设计中出现的问题[6]。大学计算机基础课程教学内容的改革通过课程引导,思维培养,有效避免了学生学习程序设计时只重视学习编写代码,忽略算法的学习的现象。

第二步:重视C程序设计语言课程教学

语言是思维活动的载体,语言的表达方式必须遵循一定的语法规则,因此表达思维需要扎实的掌握语言工具。在C程序设计语言教学中,通过优化课程设计,强调对语法、结构、算法的讲解和训练,使学生掌握描述概念、组织顺序、表达判断、选取结构、实现函数等基本逻辑技能。培养学生正确描述概念、灵活利用逻辑关系实现判断、推理等抽象思维能力。教师在授课过程中,可以采用项目驱动式,先从一个最简单、最基本程序开始,随着课程的不断深入,不断扩充原有程序,教师要根据知识的层次关系提出更深层次的问题,引导学生思考。在项目驱动教学法上,需要注意的是新知识点要在原有知识点之上的逐步导入,由浅到难地逐层推进,从而使学生更容易接受[7]。

第三步:强化C++程序设计语言课程教学

在完成C程序设计语言课程教学的基础上,强化C++程序设计语言的教学,在教学过程中重视结合实例,增强学生对问题的理解,如通过对比分析面向对象程序设计和结构化程序设计两者在解决问题的机制上的差异,使学生从根本上认识现代编程思想在软件开发中的实际意义,如清楚封装、继承、多态等这样重构的代码是如何能保证大规模程序的数据安全性,如何降低程序的复杂性,如何提高程序的可维护、可扩充性的。

在C++程序设计课程的整个教学过程中,科学合理安排教学环节,注重锻炼学生的实操能力和解决问题的能力。在对学生计算思维的训练中遵循“问题分析及抽象——算法设计——程序设计——测试”流程,将计算思维的训练渗透到解题步骤中[8]。在该流程中,问题分析及抽象是整个流程中的前提和关键,可将直接影响问题的可解性,因此,在C++程序设计课程中将这个环节放在了重要的位置。

(二)开展以兴趣为导向的课程教学

爱因斯坦说过:“兴趣是最好的老师”。能否激发起学生的学习兴趣是教好一门学科的关键。为了激发学生对C++程序设计课程的学习兴趣,课程教学采用以兴趣为导向的案例和任务驱动教学法。课堂上鼓励学生写自己的程序,讲解自己的程序,增加“演示”教学环节。

1)选择可以激发学生兴趣的案例

教师可以在教学过程中将知识点和一些能激发学生兴趣的案例相结合,从而使学生通过动手实践掌握知识及技能。例如在讲解教学重点“递归”算法时,可以选择“汉诺塔”游戏作为案例激发学生学习兴趣。例如讲解教学重点“类”和“对象”时,可以选择俄罗斯方块游戏的实现作为案例,从而有助于学生理解类之间的关系以及实现多个类的开发。继承和虚函数的讲解可以选择画图程序的案例,例如点类、线段类、圆类、矩形类的实现可以让学生很好地理解并掌握知识要点。

2)提倡算法多样性

课堂上鼓励学生写自己的程序,讲解自己的程序。鼓励学生从多个角度想问题,敢于尝试,明白同一问题可以采用不同的算法实现,殊途同归。久而久之,学生们会习惯这种多方面、多角度的思考方式,同时多样性的算法也能开阔学生的思路,激发学生的创造、探索精神,从而让他们感受到编程带来的乐趣。

3)增加“演示”教学环节,巩固教学效果

在PPT教学方式基础上,增加“演示”教学。PPT授课方式具有效率高的优点,短时间内可向学生输送大量的知识点。但同时带来一个问题:学生感觉讲授的速度太快、内容太多。经常出现学生课上感觉听懂,课下又感觉不明白的现象,从而导致课后难以独立完成作业。为此,本文提出在教学过程中增加“演示”教学,在课堂上演示一些有关程序的调试、运行的操作过程。通过在课堂上演示程序,让学生能直接看到程序的运行过程、程序的运行结果、程序常见的错误及其纠错方法,从而使得学生能更加直观、深刻地理解程序的内在逻辑关系和知识点的应用,提高学生的学习效率,巩固了教学效果。

(三)加强课程实践教学

针对C++程序设计课程的实践教学环节较薄弱的问题,将仅有实验课的实践教学改为包括实验课练习、线上辅导和综合实践三种形式的实践教学。

1)实验课练习

针对实验课,专门编制了教案,制定了教学计划,编制了课程指导书提前下发给学生。指导书分为三部分:一是需要提前掌握的相关的理论知识点以及完成的作业;二是实验课注意事项;三是本节课以及课后要完成的内容。

严格要求学生按以下三个步骤完成实验课实习内容:

①学生在上实验课前完成实验题目的算法设计和程序设计。②学生在实验课上调试程序代码,同时教师进行个性化辅导。学生在实验课上编辑、编译、运行实验题目的程序代码,调试过程中程序如有问题,可在教师的指导下修改程序。③学生在实验课后完成实验报告。实验报告的内容包括题目、流程图、程序代码和运行结果。若有错误则要求注明错误信息以及错误原因,错误修改结果等。

教师通过实验课的辅导和实验报告的批改能更全面的了解学生掌握和应用知识的情况,从而随时根据学生的情况来调整教学进度。

\

 
2)在线辅导

实验课学生人数通常较多,教师的辅导做不到面面俱到,因此,提出增加课外在线辅导。辅导方式很多,如教师在即时软件交流群中与学生进行交流。学生可将问题或程序发到交流群,教师通过电脑或手机登录交流群回答问题,学生也可在交流群进行交流。通过交流群,老师还能发群公告,提醒学生注意的问题和需要重点掌握的知识点,学生能看到老师答复的所有问题,这有助于强化学生对知识点的掌握和理解。另外,学生可以利用雨课堂、QQ群等实现网上提交作业,教师可以在网上批改学生的作业,及时发现并提醒学生作业中的问题。教师与学生之间、学生与学生之间都可以实现线上交流,学生的问题能及时得到解答,消除了实验教学中受时间和空间限制的弊端,从而提高了教学质量。

3)综合实践

由于以往的课程安排理论课时多,实验课时相对较少,学生缺少上机实践的时间,造成学生重视基本语法的学习,仅关注程序是否正常运行,而忽视了问题分析、求解的过程,并因此缺失培养计算思维能力的训练机会。为了提高学生动手能力和解决问题的思维能力,C++程序设计课程增加了综合实践教学环节。综合实践是通过案例开发使学生初步掌握复杂问题的分析、求解方法和简单系统构建方法的环节,例如可以通过一个管理系统的开发案例,培养学生总结知识、综合运用知识的能力,使学生面对一个相对复杂的问题不再会感到不知所措。

综合实践能很好地锻炼学生的计算思维能力和创新能力,在完成过程中,学生将应用所学知识发现问题、分析问题和处理实验中各种问题,从而培养了学生的知识综合运用能力和计算思维能力[9]。增加实践环节后,通过一段时间的教学验证,学生普遍反馈良好,感觉程序设计能力有很大提升,程序设计的考试成绩也证明了这点。

四 总结

通过构建“三步走”教学课程体系、开展以兴趣为导向的课程教学、加强课程实践教学,实现了从改善课程体系、改进课程教学和实践教学方法三个方面的课程改革,教学方式从传统的填鸭式转变成互动式,老师授课不再是单向传输,学生也不再是被动的接受知识,并大大增强了学生的实践能力和解决问题的能力。但是在改革实施的过程中,如何合理设计教学环节,切实达到预期的效果仍是授课教师需要进一步研究的课题。

参考文献

[1]孔丽英.C++程序设计的教学改革[J].软件工程,2017.7(20):57-59.粱新元.《C++程序设计》教学过程管理的改革与实践[J].福建电脑,2018(3):68-70.
[3]周以真.计算思维[J].中国计算机学会通讯,2007,3(11):2-4.
[4]李廉.计算思维:概念与挑战[J].中国大学教学,2012(1):7-12.
[5]黄亮,戴小鹏.计算思维在程序设计中的应用分析[J].福建电脑,2017(10):82-83.
[6]蔡绍峰,朱洪浩.以计算思维为核心的计算机程序设计课程教学优化研究[J].吉林工程技术师范学院学报,2018,34(3):80-82.
[7]周欣欣.C语言程序设计教学改革探索[J].读写算(教育教学研究),2012,(8):284.
[8]韦萍萍,崔忠伟.计算思维与C语言程序设计[J].物联网技术,2018(1):113-115.
[9]高枚,龚沛曾,孙丽君.构建多层次思维培养的C++程序设计教学[J].计算机教育,2016(1):81-83.


关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jiaoyulunwen/30789.html

发表评论

Sci论文网 - Sci论文发表 - Sci论文修改润色 - Sci论文期刊 - Sci论文代发
Copyright © Sci论文网 版权所有 | SCI论文网手机版 | 鄂ICP备2022005580号-2 | 网站地图xml | 百度地图xml