线上期刊服务咨询,发表咨询:400-808-1701 订阅咨询:400-808-1721

c语言课程设计小结8篇

时间:2022-08-05 04:38:16

c语言课程设计小结

c语言课程设计小结篇1

关键词: 高职院校C++语言课程 传统教学法 任务驱动教学法 项目教学法

1.引言

C++语言课程是高职院校计算机相关专业的一门必修专业基础课,也是实践性和应用性非常强的一门计算机语言课程。因此,它是学生最怕学、教师最难教的一门课程。但由于C++语言的功能强大,兼并C语言的所有特征,并扩充了面向对象编程部分,因此受到了许多软件开发公司的欢迎。在主要培养学生的实际操作动手能力,以就业为导向高职院校的计算机相关专业,C++语言课程的开设是十分必要的。怎样能让学生在有限的课堂时间,尽可能地掌握这门课程的基础和精华,是每一个教师值得思考和探索的问题。下面我谈谈多年来带这门课的教学方法,供大家借鉴。

2.教学方法概述

所谓教学方法是指教师和学生为了实现共同的教学目标,完成共同的教学任务,在教学过程中运用的方式与手段的总称。由于时代的不同、社会背景、文化氛围的不同、研究者研究问题的角度和侧面的差异,使得中外不同时期的教学理论研究者对“教学方法”概念的界说自然不尽相同。人类需要进步,进步少不了教育教学,因此教学方法将是伴随人类进步的一个永远的话题。

3.C++语言教学特点分析

3.1C++语言的优点

C++程序设计语言简洁、紧凑,功能丰富,表达能力强,使用灵活方便,目标程序效率高,可移植性好,适合编写各种软件,尤其是系统软件。同时C++程序设计采用了面向对象程序设计思想,集成了许多新的思想与方法,把握了程序设计的发展潮流与方向,更有利于方便、灵活、高效地处理、解决实际问题。所以,C++程序设计语言已在众多领域得到广泛应用,成为本科和高职院校计算机专业的专业基础课程。

3.2C++语言课程教学目标

高职院校C++程序设计语言课程的教学目标:通过该课程的学习,使学生掌握程序设计语言的一些基本概念和语法规则,掌握程序设计的一般方法,掌握过程化程序设计与面向对象程序设计思想及方法,为培养学生的软件开发能力打好基础。

3.3C++语言课程教学重点与难点

C++语言功能丰富、设计灵活,具有繁多的数据类型和复杂、灵活多变的语法结构。C++语言的教学重点包括C++基本数据类型、语法结构、程序结构、传统结构化程序设计、数组,指针,类和对象、继承和派生类、多态性和虚函数、面向对象编程思想及异常处理等内容。教学难点主要包括许多抽象的概念,比如数组、指针、继承、多态性,函数模板,类模板等内容。因此,在C++语言的教学过程中要做到抓住重点着重讲解,对于难点内容,不做过多要求,灵活处理。

4.C++语言教学方法探讨

4.1采用传统教学法

所谓传统教学法是一种以知识为本位的教学,这种教学重在强化知识,只关注知识的接受,学生成了盛装知识的容器,教师不关心学生的接受效果。在C++课程的教学过程中,无论是职业院校还是本科院校,过去都采用传统教学法。本来C++语言课程是一门实践和应用课程,容易激发学生学习的兴趣。但由于采用传统教学法,结果使得学生学起来很吃力,也没有兴趣,最后产生害怕甚至放弃的想法。因此,C++语言课程采用传统教学法确实不合时宜,不仅老师授课觉得乏味,学生听课也更加枯燥。

4.2采用任务驱动教学法

所谓“任务驱动”就是在学习信息技术的过程中,学生在教师的帮助下,紧紧围绕一个共同的任务活动中心,在强烈的问题动机的驱动下,通过对学习资源的积极主动应用,进行自主探索和互动协作的学习,并在完成既定任务的同时,引导学生产生一种学习实践活动。

在C++语言教学过程中运用任务驱动教学方法,就是把教学内容分解成许多小的任务,在完成这些小的任务过程中学习和掌握C++语言的教学内容。这种教学法中,教学主导者由传统教学中的老师变成了教师和学生一起参与,教师帮助学生,在一些问题的驱动下,来完成这些给定的任务。这种教学法能有效调动学生学习的积极性,使学生在学习过程中通过完成任务而获得成就感,从而激发他们进一步学习的欲望。当然这种教学法也使学生掌握知识的能力大大提升。

4.3采用项目教学法

项目教学方法是一种以项目为核心的教与学的方法。项目通常包含某个特定主题的深入学习,在老师的配合下,由一组学生共同工作、研究、寻找问题的解决方案。在项目教学中,学习过程成为一个人人参与的创造实践活动,注重的不是最终的结果,而是完成项目的过程。学生在项目实践过程中,理解和把握课程要求的知识和技能,体验创新的艰辛与乐趣,掌握分析问题和解决问题的思想和方法。

在C++语言教学过程中,采用项目教学法,就是把教学内容的知识融合在一个项目里面,再把这个项目分成多个小项目,在老师的指导下,分成多个小组,每个小组成员进行分工合作来完成项目。这种教学方法给了学生更多的自由空间,让学生具有创新能力,同时也调动了学生学习的积极性,使学生既学得快又学得好,知识的掌握也比较牢固。

4.4几种教学方法的比较

我在职业院校带C++语言课程已有几年,分别对上述几种教学法都进行过尝试和实验。下面把使用这几种教学法学生对C++语言同一知识点掌握情况的抽样调查情况做一个比较。比较情况如下表1所示。

表1 几种教学法学生掌握知识情况对照表

通过上表中几种教学法的比较不难看出,在C++语言教学过程中,采用传统教学法学生能掌握知识点的通过率低于其他两种教学法。采用任务驱动教学法,学生掌握的知识点的通过率高于传统教学法,低于项目教学法。采用项目教学法,学生掌握的知识通过率最高。因此,C++语言课程教学方法的选择与学生掌握课程知识的效果有着直接联系。尤其是对于高职院校,学生基础较差,对书本知识掌握较困难,他们都喜欢在实践操作中来掌握课程知识,课程教学法的选择几乎决定了他们对这门课程知识的掌握程度。

5.结语

本文以C++语言课程教学为载体,分析了C++语言课程采用几种教学法教学的优点及缺点,主要探讨了学生对课程知识的掌握情况、学生学习兴趣的培养及学生动手能力和综合素质能力等方面。以期本文能给教学工作者及相关人士以借鉴和思考。

参考文献:

[1]景雪琴.C++语言程序设计课程教学探讨[J].高等教育研究学报,2005(02).

[2]刘晓妍,胡彦玲.基于C++的面向对象程序设计教学改革与研究[J].电脑知识与技术,2007(03).

[3]龚静,李英杰.高职程序设计语言课程实验教学探讨[J].湖南环境生物职业技术学院学报,2010(01).

c语言课程设计小结篇2

关键词:C语言程序设计;多媒体;研究

中图分类号:G642 文献标识码:A

1多媒体技术在C语言课堂教学中的应用

在C语言课堂教学过程中,应用多媒体组合教学方式,能将传统的教学媒体与现代教学媒体有机地联系起来,相辅相成,互为补充,充分发挥各自的教学功能,优化课堂结构,提高课堂教学质量。

利用现代教学技术及计算机的多媒体技术,将现代教学媒体与教学目标紧密联系在一起,优化课堂教学结构,使课堂教学效果最优化。

1.1多媒体应用可提高编写C语言程序的逻辑思维能力

C语言教学的主要目标之一就是培养学生的逻辑思维能力。多媒体能用具体形象的媒体展示,使学生能从中体验形象与抽象的关系,总结规律。在课件的制作中,可适当地运用动画、影片和声音来对学习氛围进行调节。在上课前,不再让学生起立,而是通过媒体播放一首乐曲,让学生在专心致志的欣赏中达到情感智商的提高,有利于学生逻辑思维的发展。如在讲函数概念时,可设计插入一个五子棋的游戏,使同学在跃跃欲试的同时,结合教师课题讲解,对函数功能的认识从抽象具体抽象的过程中达到对函数的深刻理解。在制作各张幻灯片画面时,注意用意明确,使常规C语言教学中要求的基本技能、重要的思想方法、运算能力和分析问题解决问题的方法得到连续,贯通。适当地对个别事例做好演示的连接,避免操作过程中的混乱。

在对学生发散性思维能力的培养方面,我们可以用数的交换贯穿函数整章,在制作上采用了多种不同的方式来表达多个数在交换时的不同方式。启发学生的思维,使学生能在实践生活中体验函数的存在,对开阔学生视野,体现发散思维的流畅性、变通性有较大的帮助。

1.2多媒体应用可提高学生学习C语言的兴趣

C语言课程的特点之一是内容抽象。因此,考虑如何在传授知识的过程中做到生动形象,是C语言教师在教学实践中时常思索的问题。而多媒体在C语言教学中应用可以较好地解决这个难题。例如在指针的使用中,学生对指针很难建立起直观印象,对指针的应用更是把握不定。在设计这一部分课件时,可采用动画显示指针的存储方式和执行动作,例如,先用两个抽屉存放钥匙开锁问题引起学生的思考,然后引入指针在传送数据时的动作特点。可以使指针自左飞入,然后按动画叠放次序播放,表达指针将要传送数据的位置,加深了学生对指针的特征的掌握。

