C++程序设计课程教学的改革和实践
- 格式:doc
- 大小:26.50 KB
- 文档页数:6
《C语言程序设计》教学改革与实践摘要:C语言是计算机专业的基础课程和先导课程,C语言学得好不好,将直接影响到后续其它课程的学习。
因此,在计算机专业课程的学习中,一定要打好基础,学好C语言。
C语言这门课有它自己的特点,在教学过程、方法上要区别于其它课程,要积极改革教学过程及方法方面与教学不相适应的地方,提高C语言教学的效果,让学生学得更扎实。
关键词:计算机;C语言程序设计;教学改革;教学实践0 引言C语言是一种结构化语言。
它层次清晰,便于按模块化方式组织程序,易于调试和维护。
C语言的表现能力和处理能力极强。
它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构,还可以直接访问内存的物理地址,进行位(bit)一级的操作。
C语言在很多方面都可以应用,不仅在软件开发上,而且在各类科研工作中都是需要用到C语言的。
C语言是入门的课程,也是非常重要的课程。
目前,计算机专业的基础课都会有《C语言程序设计》,可见这门课程的重要性。
学习这门课程,可以培养学生的逻辑思维能力以及形成一种程序化的思想。
这门课程在内容上并不是很难,但在现实中却发现,教学效果并不是很理想,很多学生都觉得这门课程枯燥乏味。
在这样的情况下,能学好C语言的学生很少。
但我们却必须要学好这门课程,不然后续的课程会更加难学,或者说几乎就听不懂也不会写。
下面我们先分析现实教学中存在的一些问题。
1 C语言教学中存在的问题一般来说,教学中存在的问题都是包括几方面的,因为教学是教师和学生共同的活动,即有教师方面的问题,同样也会有学生方面的问题、教学方法上的问题、教学过程中的问题、水平评价中的问题,还有学科本身特征所导致的一些问题,同样。
硬件设备、教学环境等外在的条件也是教学中存在问题的因素。
正确认识存在的问题,把问题找出来,再根据不同的问题寻找出每一个问题背后的真正原因,然后对症下药,就可以把问题解决好。
在教学过程中,笔者发现C语言教学主要存在以下几方面的问题:(1)在教学的过程中,主要体现为教学方法上的问题。
C语言程序设计课程的改革与实践[摘要]针对c语言程序设计课程教学效果差的原因,结合“研究式学习”、“cdio教学模式”、“计算思维”和教师的教学经验,制定了c语言程序设计课程教学模式改革方案。
实践证明,此教学模式符合学生专业特点,能够满足理工科专业学生对计算机技术的基本需求;教学效果有明显提高;教学实践方法与措施切实可行,对学生分析问题、解决问题、实践及团队合作等能力的培养能起到积极作用。
[关键词]c语言程序设计改革实践引言c语言程序设计课程足以c语言为平台,使学生全面了解程序设计的总体思路、程序没计的基本算法、c语言的语法规则以及使用c语言进行构化程序没计的方法,并具有一定的程序设计和程序调试的能力,为今后使用c语言解决实际问题打下良好的基础由于c 语言涉及的概念比较复杂,规则繁多,使用灵活,容易出错,同时该课程又是学生首先接触的第一门程序没计课程,所以很多学生学习起来都感到困难和吃力.并不同程度产生畏惧心理。
在c语言程序设计的教学工作中,我们发现,学生的学习热情不高,更谈不上综合应用能力的培养与提高。
我们c语言课程教学组通过对我校c语言程序设计课程教学现状的调查分析,总结出了教学效果较差的主要原因,并从教材内容、教学方法、教学手段和、上机实践和考核评价体系五个方面进行了大胆的改革与实践,并取得了较好的教学效果。
一、c语言程序设计课程教学现状分析为了实时掌握学生的真实学习情况,任课教师对学生进行了问卷调查。
根据问卷结果及各位教师的教学经验,总结出我校c语言程序设计课程教学效果较差的主要原因有以下几点。
(1)内容抽象、枯燥,学生学习兴趣度低。
相比第一学期已经或多或少有所接触并有一定基础的大学计算机课程而言,第二学期开设的程序设计课程是一种截然不同的全新的课程,出现了大量的新概念、新名词和新方法。
上机时好不容易敲上了一个程序,一运行就会出现一堆错误。
62.4%的学生看不懂错误提示,84.76%的同学不会使用单步跟踪、watch窗口等基本调试工具,22.3%的同学竟然根本不知道这些调试工具。
《C语言程序设计》课程建设研究与实践一、引言C语言是一门经典的编程语言,在计算机编程领域拥有着非常重要的地位。
《C语言程序设计》作为计算机类专业中的一门基础课程,对于培养学生的编程能力、逻辑思维能力和解决问题的能力有着重要的意义。
对于《C语言程序设计》课程的建设研究与实践显得尤为重要。
本文将围绕《C语言程序设计》课程的设置、教学内容和教学方式进行深入探讨,并结合实践经验提出相关的建设研究和实践措施,以期提高《C语言程序设计》课程的教学质量和学习效果。
二、《C语言程序设计》课程设置1. 课程定位《C语言程序设计》是计算机类专业中的一门基础课程,旨在向学生介绍C语言的基本概念、语法和编程技巧,培养学生的程序设计能力和解决问题的能力。
2. 课程目标(1)使学生掌握C语言基本语法和程序设计技能;(2)培养学生对C语言程序的编写、调试和优化能力;(3)引导学生在具体问题中应用C语言进行程序设计和实现。
3. 课程内容《C语言程序设计》课程内容应包括C语言基础知识、控制结构、函数、数组、指针、文件操作等内容,还可以适当引入一些常见的数据结构和算法,以丰富课程内容。
三、教学内容的设置与调整1. 设计合理的教学大纲根据《C语言程序设计》的课程目标和要求,我们需要设计一份合理的教学大纲,明确课程的整体布局、教学内容和教学进度。
教学大纲应包括课程的主要内容、教学目标、教学方法和教学评价等方面,以保证教学的系统性和科学性。
2. 教学内容的灵活性调整由于《C语言程序设计》课程的内容相对固定,因此教师需要在教学实践中根据学生的实际情况和反馈适当调整教学内容。
可以根据学生的学习进度和兴趣增加一些拓展性的内容,或者在实践环节增加一些案例分析和讨论。
四、教学方式的改进1. 注重理论联系实际《C语言程序设计》课程教学内容主要为C语言语法和程序设计方法,因此教学过程中需要注重理论联系实际。
可以通过举例、案例分析和实验等形式,使学生更好地理解和掌握C语言的基本概念和编程技巧。
《C语言程序设计》教学改革探索《C语言程序设计》是计算机科学与技术专业中一门重要的课程,旨在培养学生的编程思维能力和实际动手能力。
当前,随着计算机科学技术的快速发展,教学改革亟待加强,以更好地适应学生的学习需求。
本文将探讨《C语言程序设计》教学改革的相关问题,并提出改革措施和建议。
针对传统的课堂教学模式,我们应该更多地注重学生的实践操作。
传统的教学模式通常是老师通过讲授理论知识来传递给学生,由于C语言程序设计是一门实践性很强的课程,理论知识只有通过实践操作才能真正理解和掌握。
教师应该加强实践操作的环节,让学生在课堂上进行编程实验,通过亲自动手解决问题,从而加深对知识点的理解和记忆。
应该注重培养学生的创新思维能力。
在C语言程序设计中,学生需要解决各种各样的问题,而创新思维是解决问题的关键。
教师应该引导学生思考新的解决方法和算法,鼓励他们尝试不同的编程思路,培养他们独立思考和创新的能力。
可以通过组织编程竞赛、设计项目等方式激发学生的创新潜能,让学生在实践中得到锻炼和提升。
我们还应该注意提升教材的质量和实用性。
C语言是一门基础的编程语言,教材的内容应该贴近实际应用,并紧跟技术发展的潮流。
教师应该及时更新教材,引入一些新的知识点和技术,让学生能够了解和掌握最新的编程方法和技巧。
教材的编写应该结合实际案例,引导学生将所学知识应用到实际问题中,提高学生的实际动手能力和解决问题的能力。
我们还可以通过开展实践课程和实习实训等方式提升学生的实际操作能力。
C语言程序设计是一门实践性很强的课程,实践能力的培养离不开实际操作。
在教学改革中,可以增加实践课程的比重,设置一些与实际问题相关的实验和案例,让学生通过实践锻炼解决问题的能力。
可以积极与企业合作,开展实习实训,让学生在实际项目中应用所学知识,提升他们的实际操作能力和职业素养。
《C语言程序设计》教学改革是培养计算机科学与技术专业学生的编程思维和实践能力的重要环节。
针对传统的教学模式,我们可以加强学生的实践操作,注重培养学生的创新思维能力,提升教材的质量和实用性,以及开展实践课程和实习实训等方式。
C++程序设计课程教学的改革和实践摘要:本文针对《c++程序设计》课程教学中存在的问题,从教学方法、教学手段、实践环节、课程设计以及考核方式等方面进行了教学改革,通过比较两个年级学生的学习效果,该教学改革达到了提高学生编程能力、改善教学效果的目的。
关键词:面向对象程序设计c++程序设计语言教学改革和实践算法教学计算机科学与技术专业
1 概述
c++是当今面向对象软件开发的主流语言,也是高校计算机及相关专业的一门重要基础课。
根据我校三本学生的实际,传统的教师课堂主讲、学生课下自主学习的教学方法已经不能适应我校学生的学习需要。
为了加深学生对c++知识点的掌握程度,切实提高学生的程序编写能力,对《c++程序设计》课程的教学进行了改革和实践。
2 教学实际中存在的问题
2.1 c语言基础薄弱,抽象思维能力差虽然我校学习《c++程序设计》的学生,都已学习过《c语言程序设计》,但由于没有使用c 语言开发项目的经验,所以对后续学习很重要的基础知识点,例如自定义数据类型、自定义函数、指针的掌握不够,在此基础上再来学习c++中的更多新知识,自然造成理解上的困难。
特别是学生易受c语言面向过程的编程模式的影响,思维很难向面向对象的编程模式转变。
2.2 自主学习能力不够我校三本学生中的大多数学习兴趣难
以持续,学习主动性不够,不会很好地预习和课后复习,更不会主动的吸取相关知识,每次等老师讲解,课下上机实践较少,所以传统的教师课堂主讲、学生课下自主学习的教学方法在我校教学中并不受用。
2.3 知识点驱动的教学方法传统教学中采用知识点驱动,按照知识点之间的先后顺序,先进行知识点的讲解,然后用小案例来帮助学生理解和消化,这样的教学方法,使得学生在有参照的情况下,当下能编写程序,但是学生对知识点的应用能力、独立编程能力以及解决大型实际问题的能力会比较差。
2.4 考核方式重理论轻实践我校在以往的教学中采用闭卷笔
试的考核方式,学生为应付考试而死记硬背理论知识。
学生虽然能掌握基本概念和基础知识,顺利通过课程考试,但是知识的综合运用能力、实际编程能力在考试中并不能体现。
3 教学改革的基本思路与开展方法
3.1 重视第一节课的教学在第一堂课上,给学生分析该课程在专业知识领域中的地位和作用,演示一些用c++语言实现的有趣而实用的案例,比如“图书管理系统”、“可视化计算器”,介绍c++
的学习方法与经验等,通过这些让学生在第一节课上了解到该课程的重要性、趣味性以及可学性,以提高学生的学习兴趣和学习信心。
3.2 阶梯式教学方法,采用大案例贯整个教学过程
在学期的前四周,做好开课前的前导课程《c语言程序设计》的
复习工作,主要复习函数、指针、结构体等难点,突出c++对c的扩展,如符号常量、引用、名称空间等,巩固学生的c语言基础,为后面c++类与对象、继承、多态的学习打下基础。
在教学过程中把知识点融入到实际的案例中去,案例选用规模较大、典型、有实用价值的,比如“可视化计算器的开发”,该案例代码的编写与调试可贯穿于整个教学过程,这样既可以提高学生的学习兴趣,又有利于知识点的巩固,以提高学生的实践动手能力和解决实际问题的能力。
3.3 各种教学手段相互补充在教学中综合利用多媒体教学、板书教学、网络教学等多种教学手段,取长补短,提高课堂教学效果。
课堂教学中使用多媒体与板书相结合的手段,比如讲解算法的设计过程,采用板书的形式,放慢讲解速度,加深学生的印象;对于课程中难以理解的抽象内容,采用多媒体进行直观展示和动态模拟。
采用网络教学作为课堂教学的有益补充。
利用网络如email、qq,学生与教师以及学生与学生之间可以就学习中的问题进行交流。
借此,学生的问题能够得到及时解决,教师也能及时获得教学效果的反馈信息。
3.4 充分利用网络教学平台,培养自主学习能力在教学过程中,在学校网络课程平台上搭建教师、学生交互式c++课程网络学习平台,提供课堂教案、教学视频、示例代码、课堂作业等共享资源以充实教学内容,进行在线答疑等,增加师生、生生互动,最大限度地发挥学生学习的积极性和主动性,激发学生学习的兴趣。
3.5 突出面向对象的编程思想,注重算法教学课程一共48学时,其中理论36学时,实践12学时,针对课时较少的实际,在课程教学中,不能再泛泛介绍面向对象c++的语法框架,应注重算法和面向对象程序设计方法,在寻找算法中不断培养学生的独立思考和创新能力,突出c++的特性:封装、继承、多态,增加stl部分的教学内容,让学生在面向对象的程序设计过程中体会面向对象的编程思想。
3.6 加强实践教学,突出编程能力的培养在c++语言的实践过程中,采用visual c++ 6.0中的控制台方式。
在实践内容方面,基于“少一些验证性的实践内容,多一些设计性、综合性的实践内容;实践的内容不仅要有针对性,更要能紧密联系实际;实践的内容尽可能要求学生能够独立设计、编程,教师在实践中仅起引导和辅导的作用”的原则,根据课时共安排了“c++编程基础”(侧重于c++对c的扩展)、“类与对象”、“构造函数与析构函数的定义与使用”、“运算符重载、静态成员、友元函数”、“继承”、“多态与模板”等六次实践,通过实践,进一步巩固了课堂学过的内容,培养了学生的创新能力。
3.7 开展课程设计课程学习结束后,针对所学内容安排为时2周的课程设计。
学生按3人进行自由组合分组,选出一名项目负责人。
针对老师给定的题目,进行相关的调研工作,从系统需求出发,完成“功能设计”、“模块划分”、“算法设计与优化”并最终“系统实现”,在整个课程设计的过程中,强调各组员的团队协作能力,
文档写作能力和程序开发能力,“项目负责任人”对组员进行任务分配、项目监控和小组评审考核。
课程设计完成后,各小组抽一名组员组成答辩小组,完成设计成果的答辩与判分,有效减少了小组中个别组员不参与项目开发,享受其他组员劳动成果的现象。
3.8 考核方式采用实践、理论、课程设计相结合的多元化方式,突出实践能力课程采用理论考试(50%)、实验考查(30%)和课程设计(20%)相结合的方式进行考核。
理论考试中考查学生对基本概念的理解和对基础知识的掌握程度,包括课堂测验(30%)、期中考试(30%)和期末考试(40%),通过这些考试可检测学生每一阶段知识点的掌握情况。
实验考查着重考查学生的动手能力,包括实验报告书写能力和程序代码开发能力。
课程设计考查学生对知识的综合应用能力、团队协作能力。
通过多元化考核,激励学生的学习主动性,从而全面提高教学质量。
4教学效果
08级计算机科学与技术专业教学中采用传统的教学方式、09级教学中采用改革后的教学方式。
09级学生相比08级学生而言,更能通过各种方式与任课老师沟通,讨论学习中遇到的问题,比较多的同学会利用网络平台选作练习题,检测自己的学习效果。
从课程设计《可视化计算器的开发》的完成情况来看,09级学生能进行团队合作、问题分析、程序设计、代码编写、报告写作等,他们的团队协作能力、问题分析能力、程序设计能力以及报告的写作能力均好于08级学生。
从期末考核结果来看,09级学生的及格率为
95.34%,优秀率为25.17%,08级学生的及格率为85.33%,优秀率为15.12%。
5 结论
针对三本学生学习《c++程序设计》课程中实际遇到的问题,从教学方法、教学手段、实践教学、课程设计以及考核方式等方面对课程教学进行了改革,通过比较计算机科学与技术专业08级与09级学生的学习效果,09级学生在自主学习能力、知识掌握情况、算法分析能力以及实际编程能力等方面均较08级学生有所提高,可以看出该改革达到了提高学生编程能力、改善教学效果的目的。
参考文献:
[1]陈志泊,王春玲.面向对象的程序设计语言—c++[m].北京:人民邮电出版社,2002.
[2]周立章.c++面向对象程序设计课程教学探索与实践[j].西华大学学报(哲学社会科学版),2005,增刊:257-258.
[3]孙庚.项目教学法在“c++程序设计”课程教学中的实践[j].教育与教学研究,2008(2):51-54.
[4]钱能.c++程序设计教程[m].北京:清华大学出版社,2005.
[5]吴乃陵,况迎辉.c++程序设计[m].北京:高等教育出版社,2006
[6]聂永红,李春贵,刘永娟.《高级语言程序设计》课程的改革与实践研究[j].教学与管理,2006,(18):93-94.
[7]符蕴芳,赵英豪.面向对象程序设计教学改革与实践[j].中。