多媒体也可应用于C语言教学中实验模拟和难点突破。学生在高职阶段对C语言掌握有两大难点:逻辑思维的转变与实际问题解决。以往教师对这两个难点很难解决,面对枯燥的C语言操作界面很难解释清楚C语言对高职学生学习的重要性,无法激发学生学习的兴趣。现在可以在选择相关软件的基础上,设计有关课件用于计算机模拟实验,并可多次重现,帮助学生复习掌握。例如,广告灯设计,可以借助单片机进行实物展示,突出C语言实际应用的特点,促进学生对C语言的理解。

2多媒体技术在C语言教材设计中的应用

在高职C语言教学中,应用多媒体教学,能增加教学容量,设计实际问题情景,重新组织教材结构网络,提高学生的C语言素养和应用能力。

多媒体应用能丰富课堂教学容量。课堂教学是师生的共同活动,而活动的主体应该是学生,采用多媒体教学,教学容量比以往的常规教学容量多,教师应注重掌握教学节奏。节奏的快慢强弱、轻重缓急,要根据学生的具体情况而定。在设计课件时应从以下方面考虑节奏情况:

2.1增加问题情景设计,激起课堂高潮

以往的C语言教学课件因程序化太浓,难以达到学习的高潮。而用 PowerPoint2003自编课件,灵活结合教材与教学实际是可以做到的。如对“结构体概念”设计可采用问题情景:放一个关机订票的电影片段,然后向学生提出在整个影片播放过程中,如何实现对登机人员身份资料的查找?如何才能实现资料的快速查找,有多少种方式?让学生集中精神观看后,情绪高涨,思路开阔,对结构体的认识和使用也有了清晰的认识。在对一堂课的归纳、小结时,采用网络技巧及特写处理,把本节课的主要内容思想和解题技巧以特写方式归于一张幻灯片中,并配上轻松的背景音乐,使同学能掌握学习C语言的重要方法。

2.2考虑学生的学习规律,培养师生感情

课堂45分钟,学生眼睛盯着荧光屏容易产生疲劳感,在每一课件的适当位置给予学生思考与活动、讨论的时间,既让学生积极参与,又能注意学生的学习反应,克服因人机对话造成的情感淡薄的问题,培养学生的情商。在课件的设计中,可以根据不同教学内容加入情景问题。如在“分支结构”的课堂设计中,可以在适当的时候加入一些小的心里测试问题,以这样的情景,使学生区分什么是单分支结构、二分支结构和多分支结构。在师生讨论和操作、分析过程中,学生既能体会到C语言中分支结构的作用,又可体会到学习过程中的乐趣。

3多媒体C语言教学软件设计思路与技术

计算机辅助教学软件与多媒体教学软件的设计,是多媒体在课堂教学应用的关键。本文根据近年来计算机网络的发展现状,提出在C语言课堂教学中多媒体应用的设计思路和具体步骤。

教育手段现代化的有效性,是教师探索课堂教育方法、手段的方向。要在45分钟的课堂教学中提高教学的效益,进行高密度、高容量的教学,多媒体的应用势在必行。在高等职业技术学院C语言课堂教学中探索用计算机辅助教学,让多媒体在C语言教学中体现多媒体的最佳效果和C语言教育的特色,使学生的思维能力能不断向高层次发展。

在多媒体应用中,根据目前市场上发行的多种工具软件,结合学校的现有硬件设备,可以选定Office 2003中的PowerPoint 2003软件,利用PowerPoint 2003的演讲演示和新增加的扩展功能配合课堂教学,达到培养学生C语言思维、开拓视野、陶冶情操的目的。在多媒体的应用中,除了软件的选择外,还有课件的制作,选择 PowerPoint 2003作为制作课件软件,主要是 PowerPoint 2003有强大的通用性、易操作性和课件制作的简单性。PowerPoint 2003 面向Web,包括用于即时制作网页的Html选项,能提供50多个模板,它能和Internet Explorer极好地结合在一起,利用了ActiveX技术,可方便地从硬盘或网络上调用其他课件。

在PowerPoint 2003中制作一张幻灯片只要十来分钟,而且其精美程度是普通的胶片难以达到的。在C语言教学中一般一堂课制作5至8张幻灯片,用程序连接可达十多张幻灯片,还可用网络连接其他课件,使课堂上的知识容量大大加强。

计算机辅助教学软件与多媒体教学软件的设计是多媒体在课堂教学应用的关键。在课堂多媒体辅助教学中,教师往往在教学的媒体上选择实物、模型、挂图、录像、录音、幻灯、投影等媒体,但多种媒体临时性拼接往往使教师应接不暇。而采用PowerPoint 2003可以把实物、模型、挂图、录像、录音等媒体利用超级链接组合在一起,通过幻灯投影方式在课堂中应用,收到较好效果。同一张幻灯片中的信息,可通过动画设计使图像、声音、文字、图表等按照一定顺序出现。

3.1多媒体C语言软件制作方法

制作新的幻灯片时,可以从50种自动版式中选择任意一种,每种自动版式的版面设置各不相同,可以按自己的需要选用。例如,有一种版式提供标题、文本及图表的占位符,另一种则提供标题和剪贴画的占位符。如果要创建新的幻灯片,单击“常规任务”工具栏上的“新幻灯片”。要在标题或文本占位符中输入文本,在该处单击可直接输入。教师可以让每个C语言题目或C语言提示单独出现,或者让其逐个出现。也可设置每个C语言题目或C语言提示出现在幻灯片上的方式(例如从左侧飞入)。

PowerPoint 2003中还有一项新功能,可以让图表元素呈动画效果。先在幻灯片视图中,单击“幻灯片放映”菜单中的“自定义动画”,再单击“播放设置”选项。设置幻灯片放映时播放声音或影片时,可先在幻灯片视图中,选择要设置选项的影片或声音图标,后在“幻灯片放映”菜单中的“自定义动画”,再单击“播放设置”。动画幻灯片上的文本、形状、声音、图像和其他对象,这样就可以突出重点、控制信息的流程,并提高课件的趣味性。

课件中可设置超级链接,以便在幻灯片中移动,或跳转到其他幻灯片和程序中,如连接到Web或其他资源。

3.2多媒体C语言课件的设计思路与步骤

制作课件时一般采用以下具体步骤:

(1) 设计课堂教学的思路,建立相关要素分析表。

课题:教学内容、学习水平、教学目标、教学媒体

要点:构成(知识)、事实、概念、原理、观察、推理、其他(能力)、识记、理解、应用、综合

幻灯片:图片、音乐、影片

(2) 建立文档,设置模板。

(3) 按照教学目标制作幻灯片。

(4) 设计多媒体动画与程序连接。

(5) 课件调试与格式转换。

(6) 及时对课件评价与修改。

4小结

在多媒体应用于C语言课堂教学中,有以下几个技术问题有待解决:

(1) 各种软件的配套与硬件的兼容。国外有一定数量的C语言教学软件,但因软件的配套与硬件的兼容问题而无法使用。

(2) 学生信息的反馈。在多媒体应用时,PowerPoint 2000虽能做到丰富C语言课件的内容,但人机对话功能发挥不够,若学校设备联入校园网或每个学生都能自己熟练操作计算机,学生的信息反馈能很好地解决。

(3)C语言推理、论证的培养。在目前计算机技术中,计算机优势在文字、图形等信息的传输与处理,对C语言符号的处理以及C语言中常见的推理、论证有相当的难度,C语言教学智能软件笔者还未了解到。由于技术原因,教师在中学C语言教学中的作用是不能用多媒体代替的。

如何在高职C语言课堂应用多媒体进行教学,如何设计出高水平的C语言课堂教学课件,采用何种适应C语言教学的设计软件,是C语言教育工作者、CAI专家、计算机程序设计师共同研讨的课题。

参考文献:

[1] 谭浩强.C程序设计[M].北京:清华大学出版社,1990.

[2] 谢乐军. 程序设计及应用[M]. 北京:冶金工业出版社,2004.

[3] 彭雪峰,冯小平,姜鑫焱. 浅谈多媒体教学在C语言教学中的应用[J]. 科技信息:学术研究版,2007(1).

[4] 赵拥华. 关于计算机多媒体在教学中的应用的研究[J].电脑知识与技术,2009(9).

[5] 吴敏. 充分利用多媒体技术推进C语言教学发展[J]. 中国电力教育,2007(9).

[6] 柯晓华.浅谈高校C语言程序设计课程教学[J]. 安阳工学院学报,2006(5)

[7] 赵子江. 多媒体技术应用教程[M]. 4版. 北京:机械工业出版社,2004.

[8] 方加娟,李红霞.多媒体辅助教学在C语言教学中的应用[J]. 计量与测试技术,2006.

[9] 潘爱武. 多媒体教学法在C语言教学中的合理运用[J].科教文汇,2007(9).

The Application of Multimedia Technology in the C Language Teaching

ZHAO Hong-kai

(Vocational and Technical College Office of Academic Affairs, Guangdong Zhaoqing Institute of Science and Technology, Zhaoqing 526020, China)

c语言课程设计小结篇3

C++语言是在C语言基础上发展而来的一门面向对象的高级语言。教无定法,教学有法。对于计算机专业大学生的C++程序设计语言教学方法,必须结合当前大学生基础和实际情况,进行教学方法改革和教学模式创新,提高教学质量和效果,使得计算机专业大学生不但能够掌握面向对象的理论知识,而且具有一定的可视化编程与调试能力,实现理论与实践相结合,达到工程应用型的实用人才水平。如何在有限的学时内使得大学生能够找到科学的创新学习方法[4],尽快掌握C++语言基本理论和具备编程能力,是每位任课教师都需要面临的难题。

二、教学模式创新

为了培养面向工程应用的C++程序设计人才,在知识、能力、应用、创新等各方面全面培养大学生,本文提出“双主互动为纲、两个创新、两个学习、两个支持、四个课堂”的教学模式,使得学生能够达到掌握理论知识和具备编程能力的工程应用水平。教学模式创新的基本框架如图1所示。

本课题组的教学模式采用双主互动教学为纲,即基于师生互动的教师主导学习和学生自主学习。两个创新是指对教学内容和教学方法分别进行创新。教学内容创新是指教师对教学内容进行梳理分解,突出重点,并及时将新内容、新科研成果、新概念、新技术等内容补充进来,改善课程知识结构,以适应社会对计算机编程人才的需求。教学方法创新是指采用互动式、全方位的教学方法,进行理论与实践相结合、教学与科研相结合、课内与课外相结合。两个学习是指将学生分成多个小组进行讨论学习、对C++的开发环境进行学习,使得学生面向学以致用的培养环境。两个支持是指教师要采用各种手段和方法对学生的学习进行指导支持,包括面授支持、电话支持、e-mail和QQ等网络支持。四个课堂是指理论教学课堂、上机实践课堂、课程设计课堂和其它课余时间的课堂。

三、采用自然语言启发式教学方法,提高学生理解能力

C++语言是一门计算机程序设计语言。C++语言教材从前到后系统性特别强,前后章节之间环环相扣,联系紧密。由于面向对象的很多新的概念比较抽象,如果教师在教学中仅仅把教材上的语法知识照本宣科地讲给学生听,会导致下面大部分学生听不懂,学生会很容易感到枯燥乏味和厌倦疲劳,从而产生排斥和厌学情绪。这种抵抗情绪一旦从开始就产生,则将影响后续整个学期的教学效果。由于从头到尾都听不懂,老师在课堂上提出的问题学生也无法进行互动,这种灌输式的教学方法效果非常差。而教师要根据课堂实际情况,采用互动式教学方法,培养学生的主动学习能力,才能得到良好的教学效果。

1.第一次课程教学中,明确C++语言课程的重要性

目前C++语言是大多数电子、信息、计算机相关专业的非常重要的程序设计课程,也是这些大学生后续专业课学习、毕业设计、以后上研究生或参加工作进行计算机软件和IT开发的主要编程语言,广泛应用于软件设计和开发中。要让大学生有危机意识,在大学生就业如此严峻的情况下,学好C++语言,能够提高大学生以后在就业竞争中的筹码。

2.讲课过程中,对C++语言中的很多概念,结合自然语言进行讲解

C++语言作为一门计算机语言,它和人类的自然语言相比,既有区别,又有联系。在讲解一些关键概念时,采用一些浅显的自然语言的例子,提高学生的理解能力。本文作者在讲述一些关键概念时,将这些概念和自然语言结合进行循序渐进启发式讲解,激发学生的学习兴趣,起到了非常好的效果。下面举几个例子。

(1)引用是C++语言中第一个新的概念。引用类似于自然语言中的别名或者绰号,是正名的别名,没有正名就没有别名。例如唐太宗就是李世民的引用。李世民是正名,唐太宗是别名。正名和别名属于一个变量,共用同一片内存空间。引用主要用作函数的参数传递,形实结合后不会产生临时的变量,节省了内存空间

(2)类和对象是C++语言区别于C语言中普通数据类型和变量的概念。类是具有相同属性和行为的一组对象的集合,它为属于这个类的所有对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分。类和对象的关系就像模具和铸件的关系一样,类就相当于模具,对象就相当于铸件。一个模具可以生产出成千上万个铸件。

(3)友元是C++语言中另一个新的概念。在数据共享与保护中,友元类似于自然语言中的朋友,但是友元和自然语言中的朋友既有联系又有区别。人类的朋友关系通常是双向的、可以传递的,但是C++中的友元关系是单向的、不能传递的。

3.引导学生合理安排课程的学习时间,培养学生的学习兴趣

教师可以把学生分成若干个小组并布置一些编程作业,培养他们的团队协作意识,并共享小组编程成果,使得他们对自己编制的程序能够运行和产生正确的结果具有自豪感,提高学生的学习兴趣。由每一个小组各自给全班同学讲授和演示自己的算法、编程思路、运行结果,既能够锻炼学生的编程与演讲能力,又能够在课堂中产生良好的互动。

4.讲课过程中尽量做到幽默风趣,灵活运用教学手段

教师在上课时,要做到风趣幽默、声音洪亮、带人真诚、平易近人、知识渊博、通俗易懂,才能产生良好的教学效果。教师要灵活运用多种教学手段,尽量采用多媒体教学,在PPT幻灯片中多做一些动画效果,或者以Flas演示程序的动态运行过程。教师在C++语言教学过程中要根据课堂中学生的反应,随机应变,结合我国传统文化与最新国内外时事,让学生潜移默化地学习一些难以理解的语法,则能达到事半功倍的效果。

四、对一些难以区分的概念采用表格形式进行对比和总结

C++语言是在C语言基础上发展起来的面向对象的高级语言,全面兼容C,但是又增加了很多新的较为复杂的语法知识点。对于一些学生难以理解和掌握的语法知识点,如果教师不帮助学生及时进行总结和举一反三,按照大学生初学的水平很难真正达到掌握和编程应用的水平。因此,教师可以在讲完某些知识点后采用表格的形式进行对比和总结。例如,C++中引用和指针的区别总结表,普通指针、指向常量的指针和常指针三种指针所指向的内容和指针本身能否改变对比总结表,对基类中具有不同访问属性的成员经过不同方式继承后在派生类中的访问权限的比较和总结表,运算符重载时重载为类的成员函数和友元函数、前置、后置自增、自减运算符参数个数总结表。

五、熟悉Visual C++编程环境,具备图形界面编程能力

目前,Visual C++ 6.0是比较经典的开发环境。即使掌握了C++基础知识,仍然难以高效掌握使用Visual C++的编译器。为了培养实用型软件开发人才,教师还应该进行Visual C++编译器的入门教学,培养学生掌握如下知识:

1.能够使用Visual C++开发环境进行界面设计;

2.能够创建简单的基于MFC的应用程序;

3.能够使用类、函数和消息映射机制;

4.能够利用开发环境有效创建对话框、按钮和菜单等资源。

当然,对于Visual C++的学习,一本好的教材也至关重要,现在的书店和图书馆各种Visual C++的学习教材五花八门,不泛互相抄袭、错误百出、误人子弟的教材。如何从这些书籍的海洋中找到合适的入门教材,对于作为初学者的大学生来说有点难为他们。本文作者也买过不少Visual C++学习的书籍,其中不少书就没有任何学习价值,既浪费钱,又浪费时间。作为教师,有责任和义务为学生挑选一本优秀的、很容易入门的教材。本文作者和周围很多从事Visual C++语言开发的朋友们都认为Jon Bates主编的《实用Visual C++ 6.0教程》是一本非常不错的教材。本人在每个学期给学生教学时,都会将这本教材的电子版发给同学们,而且从他们的反馈来说,效果确实不错。

六、理论与实践相结合,提高程序编程与调试能力

理论必须与实践相结合,才能得到验证,否则只是纸上谈兵。作为一门计算机语言,C++程序设计的实践性操作特点决定了上机实践是课程学习中的重要环节。授之以鱼,不如授之以渔。帮助学生编程序或调试程序,不如教会学生编程序或调试程序。因此,在教学中,教师可以从如下几个方面进行考虑:

1.上课时教师提前给同学们将上机编译器环境、各种单步调试、断点调试的方法传授给学生,并布置好上机操作的题目,这样学生在上机前就会有充分的准备,做到有的放矢。

2.针对性地给学生布置一些具有趣味性的程序设计题目,让学生通过查资料、上网和请教老师等多种方式编程调试,培养学生解决问题的能力,让学生感到有成就感,提高学生的学习兴趣。

3.对学生的上机存在的问题进行总结,对于一些普遍存在的问题要在课堂上统一进行讲解。并且也要对对自己的教学方法和教学模式进行实时总结和改进,形成闭环。

按照本文作者研究的教学方法,经过一个学期的理论教学与上机实践学习,在学期期末考试前的一个月对2010级计算机科学与技术专业1班全班52个学生划分为13个小组布置了课程设计项目。每4人一个小组,由每个小组自己推选出1个组长、1个副组长和组员。组长负责课程设计项目的总体实施和分工,副组长协助,组员配合。课程设计的考核是每个小组交一份打印课程设计报告,包括项目题目、小组成员、程序设计结构、流程图、源程序、实验运行结果。每个小组推举一名学生在讲台上进行10分钟的PPT演讲,老师和学生进行5分钟左右的提问。考核成绩是由老师根据课程设计报告、演讲PPT内容、回答问题效果等项目进行打分。经过一个学期的C++理论学习和一个月的课程设计,全部小组都按时递交了课程设计报告和进行了汇报演讲,其中不少学生讲的非常精彩,这对于他们也是一种不可多得的实战锻炼。学生普遍反映通过理论与实践结合的学习开阔了视野,提高了工程应用能力,培养了团队协作能力,增强了学习信心,达到了前所未有的良好效果。

七、结论

本文作者根据多年来的教学体会,提出将满堂灌式的教学方法转变为以学生为主体、以活跃式课堂为形式、以课程实际相结合的多模式创新教学方法,真正实现教师为主导、学生为主体的互动式高效教学创新模式。

参考文献:

[1]郑莉. C++语言程序设计[M].北京:清华大学出版社,2010.

[2]钱能. C++程序设计教程[M].北京:清华大学出版社,2009.

[3]谭浩强. C++面向对象程序设计[M].北京:清华大学出版社,2006.

[4]王卫军.教师信息化教学能力发展策略研究述[J].电化教育研究,2012, 229(5):103-109.

c语言课程设计小结篇4

关键词:C语言,程序设计,教学改革

中图分类号:G424文献标识码:A文章编号:1009-3044(2008)32-1166-03

Exploration on Transform in C Language Teaching

XIANG Xiang-qin1,2

(1.Laboratory of Network and Intelligent Information Management, Hefei University, 230601,China;2.Dept. of Computer Science & Engineering, Anhui University, 230039, China)

Abstract: Unifing teaching practice, the article has analyzed the question, it’s hard to teach and hard to learn, which exists in teaching and learning of C language programming in applied universities. In order to solve the problem, through reforming teaching content and teaching methods and means, teaching reform in C language have been explored. It is very useful to lead the students to understand course correctly, cultivate the interest of students, increase the ability of analysing and resolving questions and increase the students’ ability of using hands. And good teaching results have been achieved.

Key words: C language; programming; teaching reform

1 引言

程序设计是人们开发和利用计算机各种功能最直接的工具,对于理工科的高校学生而言,掌握一门高级语言是非常必要的。C语言是在国内外得到迅速推广应用的一种计算机程序设计语言,它既具有低级语言的特点,又具有高级语言的优点。并且《C程序设计》也是《C++语言程序设计》、《数据结构》等计算机专业课程的前导课程。现在许多高等院校将C语言作为理工科学生的第一门程序设计语言课程开设。

2 教学改革的必要性

传统教学法,过于注重C语言的词法、语法等理论知识的传授,而对如何分析问题、解决问题讲得不够,如何设计算法介绍不多;对学生自学能力、编程的能力和调试程序的能力培养不够,不够重视学生实际动手能力的培养,没有真正挖掘学生应有的潜力。学生经过一学期学习的效果往往是,了解了C语言的简单构成,掌握了一些程序设计的语法基础,能读懂别人写好的程序,或者会背程序,自己却不能针对一个具体的问题,设计出简单、合理的算法,不能独立编写一个完整的小程序。作为程序设计语言,教学的最终目的,就是让学生能自己分析、设计、编程和最终调试通过。所以说,C语言的教学改革需要已经迫在眉睫。

3 教改的主要内容

C语言牵涉到的概念比较繁多,规则复杂,记忆较难,编写程序时容易出错,再加上C语言教学一般以TurboC为主,TurboC的调试环境不是可视化的过程,这对于先接触Windows操作环境的学生来说,在客观上造成了掌握C语言程序设计知识的难度。而且,C语言一般是在高校低年级开设,学生刚入学,部分学生数学基础差,没有经历过程序设计能力的训练,这在某种程度上加大了讲授和学习C语言程序设计的难度。如何提高此课程的教学效果呢?笔者在C语言的教学活动中进行了一些改革与探索,取得了较好的效果。现将本人的教学心得加以总结,抛砖引玉。

3.1 引导学生正确认识本课程

C语言对大多数高校学生来说,在入校前或入校后,都曾听说过,有个概念上的了解。也就是因此,学生对C语言这门课的理解存在不足,主要表现在:一是C语言已经过时;二是今后不从事软件开发工作,学习没用;三是C语言太简单,可以轻松应付。

针对上述这些错误的看法,笔者在教学过程中,有意识地引导学生正确认识C语言。第一、介绍C语言的重要性:它是计算机专业基础课,说明C语言的学习对本专业后继课程学习的重要影响;第二、向学生解释高校开设的课程并不过时,所开设的大部分课程是基础理论课,就说程序设计语言吧,从面向过程到面向对象等,若是开设当前最流行的程序设计语言,这样等学生四年毕业时,当年最流行的语言就真的“过时”了,事实上,只要我们掌握程序设计的本质及核心,重点掌握分析和解决问题的方法,学习任意一种程序设计语言都可以,等真正需要运用时,可以说是一通百通;第三、不让学生死记硬背一些语法,背程序;经验丰富的软件设计者都知道程序设计的关键在于找到解决问题的步骤,即算法。

笔者对C语言教学进行改革,把授课重点放在讲授程序设计思想、方法和算法上,整个教学过程注重学生程序设计能力的培养和训练。从具体问题入手,努力把枯燥无味的“语言”讲得生动、活泼。理论与实践相结合,运用一些数学中学生很熟悉的实例,让学生能够认识到C程序设计在解决实际问题中所发挥的作用,从而让学生认识到,学习C语言可以解决多方面问题,也让学生意识到,要想学好C语言,必须具备多方面的知识,不是一朝一夕的事。

3.2 教学内容的确定

C语言知识点繁多,教师一般受传统应试教育的影响,将授课重点放在C语言的基本语法的讲授上,将教材中的所有知识点,都作为授课内容。这样,让学生觉得知识性太强,内容太多,听得枯燥无味,抑制了学生的能动性。笔者在教学改革中,首先从教学内容确定上下功夫,C语言作为第一门程序设计语言开设,一学期下来,所期望的最终目标,是能自己着手编写课本中的一些简单的小程序。因此,在授课中,讲解应放在的重要知识点,并让学生能举一反三,让学生在实践中自学,这样,将一部分知识点要求学生自学,充分发挥了学生的能动性。

3.2.1 知识点的确定

c语言课程设计小结篇5

关键词:教育技术学专业;软件开发;课程体系

作者简介:董晓丽(1976-),女,山西太原人,中北大学电子与计算机科学技术学院,讲师。(山西 太原 030051)

中图分类号:G642 文献标识码:A 文章编号:1007-0079(2013)10-0117-02

一、教育技术专业概述

教育技术学专业是教育学和技术学相互交叉、相互作用而形成的学科。目前在我国开办教育技术学本科专业的院校已经从师范类院校扩展到综合性大学、理工类院校。开设教育技术学专业的多数高校将教育技术学本科人才培养方向之一定位为教育软件与知识工程方向,该方向着重培养多媒体素材的设计与开发、教育软件设计与开发、网络课程设计与开发以及人力绩效开发与知识管理方面的人才。就专业培养方向来看,各类软件的设计与开发都要求本专业学生有很强的计算机应用(开发和实践)能力,也即计算机应用能力培养在教育技术学专业中占有重要的地位。笔者所在院校为理工类院校,对近几届毕业生的软件开发能力进行调查分析,学生普遍感觉大学四年学了众多计算机类课程,到毕业设计的时候还是不会编程,大四最后一个学期才开始边学编程技术边做毕业设计题目。究其原因,由于教育技术学科是综合性的应用学科,不可避免地在课程设置上存在一些问题:课程开设庞杂,开设多门高级语言程序设计类课程,知识体系有广度没有深度,导致学生学而不精;课程设置缺乏系统性,课程教学内容不连贯或者重复教学;在教学过程中注重理论教学而忽视学生实践动手能力的培养,导致学生编程能力差;核心课程知识陈旧,与现实的教育技术实践应用需求脱节,与现实的计算机发展技术相脱节。课程设置是教学计划的核心,决定着学校的教学内容和学生的知识结构,直接关系到人才的培养质量。为实现应用型人才培养目标,研究并建立适合教育技术学本科专业的计算机软件开发类课程体系,切实提高该专业学生的计算机应用能力是目前重要的课题。

教学技术学专业是一个跨学科的专业,本科生在四年中所能接收的信息量是有限的,不可能将交叉学科的所有系统知识都纳入学习的范围,因此在明确培养目标的前提下,设置计算类课程时不应该“杂而全”,而应该是“专而精”;其次要注意课程与课程之间有效的衔接,避免前后脱节;再次应注意同市场需求以及计算机学科发展结合起来,开设的课程符合社会发展需求;最后突出实践能力,加强动手能力的培养。教育技术学专业本身是一门实践性很强的学科,人才的培养本着学以致用、以学促用理念。

二、课程体系建设

教育技术学本科专业计算机软件开发类课程体系建设目的是让学生熟练掌握一至两门编程语言,熟悉相关开发方法、工具和平台,综合运用所学知识去解决实际问题。鉴于目前主流的编程技术有.NET和Java编程,建立以“C-C#-Java”语言类课程为主线的课程体系,从初级到高级、由简单到复杂,循序渐进逐步提高学生的软件开发能力。

Java语言是面向对象的编程语言,也是目前阶段开发应用程序的首选语言,但是对于大一新生来说,直接接触面向对象编程思想有一定的难度,因此在大学第一学期仍然选择C语言作为程序设计的入门语言,有了C语言的基础,跳跃到C#或Java就十分容易,因为许多语法是通用的。C#是从C/C++派生来的一种简单、现代、面向对象的高级程序设计语言,由Microsoft公司设计运行于.NET框架之上,它具有语法简单、表达力强的特点,对于低年级且又是非计算机专业的学生来说,学习该语言相对比较容易,所以,在第二阶段选择学习C#语言。Java是一种可以编写跨平台应用软件的面向对象的程序设计语言,自1995年由Sun公司推出,就迅速成为全球主流的编程语言,Java基本语法规则和C语言类似,优点之一是去掉了C语言中难学的指针,有助于学习者理解和掌握。但是学习Java语言类开发技术较C#语言有一定的难度,虽然这两种编程语言都为面向对象的程序设计语言。基于上述分析,研究并建立的课程体系为学生第一学期学习C语言之后,在后续的学期过渡到面向对象的程序设计语言。围绕这三门语言类课程,再设计其余计算机软件开发类课程如何衔接。设计的课程体系结构如表1所示。

表1 课程体系结构

开课时间 必修课 大型实验

第1学期 C语言程序设计 无

第2学期 C#可视化程序设计 C#可视化程序课程设计

第3学期 数据结构 数据结构课程设计

第4学期 数据库原理及应用

(面向对象程序程序设计Java) 数据库课程设计

第5学期 Web应用系统开发(JSP) Web应用系统课程设计

第6学期 Java网络编程 Java网络编程课程设计

第7学期 J2EE企业级应用开发 J2EE企业级应用开发课程设计

第8学期 毕业设计

第一学期主修C语言程序设计,掌握面向过程的程序设计思想。第二学期主修C#可视化程序设计,这里注意的是本课程内容包括两部分:一是C#语言基础介绍,二是.NET技术,可视化界面的设计部分。通过Windows界面的设计,学生获得面向对象的感性认识以及认识到编程的实用性,从而提高编程兴趣,有助于后续学期进行软件开发类其他课程的学习。第三学期主修数据结构,目前数据结构课程的教材有C、C++以及Java语言版,由于到此阶段学生未接触Java语言,所以选择C语言版的,学生可用C语言来实现数据结构中的算法,对于Visual C#.NET掌握较好的学生,在数据结构课程设计时可选择用C#语言实现数据结构中描述的算法。第四学期主修数据库原理及应用课程,在讲授数据库编程内容时,由于学生在前面学期已经学习过可视化的程序设计(应用系统前台界面的设计),即已经掌握.NET开发平台的使用,可以重点讲述利用技术如何进行数据库的操作。第四学期同时开设面向对象程序设计(Java语言)课程,为后续课程打基础。第五学期直到第七学期每学期均开设Java语言应用开发类的一门课程,具体包括Web应用系统开发(JSP)、Java网络编程、J2EE企业级应用开发。每学期均安排相应课程的课程设计,有助于消化所学知识,同时锻炼和提高学生分析、设计、编程能力。第八学期学生主要任务是毕业设计,如果是软件开发类题目,那么学生可以利用已经学习过的主流技术.NET或J2EE来完成。

综上所述,将教育技术学专业学生计算机应用(开发和实践)能力的培养分为两个阶段:在大一、大二阶段,掌握C语言结构化编程、面向对象编程(C#)、图形用户界面编程、数据结构及算法、数据库编程,为专业培养目标打下编程基础,该阶段注重.NET技术开发;大三、大四阶段,掌握面向对象编程(Java)、小型Web应用系统的开发(JSP)、Java网络编程、J2EE企业级应用开发,该阶段注重Java程序开发。

以上课程体系安排使学生在大学四年的前两年基本会利用.NET技术进行一些简单小型应用软件项目的开发,如学生对.NET技术感兴趣的话,可以利用大学四年的剩余学期边学习新的课程,边利用业余时间拓展自己的.NET编程技术。学生从第四学期(即大二阶段)开始学习Java相关课程,即Java应用开发阶段,学生利用在校的两年时间主修Java软件类开发课程,学习主流Java开发平台和框架的使用,最后掌握企业级应用系统的开发,逐步提高学生的软件开发能力。这样,大学四年软件开发类课程不断线,且从第二学期开始,每学期都安排课程设计,通过课内实验以及课程设计实践提高学生的软件开发能力,解决学生学习了众多编程语言却不会编程的问题,学生在毕业设计前具备独立开发应用系统的能力,从而提升该专业学生就业竞争力。

三、课程内容解析

以下对课程主要教学内容及教学目标作简要阐述。

1.C语言程序设计基础

掌握C语言的基本结构、各种数据类型、控制流程、函数、数组、指针和结构体的语法及语义,使学生了解结构化程序设计思想,学会用结构化方法编写程序,初步具备解决实际问题的能力。

2.C#可视化程序设计

掌握C#高级语言基础、Visual Studio 2008集成开发环境的使用、Windows界面控件的使用、事件驱动的编程机制,使学生获得面向对象的感性认识,初步拥有Windows应用编程能力。

3.数据结构

掌握数据结构的基本概念和各种基本的数据结构,包括数据的逻辑结构(线性表、堆栈和队列、广义表和字符串、树与二叉树、图、文件等)、存储结构(顺序存储、链式存储)以及在这两种结构基础上对数据实施的基本操作(算法)的设计与分析。

4.数据库原理及应用

掌握数据库系统的一般概念、数据模型、关系模型、SQL语言、数据库安全性、完整性、关系数据库理论、数据库设计、数据库编程、数据库管理系统的使用以及运用开发平台开发数据库应用系统的方法,为从事数据库应用开发打下基础。

5.面向对象程序设计(Java)

掌握Java语言基础、面向对象程序设计思想(抽象、封装、类、继承与多态)、工具类、图形界面编程、异常处理、文件输入输出、数据库编程、Java Applet 编程、开发环境与工具的使用等。着重培养学生对Java 编程思想的体会,为进一步学习Java 语言打好基础。

6.Web应用系统开发(JSP)

掌握JSP软件体系结构、运行环境的安装与配置、JSP基础、JSP常用内置对象、JSP与JavaBean、JSP操作数据库、Java Servlet技术,使学生掌握JSP基本理论知识,能够运用JSP进行Web小型应用系统开发。

7.Java网络编程

掌握网络编程基础知识,基于TCP、UDP以及FTP等应用层协议的Java应用开发,使学生掌握“基于协议”的网络程序开发方式。

8.J2EE企业级应用开发

掌握J2EE的体系结构、Servlet、EJB以及利用开源框架(Struts、Spring和Hibernate)进行J2EE程序开发,使学生掌握基于J2EE的企业级应用系统的开发方法。

四、实践教学体系

与上述课程体系配套的实践教学体系包括每门课程的课内实验和课程设计。课内实验部分主要是基础性实验和验证型实验,重点加深学生对知识的理解,掌握基本技术和方法。从第二学期开始,每学期都安排大型的课程设计,课程设计需要综合一门或多门课程的内容。C#可视化程序课程设计,体验C#的编程思想以及组件开发原理,利用Visual Studio2008集成开发环境来完成应用系统的设计,初步体会面向对象程序开发的思想。数据结构课程设计主要针对具体问题进行数据结构与算法设计,并用C语言或C#语言实现。数据库课程设计主要针对具体问题,按照数据库设计的步骤进行,学生可利用已掌握的.NET技术实现具体数据库应用系统。本课程设计涉及技术和数据库两门课程的知识,是对学生综合分析、设计以及编程能力的检验。Web应用系统开发(JSP) 针对具体问题,运用JSP技术及JDBC数据库访问技术,利用开发平台实现小型的Web应用系统,主要检验学生运用JSP技术解决实际问题的能力。Java网络编程课程设计主要检验学生“基于协议”的网络程序开发能力,即学生运用已掌握的网络编程技术进行基于TCP、UDP、FTP等协议的小型应用软件的设计与开发。J2EE企业级应用开发课程设计主要针对Java企业级架构开发,学生使用Struts、Spring和Hibernate进行整合开发Web程序。在完成课程设计任务过程中,学生需要查阅课外知识,有助于培养学生的自学

能力,同时锻炼和提高学生综合分析、设计和编程能力,完整体验到一个应用系统开发的全过程,巩固了已学的知识,为毕业设计和就业打下良好的编程基础。

五、与课程体系相关的教学改革

1.改革教学手段

采用案例教学法。由于学生缺乏实际开发经验,为了充分调动非计算机专业学生学习软件编程积极性,在上课前期就强调应用,精心准备一些与课程相关的应用软件系统案例,使学生从接触课程开始就认识到学习编程的实用性,从而提高学习的兴趣,有利于整个教学过程的实施。

2.改革实践教学环节

转变“重理论、轻实践”的观念,建议采取课堂教学与实验教学相结合、课内与课外实践相结合的教学方法。教师可将课堂教学中技术性、操作性、应用性比较强的内容直接在实验室中进行教学,采取边讲边练的教学方法,使学生在实际操作中掌握相关的知识、技能和方法;为了更好地培养学生的实践能力,应积极加强课外实践活动,例如参与其他院系的网络精品课程建设、教学网站的设计与开发和教育游戏软件的设计与开发等,这些课题本身就属于教育技术学专业应用研究课题,学生在参与过程中,不仅锻炼了动手编程、解决问题的能力,同时还锻炼了与他人合作解决问题的能力,使人才培养方案与社会需求结合,做到学以致用。

3.改革实践教学考核方式

实验考核不但可以考核学生对知识的掌握程度,还能够激发学生的学习积极性,对学生有很大的引导作用。实验部分分数比例设置过低,会使一些学生轻视实践环节,所以适当提高实验分数比例是必要的,且对于不同类型的实验,应采用不同的考核方式。

六、结束语

教育技术学专业是一个交叉学科,学生计算机应用能力的培养在该专业的培养方案中占有重要的地位,加强学生计算机软件开发动手能力也是当前提升学生就业竞争力采取的必要措施。在本文中,主要探讨了教育技术学软件开发类课程体系的建设,通过研究,建立了以“C-C#-Java”语言类课程为主线的教学体系,突出的是该专业学生实践动手编程能力的培养,希望能够为教学技术学本科专业的计算机类课程教学提供一些帮助和启示。教育技术学专业学生计算机应用能力人才的培养是一个循序渐进的过程,该专业计算机类课程体系的改革研究,仍然需要在实践中不断深入探索和完善。

参考文献:

[1]文冬,周燕红,原福永.理工类院校教育技术学本科专业的发展思路[J].教学研究,2007,30(1):49-52.

[2]伍顺比,姜玲.关于教育技术学专业课程体系的思考[J].现代教育技术,2007,17(8):16-19.

[3]林玉琴.教育技术学本科专业课程设置刍议[J].中国电力教育,2010,(12):92-94.

c语言课程设计小结篇6

摘要:本文针对C语言课程学习特点提出了知识模块化、训练项目化的教学模式,通过分析C语言当前教学现状,介绍了该教学模式下项目化教学方法的设计思路、并给出详细的训练项目设计方案以及项目化教学方法的实施流程和实施效果;通过项目化教学方法的实际运用说明这种教学模式的教学效果及推广价值。

关键词:C语言课程;知识模块化;训练项目化;教学模式;探索与实践

中图分类号:G642

文献标识码:B

1C语言的重要性及目前教学现状

“C语言程序设计”课程是高等院校计算机及其应用专业学生一门必修课,也是其它一些非计算机专业学生一门重要的基础课程,它对训练学生思维能力和实际解决问题能力的培养,起到重要作用。目前多数高校的C语言教学方法主要形式仍然是以讲授语法、分析算法为主,教学学时安排大多采用理论与实践2+2的学时计划;由于C语言功能强大,表达能力强,其丰富的功能所带来的繁多的数据类型、复杂语法结构以及面向过程的结构化程序设计,传统的教学方法理论学时学语法、讲算法,实践学时让学生通过做练习题,记住语法、算法,使初学者感觉C语言学习难度大,学习过程枯燥,因而很多学生在学习C语言时不是理解算法而是去“背”算法,更少有学生去欣赏精巧的算法。因此,在C语言的教学过程中,教师必须找到适合学生学习特点的教学手段和方法,合理地组织教学内容、精心地设计教学案例。由于“C语言程序设计”课程也是一门实践性很强的课程,除了合理的理论课堂教学,还必须重视上机实践环节,通过让学生动手实践,巩固和消化理论教学内容,因此如何设计实践教学环节的上机任务,使学生有兴趣动手编程,又能恰当与理论教学内容衔接好,使实践环节有充分满的上机任务,从而让C语言的学习过程由枯燥变为愉快的探索之旅。

本文介绍的C语言课程阶段性项目化训练教学方法,正是针对目前C语言教学现状中存在的不足而提出,并且阶段性项目化训练教学方法在“C语言程序设计”课程中实际教学运用也取得良好的教学效果。

2C语言的学习难点分析

C语言课程在很多高校一般是一年级第二学期开设,学生对C语言学习的第一印象虽然觉得它很神秘,也很想学会它。但翻开C语言第一章,C语言丰富的数据类型、运算符和表达式等基本语法往往会让学生觉得难、枯燥,因此有些学生在还没有能了解到C语言学习乐趣时就已经在主观上产生畏难情绪,还有一些学生在上机调试程序时,编译产生的一堆错误也会吓跑学生的学习兴趣;当教学过程进行到数组、函数部分时,学生在完成课后侧重语法和算法训练的练习题时,编程不断遇到的困难更是学生学习兴趣最大的“杀手”,如果得不到及时的帮助,更会使得学生失去对C语言这门课程的学习的信心和兴趣。因此,传统C语言教学方法按照章节不断推进的学习过程,虽然在知识传授上具有很好的系统性,但从学生对C语言的学习现状也可以看出,这个系统的学习过程会随着知识难度和深度地加深而逐渐失去一部分学习者,最后学习到C语言指针部分时,有较多学生已经因为积累太多的问题和困难不能再接受,跟不上教学进度,从而放弃对C语言课程的学习。针对C语言这种学习情况,如何在C语言的整个教学过程中始终保持学生的学习兴趣,使学生在学习过程中不断会有成就感,不会被困难吓跑,在学习上了一个台阶后还有具有再上一个新台阶的信心和兴趣,这些都需要教师合理组织C语言教学内容和运用恰当的教学方法才能实现。本文提出的C语言阶段性项目化训练教学方法,也是针对这些需要对C语言的教学做出的一些探索和总结。

3什么是阶段性项目化教学模式

3.1C语言课程教学内容分阶段模块化

根据C语言教学内容学习特点,将C语言课程教学内容分阶段模块化,即将知识单元化,针对不同单元知识特点,设计相应训练项目,使学生通过这一阶段的训练项目编程巩固单元知识。C语言课程分阶段模块化知识结构如图1所示。

3.2阶段性项目化教学模式中项目的设计

C语言课程实践教学中采用分阶段项目训练。训练项目设计原则是程序功能与学生感兴趣的实际问题相关,学生运用本单元学习的知识能够完成项目编程;如果学生想把项目完成的更完善还需要再进入下一单元的学习;阶段性项目的顺利实现使学生体验成就感,但程序功能上还存在的缺陷或漏洞能激励学生积极主动地学习新的知识以实现程序功能的完善。下面给出的几个训练项目示例是C语言实践教学中按教学进度与知识模块划分设计出五个小型程序设计项目:

(1) 算术运算测试软件及超市商品收银机程序

① 项目设计说明:运用选择结构编程实现有限四则运算的算术测试软件或能实现超市商品收银机功能的软件,要求算术测试软件能随机出题,用户可自由选择题量及练习的运算内容(如加、减、乘、除等);用户可随时结束练习,并给出本次测试的成绩;要求软件用户操作界面友好,具有一定的容错性。

② 训练目的:在结构化程序设计顺序结构、选择结构及实现选择结构的控制语句学习完之后,通过该小型程序设计项目的完成训练学生对选择结构程序的编程练习,巩固选择结构知识模块,了解选择结构在解决实际问题编程中的运用。

③ 训练知识点:选择结构及实现选择结构的控制语句:if-else语句和switch语句。

(2) 剪刀、石头、布游戏设计

① 项目设计说明:运用循环结构编程实现剪刀、石头、布游戏软件,要求软件设计符合游戏公平的原则,该游戏实现用户(玩家1)与计算机(玩家2)的剪刀、石头、布游戏,每次比赛给出比赛结果,用户选择具有一定的容错性、计算机选择具有随机性;用户可多次进行游戏并能随时退出游戏。

② 训练目的:在结构化程序设计循环结构及实现循环结构的控制语句学习完之后,通过该小型程序设计项目的完成训练学生对循环结构程序的编程练习,巩固循环结构知识模块,了解循环结构在解决实际问题编程中的运用。尤其在编程调试中对死循环的出现如何避免、程序的漏洞如何应对等,训练学生的程序调试能力及分析问题、解决问题能力、培养学生考虑问题细致、周密的习惯。

③ 训练知识点:循环结构及实现循环结构的控制语句:do-while语句、while语句和for语句。

(3) 加密短信阅读程序设计

① 项目设计说明:综合运用结构化程序设计的三种基本控制结构:顺序结构、选择结构和循环结构实现编程;本项目的设计难点有二点:一是如何密码能安全输入,同时也具有密码输入的容错性;二是短信的存放方式及阅读方式;要求软件设计界面美观、友好,当用户输入正确,可以顺利阅读短信内容。

② 训练目的:在一维数组、字符数组和二维数组学习完之后,通过该小型程序设计项目的完成训练学生对数组这种数据类型的编程练习,巩固数组知识模块,了解数组这种数据类型在解决实际问题编程中的运用。通过该项目设计,也使学生进一步感性认识到“程序设计=数据结构+算法”,数据结构在程序设计中的重要作用,使学生明确程序与数据之间的关系以及程序设计的设计思路可以从程序加工的对象―数据及其组织方式为切入点。

③ 训练知识点:数组及数组应用;掌握一维数组、字符数组或二维数组的基本语法和数组在编程中的运用。

(4) 用户自定义函数说明书的设计

① 项目设计说明:综合运用结构化程序设计的三种基本控制结构、数组和函数的知识实现编程;本项目的设计要求至少设计出四个不同功能的用户自定义函数,设计出用户自定义函数说明书封面和选择菜单,用户可自由选择要学习的函数,当用户选择学习某函数时,给出该函数的原型、功能、调用格式及函数应用示例等使用说明。要求软件操作界面美观、友好;用户可随时结束学习,并给出本次学习情况说明。

② 训练目的:在用户自定义函数及函数应用学习完之后,通过该小型程序设计项目的完成训练学生对函数的编程练习,巩固函数知识模块,了解函数是C程序的基本模块,掌握用户自定义函数功能、定义格式、调用方式等基本语法知识。通过该项目设计,也使学生进一步感性认识到结构化程序的特点,认识到用户自定义函数与C标准库函数的关系及在编程中的作用。

③ 训练知识点:函数及函数应用;掌握函数定义、函数声明、函数调用等基本语法和在编程中函数模块的设计。

(5) 学生信息管理系统设计

① 项目设计说明:要求综合运用C语言课程知识编程,侧重于理解指针在编程中的运用,要求使用结构体类型处理数据,掌握对文件的读写操作。学生信息管理系统功能要求:

建立信息源,即能将若干学生信息添加到数据文件中。(学生信息主要包括:学号、姓名、性别、年龄、通讯地址等,也可自定信息)

查找信息,为用户提供几种查找方式,如按姓名查找或按学号查找等,要求最少提供一种查找方式。如输入要查找姓名,输出相应结果。

② 训练目的:在指针、结构体和文件操作学习完之后,通过该小型程序设计项目的完成训练学生对指针、结构体、文件类型的编程练习,巩固指针、结构体和文件知识模块,了解结构体数据类型与数组类型对数据组织方式上的不同;掌握指针变量定义、结构体类型定义、结构体变量定义和文件读写操作等基本语法知识。通过该项目设计,也使学生更进一步综合运用“C语言程序设计”课程所学的各模块知识,分析、解决实际问题,达到学以致用的效果。

③ 训练知识点:指针、结构体和文件;掌握指针与结构体数据类型在编程中的运用;掌握对文件的操作。

3.3分阶段模块化教学的优点

分解C语言课程的学习难点,针对每个阶段和知识模块设计的程序设计项目由浅入深,由易至难,使学生的学习过程有成就感,有效地激发学生的学习兴趣。

4项目化教学方法应用

4.1阶段性项目化教学方法实施流程

C语言课程理论教学知识模块化、实践教学阶段性训练项目编程在实际教学中的应用,教学效果良好,很大程度上激发了学生对C语言课程的学习热情。教学方法实施流程如图2所示:

4.2C语言知识模块化训练项目化教学学生评价方法

为了与C语言阶段性项目化训练的教学方法相适应,对学生C语言课程的成绩考核需要从注重结果转变为注重过程的课程成绩评价方法,课程考核成绩的组成部分也从过去平时成绩、期末考试成绩转变为由多项组成。如下面公式所示:

课程考核成绩 = 平时上机实验成绩+模块化单元测验+阶段项目设计成绩+期末综合知识考核成绩

5结束语

针对高校计算机语言课程C语言程序设计课程进行的教学模式的研究与改革,在实际教学应用中取得了较好的效果,这种教学方法也受到学生的普遍欢迎,并获得校级教学成果一等奖,按此教学方法进行教学改革的试点班在浙江省高校计算机应用水平二级考试通过率达到92%的好成绩。C语言知识模块化、训练项目的教学模式对计算机语言类的课程教学模式、教学方法方面做出有益的探索。

参考文献:

[1] 龚沛曾,杨志强. C/C++程序设计教程[M]. 北京:高等教育出版社,2004.

[2] 刘玮玮,汪晓平. C语言高级实例解析[M]. 北京:清华大学出版社,2004.

[3] 谭浩强. C语言程序设计[M]. 北京:清华大学出版社,2005.

Desk Study of Teaching Model about C-Language Project Training Based on Ability- Cultivation

WANG Xiao-yong, XIAO Si-you, ZHANG Wen-xiang

(Zhejiang Wanli University, Ningbo 315000, China)

c语言课程设计小结篇7

关键词:C语言;教学方法;思维转化;启发式教学;软件工程

一、前言

C语言是一种通用性计算机程序设计语言。它兼有汇编语言和高级语言的双重优点,运用它既能编写操作系统软件,又能开发各个领域的应用软件。C语言的实用性使之成为编程的首选语言。学好了C语言,再进一步深造C++/VC++,JAVA等言语,就有了坚实的基础。但目前很多学生在学习《C语言程序设计》后,感觉读程序还凑合,编程则“难于上青天”部分学生甚至毫无编程想法,仅仅是为应付考试而死记硬背,完全背离了高职教育的初衷。因此,如何在C语言教学中启发并训练学生的编程思维,是每个教师应深思的问理。以下是笔者在C语言教学中的一些看法,愿和同行探讨。

二、上好第一堂课

如何上好第一堂《C语言程序设计》课是至关重要的。因为学生都是初次接触C语言,C语言对他们来说是神秘的,“兴趣永远是最好的老师”,有了兴趣他们才会积极主动地去学习,所以第一堂课的成功与否直接关系到学生能否对这门课产生兴趣,所以我觉得第一堂课应为“趣味C语言导学课”。

(一)程序结果展示,激发兴趣

要激发学生的兴趣。首先要让大家知道C语言的强大功能,利用它我们能编写各种软件,通过幻灯片向学生展示各种结果画面,例如从50年代玩的摇杆游戏到如今的电脑游戏。相信这时有些学生已经有些“蠢蠢欲动”了。恨不得立刻学好C语言。

(二)强调C语言的重要性

C语言是学生今后学好后继课程的基础,比如数据结构。C++,JAVA等。虽然程序设计语言更新很快,但如果真正掌握精了程序设计思想,具备了真正解决实际问题的能力。语言再更新可程序设计的本质不会变。

(三)传授C语言的学习方法

C语言是一门实践性课程,要理论结合实践,加强学生的动手能力,解决问题的能力,在学习方法上给以学生指导,告诉学生如何自学,如何听课,如何动手实践,明确一点:“C语言不是看会的,也不是听会的,而是亲自动手实践练会的”,强调实践的重要性。

(四)认识C语言的编译环境。

在visual studio2005环境下,举出几个简单的小程序演示给他们看,并逐一讲解,引导学生自己去发现程序中存在的缺陷以及改进的方式。熟悉C语言源程序到可执行文件的整个操作流程。让他们仿照所列举的几个程序模仿着编一个小程序。

二、C语言教学方法

(一)抽象思维到形象思维的转化

让学习过程变得轻松有趣是激发学生兴趣的关键所在,C语言本身是一门极其抽象难懂的学科,把抽象的问题形象化,使本来枯燥无味的C语言变得魅力无限,符合学生的认知规律,可以收到良好的效果。

(二)采用问题启发式授课,激发自主学习

针对C语言概念多,语法繁的现状,采用问题启发式教学可以将难理解、难记忆的概念和规则变成一系列时而醒目、时而深奥的问题呈现在课堂教学中,这样就能把学生的注意力集中起来,学习积极性调动起来,达到师生互动的效果,教师自问自答为主,有问有答,互问互答,改变单调死板、照本宣科的牧师讲法。这种启发式、讨论式、交流式的教法,不仅改变原来的灌输式,而且增强了学生自主学习的能力。

(三)“引申法”“框架法”和“求异法”相结合

所谓“引申法”是指是结合已经解决的问题,因势利导,引导学生在此基础上解决相关联的问题。“引申法”可以培养学生在程序设计方面的发散思维。提高程序设计中的应变能力。问题是活的,但程序是有章可循的。最终使学生明白,语法是有限的,可解决的问题是无限的。只有在分析实际向题的基础上,以清晰的思路去设计算法,才能举一反三,以不变应万变。

“框架法”可培养学生的全局思维和算法的整体设计能力。具体体现在两方面:一是在学生有了一点编程基础后要利用伪代码或流程图,从算法设计的角度讲解编程思路,而不应拘泥于语法细节,不分主次、逐条语句的讲解代码。通过此框架,可使初学者对函数设计的关键问题有清晰的认识,利于从统筹全局的角度去考虑问题,体现了程序设计逐步求精的思路。这样可以层次分明,突出算法设计的关键,利于培养学生的编程思路。二是在学习重点章函数时,由于新的算法已很少,主要是学习用函数调用的方法来重新编制以前所熟悉的程序,那么我们可以把着眼点放在函数的设计框架上,体现参数设计、返回值设计等关键问题,而无需细讲函数体的实现细节。

“求异法”:一个固定的问题。解决的方法可能不唯一,如果能启发学生多角度、多侧面去寻求解决问题的办法,则可激发学生思考的积极性,提高其学习兴致。在C语言中一题多解的情况有很多,有意识地引导新思路,鼓励新方法,以培养学生在编程中的求异思维,而不是死记硬背,墨守成规。

(四)理论教学与学生实践相结合,提高程序调试能力

对程序设计课来说,理论学习和上机要两手抓,两手都要抓硬。实验课不能流于形式,让学生照抄照搬,甚至身在曹营心在汉。必须给学生思考、创新的启迪,训练其实践能力,实验课要生动活泼,使学生既掌握书中的重点算法,又有充分的思考空间,让学生充分体会到顿悟和创造的乐趣。在进行每一部分的学习的时候,都应该配有相应的学生上机实践的机会。这样学生既锻炼了动手能力,又巩固了所学的知识。还应该让学生养成上机前分析题目,决定算法与数据结构,并编出程序源代码的好习惯,这样在上机时,学生就有的放矢,主要精力放在调式程序上需。对于普遍存在的问题,进行集中提示、讲解、演示以增加学生的印象。井及时检查总结学生上机实验的完成情况。

(五)在整个教学环节中,巧妙地引人软件工程的基本思想

计算机科学属工程技术科学,为使学生有良好的编程思维,应注重软件工程思想的渗透。对软件生存周期的几个阶段,即问题定义、可行性研究、需求分析、概要设计、详细设计、编码、调试、运行与维护,可以通过常规的C程序设计实例来体现,以培养学生编程中的工程思维。这样并没有费很大力气讲抽象的概念,却可培养学生在程序设计中从软件工程角度去系统分析问题的良好习惯。虽然问题小了些,但“窥一斑而知全局”,经反复强化问题求解中所蕴含的基本思想,将有效地训练学生程序设计中统筹全局的工程思维能力。

c语言课程设计小结篇8

关键词:C语言;教学方法;思维转化;启发式教学;软件工程

一、前言

C语言是一种通用性计算机程序设计语言。它兼有汇编语言和高级语言的双重优点,运用它既能编写操作系统软件,又能开发各个领域的应用软件。C语言的实用性使之成为编程的首选语言。学好了C语言,再进一步深造C++/VC++,JAVA等言语,就有了坚实的基础。但目前很多学生在学习《C语言程序设计》后,感觉读程序还凑合,编程则“难于上青天”部分学生甚至毫无编程想法,仅仅是为应付考试而死记硬背,完全背离了高职教育的初衷。因此,如何在C语言教学中启发并训练学生的编程思维,是每个教师应深思的问理。以下是笔者在C语言教学中的一些看法,愿和同行探讨。

二、上好第一堂课

如何上好第一堂《C语言程序设计》课是至关重要的。因为学生都是初次接触C语言,C语言对他们来说是神秘的,“兴趣永远是最好的老师”,有了兴趣他们才会积极主动地去学习,所以第一堂课的成功与否直接关系到学生能否对这门课产生兴趣,所以我觉得第一堂课应为“趣味C语言导学课”。

(一)程序结果展示,激发兴趣

要激发学生的兴趣。首先要让大家知道C语言的强大功能,利用它我们能编写各种软件,通过幻灯片向学生展示各种结果画面,例如从50年代玩的摇杆游戏到如今的电脑游戏。相信这时有些学生已经有些“蠢蠢欲动”了。恨不得立刻学好C语言。

(二)强调C语言的重要性

C语言是学生今后学好后继课程的基础,比如数据结构。C++,JAVA等。虽然程序设计语言更新很快,但如果真正掌握精了程序设计思想,具备了真正解决实际问题的能力。语言再更新可程序设计的本质不会变。

(三)传授C语言的学习方法

C语言是一门实践性课程,要理论结合实践,加强学生的动手能力,解决问题的能力,在学习方法上给以学生指导,告诉学生如何自学,如何听课,如何动手实践,明确一点:“C语言不是看会的,也不是听会的,而是亲自动手实践练会的”,强调实践的重要性。

(四)认识C语言的编译环境。

在visualstudio2005环境下,举出几个简单的小程序演示给他们看,并逐一讲解,引导学生自己去发现程序中存在的缺陷以及改进的方式。熟悉C语言源程序到可执行文件的整个操作流程。让他们仿照所列举的几个程序模仿着编一个小程序。

三、C语言教学方法

(一)抽象思维到形象思维的转化

让学习过程变得轻松有趣是激发学生兴趣的关键所在,C语言本身是一门极其抽象难懂的学科,把抽象的问题形象化,使本来枯燥无味的C语言变得魅力无限,符合学生的认知规律,可以收到良好的效果。

(二)采用问题启发式授课,激发自主学习

针对C语言概念多,语法繁的现状,采用问题启发式教学可以将难理解、难记忆的概念和规则变成一系列时而醒目、时而深奥的问题呈现在课堂教学中,这样就能把学生的注意力集中起来,学习积极性调动起来,达到师生互动的效果,教师自问自答为主,有问有答,互问互答,改变单调死板、照本宣科的牧师讲法。这种启发式、讨论式、交流式的教法,不仅改变原来的灌输式,而且增强了学生自主学习的能力。

(三)“引申法”“框架法”和“求异法”相结合

所谓“引申法”是指是结合已经解决的问题,因势利导,引导学生在此基础上解决相关联的问题。“引申法”可以培养学生在程序设计方面的发散思维。提高程序设计中的应变能力。问题是活的,但程序是有章可循的。最终使学生明白,语法是有限的,可解决的问题是无限的。只有在分析实际向题的基础上,以清晰的思路去设计算法,才能举一反三,以不变应万变。

“框架法”可培养学生的全局思维和算法的整体设计能力。具体体现在两方面:一是在学生有了一点编程基础后要利用伪代码或流程图,从算法设计的角度讲解编程思路,而不应拘泥于语法细节,不分主次、逐条语句的讲解代码。通过此框架,可使初学者对函数设计的关键问题有清晰的认识,利于从统筹全局的角度去考虑问题,体现了程序设计逐步求精的思路。这样可以层次分明,突出算法设计的关键,利于培养学生的编程思路。二是在学习重点章函数时,由于新的算法已很少,主要是学习用函数调用的方法来重新编制以前所熟悉的程序,那么我们可以把着眼点放在函数的设计框架上,体现参数设计、返回值设计等关键问题,而无需细讲函数体的实现细节。

“求异法”:一个固定的问题。解决的方法可能不唯一,如果能启发学生多角度、多侧面去寻求解决问题的办法,则可激发学生思考的积极性,提高其学习兴致。在C语言中一题多解的情况有很多,有意识地引导新思路,鼓励新方法,以培养学生在编程中的求异思维,而不是死记硬背,墨守成规。超级秘书网

(四)理论教学与学生实践相结合,提高程序调试能力

对程序设计课来说,理论学习和上机要两手抓,两手都要抓硬。实验课不能流于形式,让学生照抄照搬,甚至身在曹营心在汉。必须给学生思考、创新的启迪,训练其实践能力,实验课要生动活泼,使学生既掌握书中的重点算法,又有充分的思考空间,让学生充分体会到顿悟和创造的乐趣。在进行每一部分的学习的时候,都应该配有相应的学生上机实践的机会。这样学生既锻炼了动手能力,又巩固了所学的知识。还应该让学生养成上机前分析题目,决定算法与数据结构,并编出程序源代码的好习惯,这样在上机时,学生就有的放矢,主要精力放在调式程序上需。对于普遍存在的问题,进行集中提示、讲解、演示以增加学生的印象。井及时检查总结学生上机实验的完成情况。

(五)在整个教学环节中,巧妙地引人软件工程的基本思想

计算机科学属工程技术科学,为使学生有良好的编程思维,应注重软件工程思想的渗透。对软件生存周期的几个阶段,即问题定义、可行性研究、需求分析、概要设计、详细设计、编码、调试、运行与维护,可以通过常规的C程序设计实例来体现,以培养学生编程中的工程思维。这样并没有费很大力气讲抽象的概念,却可培养学生在程序设计中从软件工程角度去系统分析问题的良好习惯。虽然问题小了些,但“窥一斑而知全局”,经反复强化问题求解中所蕴含的基本思想,将有效地训练学生程序设计中统筹全局的工程思维能力。

推荐期刊