c语言课程设计小结合集12篇

时间:2023-03-15 14:55:40

c语言课程设计小结

c语言课程设计小结篇1

精品课程推介:http://

学习网站推介:http://

参考书目推介:苏小红等《C语言程序设计》(第三版)

3.本次教学内容相关的主要思考题。

题目1:C整数类型能否表示真实生活中的任意整数?

题目2:C中的浮点数是现实中的实数么?

题目3:C中无符号整数与有符号整数的差别?

题目4:任意大的数应该如何表示?

在翻转课堂的课前,学生需要根据教师公布的教学目的、的教学资源及思考题预设,利用泛在学习环境明确学习目的、搜集学习资料、思考学习问题,基本完成知识的构建。

(二)课堂

教师引导学生以小组为单位对图2中“课前”部分的思考题预设,进行学习展示、交流互动、反馈评价以及总结反思,使学生对所学知识深入理解,进行知识内化。例如:C语言中每一种整型数据类型有其各自的允许值范围,如果对应的变量值超出这个范围,就要发生所谓的“溢出”,但是变量的值将会变成多少呢?这个问题是许多学生不容易理解的地方。在课堂讨论中有一组学生对unsigned int型变量(允许值范围为0~65535)的理解设计了“周期函数设想”,使抽象内容形象化。即假设一个圆周分割了65536个点,从左到右依次表达0到65535,如果是最大值65536则和最小值0相同,于是产生溢出,最大值变为最小值。

基于这一设想,教师引导学生进行思考,提出溢出问题的优化“表盘设想”。即假设有一个巨型钟表,秒针时间刻度为0~65535,当秒针360度旋转一圈后,最大值65536与最小值0重合,最大值变为最小值产生溢出。

实践证明,通过课堂讨论的周期函数设想和表盘设想,学生对整型数据的溢出问题得到充分理解,并能够举一反三地思考其他知识点的学习问题。

五、结束语

基于泛在学习环境的《C语言程序设计》翻转课堂教学模式,践行了“以学生为中心”及“自主学习”的个性化学习理念。该模式使学生能够根据自身对《C语言程序设计》课程的学习能力、学习起点进行5A学习,并能够高效地内化所学的知识,自主构建自身的《C语言程序设计》知识体系。基于泛在学习环境的《C语言程序设计》翻转课堂教学模式有效地解决了目前该课程教学中存在的问题,为信息教育时代《C语言程序设计》课程教学改革研究拓展了新的思路。

参考文献:

[1]谭浩强.C程序设计[M].第四版.北京:清华大学出版社,2010,(6):9-14.

[2]章亦葵,李英第.C语言函数时间复杂度自动计算方法的实现[J].计算机应用与软件,2015,11(32):18-22.

[3]卢炳旭.从学习者的视角看计算机专业《C语言程序设计》课程教学改革[J].职教论坛,2015,7(20):76-79.

[4]卢玉珑.大数据时代成人泛在学习行为导控[J].教育与职业,2015,8(24):111-113.

[5]王怀波,杨现民,李冀红.泛在学习应用研究的发展与典型模式分析[J].中国远程教育,2015,(12):18-26.

[6]邵华,喻惠群.基于泛在学习资源共享平台的翻转课堂学习者个性化学习模型研究[J].教育评论,2015,(7):88-92.

c语言课程设计小结篇2

中图分类号: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

c语言课程设计小结篇3

C++程序设计语言是许多大学计算机等相关专业的核心课程。学好C++语言,对于相关专业的教学实践具有重要意义。C++程序设计语言的一个重要特点是综合性。作为C语言的扩展,它兼有高级程序设计语言的抽象性与低级程序设计语言的高度实现性。C++课程与上至软件开发方法,下至计算机组成与系统结构的许多课程存在紧密的相关性。学好C++不仅需要学习C++的语法、语义,也需要对上述课程中的许多问题有一定程度的认识。

正是因为C++语言综合性强的特点,才使得这门语言比其它许多语言更加难学。简单地向学生灌输各种语法,往往难以取得好的教学效果。必须使学生知其然,且知其所以然。为此,就需要向学生讲述一些C++中相关的其它课程方面的知识。这往往很难做到,一方面,为保证学生能掌握一门编程语言,以为后继课程奠定基础,C++课程必须尽早开设,在此之前,不可能预先开设后期的各种课程;另一方面,这些后续课程并不比C++容易,前期开设未必能取得好的教学效果。

如何在C++语言教学的同时,兼授与之相关的其它课程的内容,使学生真正把握C++的来龙去脉,更深入地理解各种语言现象,是C++教学的主要挑战之一。针对此问题,本文结合作者在教学过程中的一些经验,提出了一种整合化的教学新思路。主要的思想是在讲授C++的过程中,通过抽象、简化的方式,简明扼要地兼授其它课程中的相关内容,以方便学生对于C++的理解。

本文后继部分首先分析了C++程序设计语言与其它课程的关系,然后以此为依据提出了我们的教学新思路,并总结了全文。

一、C++课程与相关课程的关系

作为一种能够同时支持高层应用开发与底层系统开发的编程语言,C++中直接或间接的体现了计算机软硬件领域的许多概念。本章初步分析了与C++相关的课程,讨论了其中哪些内容与C++课程是紧密相关的,后续章节将基于此分析,探讨整合化教学的新思路。

与C++紧密相关的首先是硬件相关课程,包括计算机组成原理与系统结构等。组成原理中的存储器结构、数据表示、输入输出实现等对理解C++中包括变量、各种数据类型及其比较转换、输入输出流在内的许多问题有重要意义。系统结构方面,了解冯•诺依曼结构等内容,可以帮助学生更好地理解程序的运行,理解计算机计算的特点。

除了硬件类的课程外,操作系统、编译原理等系统软件相关课程也与C++教学紧密相关。理解操作系统中的进程管理、内存管理、文件管理,可以帮助学生更好地了解程序执行的过程,理解C++语言中的内存分配、文件操作等。而编译原理的相关知识贯穿于C++课程始终。C++中有许多规则看似难以消化,但如果使学生了解编译过程,就能更好地帮助他们理解C++语言中的许多设计选择,使那些看似毫无线索的语法规定,变得理所当然。

再一类与C++相关的课程是偏数学类课程,如离散数学、数据结构、算法分析与设计等。离散数学中的布尔逻辑等是理解C++中许多运算的基础,而集合、图等概念,对于理解C++教学中的许多程序实例,以及学生编程实践都具有重要意义。数据结构中的链表等也往往出现在数组、指针等内容的学习中,不了解基本的数据结构概念,将使这些问题的学习变得困难。算法分析与设计也是一个重要的相关课程。在C++语言的学习中也开始涉及一些基本的算法,如排序、查找等,给学生讲解一些经典的算法设计思想,将能使学生更容易理解相关例子,也便于培养解决问题能力。

与C++相关的重要课程还有程序设计语言原理。对于许多高校,这甚至是研究生阶段才开设的高级课程,但在讲授C++课程时,从更高的抽象层面,简要介绍程序设计语言原理中类型、面向对象、异常等重要概念,可以更好地帮助学生理解C++中的相关语法设施,使之明白C++为什么会这样,不这样将会如何等。

另有一类与C++相关的课程常常被忽略,这类课程包括软件开发方法、面向对象分析与设计等。C++课程一般开设在大学一年级,该阶段的许多学生对编程一无所知。常有些学生,对于给定的编程问题感到无法入手。如果在教C++同时向学生阐述一些软件分析设计方面的技术,就能使学生更快地解决问题。

上述课程与C++课程大多存在循环依赖的问题,理解这些课程需要具有一定的编程基础,学习C++又需要了解一些上述课程的内容。几乎不可能将这些课程开设在C++课程之前,这使得如何在C++学习中处理上述课程相关的内容,成为一大难题。

二、整合化教学

分析C++程序设计语言教学中存在的问题,我们提出了一种整合化教学的新思路,即不是单独讲授C++程序设计语言本身,而是与此同时简明扼要地兼授其它课程的相关内容。

1.在理论教学中强调整合

C++教学的整合,首先体现在理论教学方面。在这方面,我们强调抽象、简化与C++相关的内容进行讲授。对于硬件、系统等方面的课程,它们主要在概念上与C++相关,细节方面相关性相对较弱。因此,授课时主要采用的方式是将相关软硬件结构模型化,在模型层面上讲解计算机的工作方式。以内存、CPU为核心,屏蔽重要程度低的设备,重点探讨程序如何启动、运转、结束,变量在哪、如何操作,函数如何调用等;而不是深入细节,探讨存储器有多少级结构,CPU指令是什么形态等问题。刚开始学习计算机的学生,习惯从数学的角度来思考程序中的函数、赋值等概念,容易将它们与数学里的相关概念混淆。通过展示计算机的体系结构、程序流转的基本原理,可以促进学生尽早入门。当然,在抽象、简化的同时,我们尽可能地保证抽象出来的结构能够兼容后继课程,不至于使学生产生矛盾。

对于偏数学类课程,如数据结构、算法分析与设计等,C++中涉及的相关内容并不多,但这些内容往往非常关键。因此,我们选择对直接相关的内容作较为深入的探讨。比如对于链表,虽然它是数据结构课程的核心内容,但C++课程中频繁涉及此概念,因此,我们将对其作比较深入的展开,学生在理解链表的特点后,在编写与之相关的程序时,明显比之前更得心应手。算法分析与设计虽然不直接与C++课程相关,但C++教材中大量的实例都体现了各种各样的算法思想,特别地,暴力法(brute-force)、分治法、动态规划法常常出现。对此,学生往往能看懂例子,但自己编写程序时,却存在较多困难,通过向学生灌输上述算法的基本思想,对不同例子进行总结归类,学生对上述例子的消化将更加透彻。

编译原理与高级程序设计语言原理课程与C++非常相关,但难度较高,直接讲授,学生一般难以接受。对于这部分内容,我们结合了两种教学方式,一种是体验式教学,主要通过原理阐述,案例分析与感受来理解相关内容。对于函数调用、栈内存等编译原理中非常相关的内容,我们将为相关问题建立一个比较抽象的描述模型,然后据此进行较为深入的讲解。通过这种抽象但仍保持一定深度的讲解,可以给学生以更深刻的印象,避免他们犯错。

软件开发方法、面向对象分析与设计等方面的内容,主要体现在C++教学的案例与实践环节中。这里,我们主要的思路是从软件开发方法中抽象出一些基本的方法、原理,将其在案例分析中阐述给学生,使其尽可能地明白一个程序的编制由来。在理解教材中的案例时,做到先自己设计,再阅读材料,而不是直接读书,不做深入思考,不分析由来。软件开发方法中许多方法主要针对大型工程,看似与C++教学无关。但对于刚涉猎计算机领域的学生,每个小例子,都是大项目。深入地分析设计开发方法,有利于培养学生分析、解决问题的能力。

抽象、简化进行讲授的同时,我们还强调启发教学。要求学生不停留于书本内容,不停留与抽象模型,积极提出问题,利用课余时间丰富对相关模型的理解。

2.在实践教学中强调整合

除了在理论教学中整合,我们还强调同样要在实践过程中进行整合。以往C++上机实践过程中,要求学生编写的都是一些简单的控制台程序,基于与系统无关的一些函数库来实现相关功能。这些案例可以提高学生对书本知识的巩固,但是难以充分调动学生的兴趣,特别是在当今计算机如此普及的形势下。

为提高学生兴趣,我们在实践过程中,适当结合了少量超出C++教学范畴外的内容,向学生提供一些操作系统的编程接口,图形界面库等,教学生编制一些具有美观界面,甚至可以实现多媒体功能的小程序。这些小程序往往并不复杂,教师不讲解,也不强求学生掌握。只提供给学生模仿,并启发一些可以改进的点,学生通过模仿学习,即使不能充分了解背后的知识,也可以极大的提高学习热情。

三、小结

本文针对C++程序设计语言课程的一些特点,提出一种整合化的教学新思路,大部分内容来源于已有的教学实践。新思路在教学过程中取得了较好的效果,特别是对C++相关的许多问题的探讨,能启发学生积极思考,这对于培养创新型人才是有益的。

参考文献:

[1]皮德常.C++程序设计教程[M].北京:机械工业出版社,2009.

c语言课程设计小结篇4

中图分类号:G4     文献标识码:A     文章编号:

引言

C语言是是国际上广泛流行的计算机高级语言,受很多大学青睐,并将其作为第一门高级语言程序设计课程。在我校C语言程序设计是各理工科专业的公共基础必修课。由于授课班级较多及教师工作量的限制,每学期都会有多位教师承担该课程的教学工作,而教师的教学经验、对知识点的掌握不尽相同,同时,学生也普遍认为C语言程序设计课程较难,在教学过程中,出现了亟待解决的问题,对此,我校成立了C语言程序设计备课组,进行集体备课,规范教学秩序,统一教学内容,研讨教学方法,提高教学质量。

1.教学中存在的不足

1.1授课班级多,时间安排不统一

我校开设C语言程序设计课程的系有电气信息工程系、机械工程系、土木工程系、化学工程系,涉及专业共有14个。各系在制定人才培养方案时,根据各自专业的需求,该课程开课学期各不相同,甚至同一个专业不同年级开课学期也不相同。使得各学期教师教学任务不均衡,当班级较多时,部分教师周学时可达20学时左右,教学压力过大,而班级少时,教师学时量不够的尴尬局面。

1.2 教学大纲多,授课内容不统一

由于专业较多,在各人才培养方案中C语言程序设计的学时数、考试性质等不尽相同,教学大纲也会根据人才培养方案中对该课程的不同安排再进行修订,而各任课教师在教学经验、教师自身知识的储备等也不相同,有的教师会将大量学时分配给顺序、选择、循环三大基本结构,有的教师则将较多学时分配给数组、指针、函数,各专业学生学到的内容也就不相同了。

1.3 教学内容难,学生有畏难情绪

对学生而言,C语言概念繁杂、知识点多、内容枯燥、难度较大且实用性不强,对该课程的学习总是提不起兴趣,缺少积极性,存在一定的厌学情绪,导致考试不及格率较高。

2. 教学改革措施

2.1 成立C语言程序设计备课组,开展集体备课

C语言程序设计备课组由担任C语言程序设计授课任务的所有教师组成,小组以教学为核心任务,召开教学例会,开展教学研讨活动、确定并实施教学改革,最终达到提高教学质量的目的。

C语言程序设计备课组带头人是我校C语言程序设计精品课负责人,她长期致力于C语言程序设计课程教学与科研工作,经验丰富,具有较深的学术造诣与师德修养,能够团结和带领备课组所有成员互相协作,共同进步,在小组中发挥着重要的作用,能够很好的带领小组发展。

C语言程序设计备课组以教学例会为依托,主要任务有确定教学大纲、研究教学方法、开展集体备课、完善教学资料、听课评课、编写实验指导书、整理习题集等,实现教学资源统一,资源共享、授课内容与教学大纲统一,保证教学质量;教师间互相听课评课,讨论教学方法、共同分析教学中遇到的问题,促进小组成员共同提高。

2.2 教学资源的完善

(1) 统一教学大纲

教学大纲对课程教学起指导性作用,是教师授课的依据。针对之前教学大纲中存在的问题,我们首先对C语言程序设计教学大纲进行调整。根据学校实际情况,将教学大纲分为两类:电气信息类与非电气信息类。

电气信息类教学大纲中总学时为64学时,其中实验学时24学时,要求学生掌握C语言的基本语法,掌握程序设计的基本思想、基本概念、基本方法及技巧,并能运用所学的知识和技能对一般问题进行分析和程序设计,编制出高效的C语言应用程序;非电气信息类教学大纲中总学时为64学时,其中实验学时为24学时,要求学生了解程序设计语言的基本概念和基本内容,掌握正确的程序设计方法,通过编程实践,具备一定的程序设计能力,并为后继课程提供必要的编程基础。

(2) 统一教材、习题集

教材选用谭浩强教授著,清华大学出版社出版的《C程序设计》一书,该书内容先进,体系合理,概念清晰,讲解详尽,降低台阶,分散难点,例题丰富,深入浅出,文字流畅,通俗易懂,是初学者学习C语言程序设计的理想教材。

虽然该教材在内容及知识点有其优势,但是该书课后习题以编程题为主,对刚入门学生而言难度较大,且C语言本身有很多小的知识点,仅有编程题对不易巩固所学知识点,使大多数学生感到学习困难,不能很好地调动学习的积极性。对此,备课组进行了习题集整理。习题集针对大纲中要求的知识点进行习题设计,题型包括选择题、填空题、程序改错题、编程题等内容,同时题目的难易程度也有所不同,总体要求为60%为基础题,30%为提高题,10%为偏难题,循序渐进,逐步提高难度,使学生能根据自己的实际情况均有所收获。

(3) 统一多媒体教学课件

教材提供了配套的多媒体课件,该课件内容全面,制作精细,结构合理,但是教学大纲对知识点的有所侧重,我们根据教学大纲以2学时为单位对课件重新进行了整理,明确每节课的重点、难点、授课内容,并在课件中增加了与知识点相匹配的课堂练习题,习题设有程序结果分析与程序填空题,通过课堂练习题对当堂知识点进行巩固,加深学生对知识点的理解。

(4) 统一实验指导书

依据教材结构和实际需要,备课组进行了《C语言程序设计实验指导书》的编写,根据电气信息类教学大纲与非电气信息类教学大纲要求,结合实际应用各设计了11组具有代表性实验题目。实验内容主要分为程序分析题、程序填空题、程序改错题、编写程序题,使学生通过读程序、分析程序、程序改错逐步达到能够独立编写程序和用程序解决实际问题的能力。对学生要求在课前进行实验内容的预习,在实验课上编辑、调试与当前教学内容有关的实验题目,写出实验报告。该实验指导书的特点是体现教材的重点的难点,注重基础知识、基本技能和实际应用,强调对学生分析问题和解决问题能力的培养。

2.3 研究教学方法与教学手段

(1) 多种教学方法综合应用

C语言程序设计课程相关概念多,知识点繁杂,理论抽象,学生不易掌握,在授课过程中,根据授课内容和学生实际情况,灵活地使用任务驱动法、案例式教学法、分小组讨论、启发式等教学方法,将多种教学方法进行有机组合,同时,借助 网络和多媒体等教学手段使这些方法得以有效实施。

在课堂上,一改原来教师满堂灌的授课方式,在上新课时,先提出问题,再引导学生分析问题找出解决问题的方法,之后给出源代码,分析源代码,此时便将新知识点引出,对知识点进行讲解,最终留给学生一任务,由小组讨论,将任务完成,巩固知识点。这样的授课方式更为形象直观,且学生可以参与到问题的分析与讨论中来,提高了上课的积极性与注意力,保证了上课质量。

教师讲授与学生讨论相结合。在作课堂练习与上机实验时,会将学生进行分组,并要求学生按小组就坐。当任务下达或作上机练习中分析问题或遇到问题时,充分发挥小组作用,进行讨论,解决问题。若小组中存在不同意见或凭小组力量无法解决,可以与其他小组或教师进行讨论或通过上机验证得到结果,解决问题。这样可以增加学生团队意识、培养学生分析问题解决问题的能力、锻炼学生语言表达能力,增强知识点的应用与掌握。

(2) 注重实践教学

C语言程序设计课程具有较强的实践性,通过上机可以巩固所学理论知识。在实验指导书设计时,旨在让学生由读程序、分析程序、程序改错逐渐达到能够独立编写程序,实验内容较多,若仅靠90分钟课堂时间来分析并完成所有实验是不可能的。因此,在实验之前要求学生对下节课的实验内容进行预习,提前完成分析程序运行结果、完成程序填空、找出程序中的错误、编写程序解决实际问题等,在上课时,将程序输入VC++6.0中进行运行,调试程序中的错误,找出错误原因即可。这样可以不仅提高课堂利用率,也可锻炼学生分析问题、解决问题的能力。

(3) 采用多媒体教学

依据学生理解能力和接受能力,在教学过程中,借助多媒体课件或动画进行演示、讲解,更加形象直观地对问题进行分析,并可以引起学生更浓厚的兴趣,亦可使算法更加的清晰明了,也可减少板书时间,使课堂时间利用更加充分。

(4) 课堂教室与网络教学相结合

90分钟的课堂教学时间有限,且课堂知识点繁杂,一堂课的内容要求学生仅靠课堂90分钟完成掌握是不现实的。对此,我们借助于精品课网站,将教学大纲、电子课件、案例分析、习题与解答等资料上传精品课网站,供学生复习和自学。同时,在精品课网站中还设有在线答疑板块,由教师对学生提的问题进行回答,帮助学生解决在学习中遇到的问题。

3.结束语

C语言程序设计集体备课是根据实际教学过程中存在的问题提出的,并已经在C语言程序设计课程教学实践中运用,取得了良好的教学效果。本次改革是C语言程序设计备课组初次教学改革,之后本备课组将继续努力探索,使C语言程序设计课程教学日趋完善。

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.

c语言课程设计小结篇6

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2014)21-0129-02

一、引言

“C语言”是计算机类相关各专业学生学习的一门重要的程序设计类语言,它既具有高级语言的特点,又具有低级语言的功能,语法结构简洁明了,编程的程序效率高。“C语言程序设计”课程是计算机类各专业必修的一门专业基础课,是一门理论性和实践性均较强的课程,其教学目标是为了培养学生编写程序的兴趣,掌握程序设计的基本思路、方法,使学生建立一种程序设计的概念,为后续的各种程序设计语言课程打下良好的基础。从目前对学生问卷调查的结果来看,学生普遍感觉C语言这门课程知识点较多,自己不知道如何动手独立完成一个新程序的编写。为了培养学生动手编程能力和提高C语言程序设计课程的教学质量,本文将从教学内容、教学方法、学习方法、考核方式等几个方面分析与探讨。

二、正确合理设置课程教学内容

从高职教育的培养目标出发,本着“适度、够用”的原则,C语言程序设计课程教学内容重在培养学生编写程序的能力,分析问题、解决问题、探究问题的能力,因此对课程的教学内容进行合理的调整尤为重要,本课程的重点是使学生掌握算法、三种循环结构、函数的编写、数组的应用等内容,经过对本课程的调查、分析与研究,使课程内容从职业需求的角度确定,重构课程教学内容,突出教学内容的实用性和实践性,在教学内容的设计上采用循序渐进、层层深入的过程,并精心选择每一个知识点,设计大量的案例,覆盖所有的知识点,使学生既能够理解所学知识,又能举一反三,加强学生的实践能力,从而提高学生的学习积极性,提高课程的教学质量。

三、改进教学方法,激发学生学习兴趣

在传统的C语言程序设计课程教学过程中,主要是以教师在多媒体教室讲授,然后学生在机房练习实验内容,这种教学方法使学生对知识的掌握很容易被遗忘,部分同学反映,上课当时懂了,过后就忘了,导致课堂教学效果不理想,因此采取灵活多样的教学方法,不仅能够激发学生的学习兴趣,还能够起到事半功倍的效果。本笔者在此课程中主要采用了案例式教学法和小组合作教学法,取得了良好的教学效果。

所谓案例式教学法,就是指在教学过程中,在教师的指导下按照教学目的,教师有计划、有目的的将案例引入教学环节,引导学生思考问题、分析问题、解决问题和探究问题,调动学生的积极性,提高学生的学习兴趣。案例式教学法主要是以案例引导学生对问题的思考,教师先引入案例,让学生分成4~6人一个小组,每组选派一名小组长进行总体的策划与准备,小组成员每人都查阅相关资料,再将查询到的结果汇总,使小组成员对案例有充分的认识与理解,教师只需对问题进行阐述,对相关的知识进行重点强调即可,这样理论与实践结合,既锻炼了学生的理解与分析能力,又提高了学生学习的积极性和主动性,起到了一举两得的效果。一个小的案例结束后,教师请每个小组的同学表达自己对案例的分析与体会,哪里存在问题,哪里比较熟悉,还有没有其他的解决方式,等等,教师再进行整体的总结与分析,进一步培养学生的团队合作精神。同时,为了更好地利用网络空间和网上资源,可以把案例上传至个人的大学城空间上,然后与教师、同学、同行交流,探讨更好的解决方法。这样,可以让全校师生都关注学生的成果,激发了学生的学习动力与信心,让学生享受成功的快乐,享受成果的乐趣,真正提高对所学知识的理解和掌握。

四、正确引导学生学习方法,提高学生自主学习能力

职业院校的学生大多数存在学习的积极性不高、不主动,课前不预习,课后不复习等现象,因此,在本课程的教学过程中,正确引导学生的学习方法是至关重要的。经过问卷调查显示,82.7%的学生认为没有学好“C语言”的原因在于自己没用功,71.2%的学生认为自己学习方法不当,因此,教师如何在教学过程中正确引导学生学习,培养学生良好的学习习惯、有效的学习方法、良好的学习态度,也是重要的研究问题之一。首先,教师应根据学生的认知水平和学生的掌握程度,以“适度、够用”的教学内容为主,适应学生的心理实际。在问卷调查中,有一道题目“面对目前学时减少、信息量加大的矛盾,您认为老师应该怎样讲授C语言?”85.4%的学生反映教师不要讲得太快,宁可少讲一点,但要细致一点,让学生听得明明白白。同时,教师应让学生多动手练习,增加学生实际编程的能力。其次,教师应正确地引导学生总结学习过程中的经验教训,每次课都写一次心得体会,总结本次课的内容,教师对学生存在的问题及时解决与沟通。同时,教师应经常与学生沟通交流,使学生养成预习与自学的好习惯,通过网络学习网站,让学生自学。再次,在实际教学过程中,应多引用案例,多让学生分析、解决、判断及操作完成,而不是直接介绍知识点,让学生多动脑思考,改善学生中懒散的习惯。引导学生学习,使学生成为学习的主体,使他们能够用C语言的思想解决问题。

五、改善考核方式,重视学生综合能力培养

针对C语言课程理论性与实践性的特点,我们重视学生学习过程的考核,侧重于考核学生对知识的综合运用能力,主要采用平时表现(10%)、实践效果(20%)、小组自评(10%)、小组互评(10%)、教师评价(20%)、上机考试(20%)、答辩(10%),通过以上考核方式,能够极大地调动学生的积极性,培养学生的创新思维,培养学生的团队合作意识,同时也受到了学生的认可与好评。

六、结语

总之,C语言程序设计课程是一门理论性和实践性都非常强的课程,如何提高课程的教学质量也是值得大家非常重视的话题之一,我们只有在教学中不断探索,勇于创新,才能找出一条既符合实际又有效的途径,让学生在有限的时间内学习到更多的知识,操作得更熟练,为今后的工作、学习奠定良好的基础。

参考文献:

[1]邵雪梅,马骏,程辉.案例教学法在“C语言程序设计”课程中的应用[J].新乡学院学报(自然科学版),2012,(3).

[2]侯宏霞.提高“C语言程序设计”课程教学质量的探索与实践[J].内蒙古师范大学学报(教育科学版),2012,(1).

[3]史继峰,侯芳芳.提高C语言教学质量方法的研究[J].计算机光盘软件与应用,2013,(4).

c语言课程设计小结篇7

一、引言

设计、实现一个复杂或者高级项目的软件项目,可能需要涉及程序设计语言、数据结构、算法设计与分析、计算机网络、数据库等许多课程。而计算机科学技术专业的每一门课程都是从基础理论入手,复杂、高级项目不适合作为课程的学习案例或者习题。

不少课程选用比较简单和容易理解的小项目作为例题讲解知识点或者作为习题巩固学生所学知识点。比如约瑟夫程序,在程序设计语言中是链表操作习题,而数据结构课程中又作为线性表的习题或者上机题目;图书馆管理程序,可能作为数据结构课程的线性表的课程设计题目,也可能作为数据库课程范式优化的例题;集合的交集和并集可能作为离散数学课程的习题,也常被选做数据结构课程线性表操作的算法优化例题;网络蜘蛛常被作为计算机网络课程的课程设计题目,也常因为其中的典型树形结构关系被数据结构课程选作综合性课程设计题目;多优先级作业调度既是操作系统课程的主要研究内容,也是数据结构课程队列内容的习题。

以往的教学实践反映,很多学生学完课程之后并没有达到预期的目的。究其原因,一是对学生动手能力的培养没有到位,以至于部分同学对课程的学习还停留在“纸上谈兵”的阶段;二是对学生自主学习能力的培养没有到位,以至于涉及讲授范围之外的问题学生就不知从何入手。可以采用分层次教学,就是要因材施教,根据大多数学生的情况,正确处理教学中难与易、快与慢、多与少、应知与应会的关系。充分发挥学生学习的主体作用,转化差生、培养优生,全方位增进教学效果。

目前的教学活动,主要考虑的先后关系,而没有建立良好的课程的衔接关系。需要研究、整理他们直接的衔接关系。

需要整理本课程案例,考虑与先修课程或者后修课程的关系及所选题目的价值和意义,同时对案例采用层次性分解方法,满足层次性教学需求。

鉴于计算机专业本科教学课程数量多,本文针对计算机两大具有紧密关系的核心基础课程《数据结构》和《程序设计C语言》进行探索,并期望扩展到其他课程。

二、课程的衔接关系

C语言程序设计与数据结构是工科院校计算机专业中开设的两门重要的专业基础课。在以往教学中,这两门课程是相对独立、分开授课的,因此导致内容脱节,教学效果差。一般C语言程序设计课程只注重C语言的语法体系,因此学习后却不能用C语言进行程序设计;后者则注重讲授抽象的数据关系和算法在计算机中的表示及实现,学生能进行抽象算法的描述,上机实践应用时却无从下手。然而,这两门课程都以培养学生解决实际问题的程序设计能力为共同目标。因此,如何将这两门课程有机地结合起来,构建C语言与数据结构的新体系,改革教学方法,提高教学质量,成了当前教学改革中亟待解决的问题。

在传统的教学模式下,C语言程序设计与数据结构这两门课程分开教学。C语言程序设计的学习主要在语言语法的层次上,数据结构难度较大,注重思维训练,造成学生不能结合有效结合这两门课程运用到实际中去。通过不断探索,认识到这两门课程有很多内在联系,如软件是用一种程序设计语言编写解决该问题的算法,通过编译、链接成为可执行程序而成,而算法是通过处理输入数据转换为输出的解决方案,因此数据结构和程序设计语言密不可分;再比如数据结构讨论的抽象数据关系和算法要用C语言去实现等。

针对差异化的学生现状,整理课程关系,精巧的设计教学案例和习题实现任务驱动式教学法,对于调动学生学习兴趣,先修课程的简单案例让学生能够逐渐独立实现,有助于学生产生满足感,增加学习自信心;对于案例的扩展性引导,启发学生深入思考和逐步掌握自学方法,通过自学后修课程,提出的较难的问题又有助于激发学生参与后修课程学习的积极性。

三、拟解决的主要问题

数据结构与C语言课程的结合方式的探讨,针对探讨结果设计实际结合方法,并在学生中实践,选择最佳结合方式。

数据结构与C语言,每门课程需要有经验的任课教师结合本课程特点,探讨并确定各个案例与各知识点和其他课程关系,针对学生差异性现状和任务驱动式及层次性教学需求,对选择的案例采用递增式设计;确定跨课程案例及相关课程名,涉及的知识点。探讨选择的习题(包括课堂练习题、课后思考题、课后作业、上机实验题和课程设计题目)于知识点及其他课程的关系,标注习题难度级别,以达到层次性教学目的。

针对这两门课程的案例和习题,深入探讨相互关系,特别是相互的衔接性,C语言课程首先需要讲解基本语法知识,帮助初学者建立简单的程序设计过程思想,但由于教学时间限制,只依靠课内学习和课后作业及上机实验是不能充分达到熟练运行C语言解决问题,编写项目程序的目的。

C语言是大一学生首先接触的程序设计语言,加上许多学生还存在中学时期的一切依赖老师的学习方法和观念,未能进一步学习并提高程序设计能力,因此在后续课程中,比如数据结构课程中需要在讲解数据结构抽象数据类型及解决问题的时候,学生应该尝试借用C语言编程实现抽象算法。因此,应该结合学生的这个实际情况,进一步细化和分解选择的案例和习题,让学生在C语言学习过程中学会应用C语言解决和数据结构简单问题相关任务,为数据结构课程打下坚实基础;而数据结构课程中有意识的安排一些案例和习题,让学生能够有运用C语言解决简单问题的能力,并通过数据结构课程的学习和培养,掌握复杂问题的解决方法和更加熟练的应用C语言工具。

四、总结

根据计算机课程关系,设计优化与其他相关课程有关系的案例与习题,一来可以引导学生理解后修课程部分内容,引起学习兴趣,二来在一些先修课程已经介绍本课程该知识点的基础上,提出新的解决方案或者优化方法,更容易激发学生探索问题的好奇心和解决复杂问题的满足感,加强学生理解课程相互关系和培养计算机创新思维。

以数据结构课程和程序设计语言课程为例整理课程关系,研究和设计教学案例及习题,满足学生差异化需求和对学习内容的兴趣,进行层次性教学,将其经验和方法最终推广到计算机本科教学的各课程。

参考文献:

[1]黄迪明.C语言程序设计(第2版)[M].成都:电子科技大学出版社.

[2]吴跃,李树全,尚明生.数据结构与算法(第2版)[M].北京:机械工业出版社,2010.

[3]萨师煊.数据库(第3版)[M].北京高等教育出版社,2000.

c语言课程设计小结篇8

一、前言

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语言课程设计小结篇9

二、高职院校项目教学在C语言程序设计课程中的应用

项目教学法应用在C语言程序课程中,可以通过科学合理的设计项目把课程重要的知识点进行重新整合并融入其中,使学生提高对C语言程序设计的兴趣,并主动应用技能,提高自身创新意识,从而有效提高C语言程序设计的教学质量。教师应用项目教学法主要从以下几个方面开展:

(一)从应用入手,激发学生的学习兴趣。对于C语言程序设计的初学者来说,很多学生对它的背景知识了解相对较少,随着学习的深入,课程难度逐渐加大,学生逐渐跟不上教学进度,致使学习兴趣的丧失。教师在C语言程序设计课程中应用项目教学法,必须设计出与学生学习、生活有着密切关系的项目,从而提高学生的学习兴趣。例如通过设计学生成绩管理系统项目来提高学生对C语言程序设计中数值处理的应用,通过设计多功能选择菜单项目来提高学生对C语言程序设计中switch()的应用。

(二)大项目与小项目相结合。大项目即综合项目,它能有效结合C语言程序设计大部分知识点且具有较高的实用性;小项目是教师在教学过程中针对C语言程序设计某个固定知识点开展的具体项目。项目教学法在C语言程序设计教学应用中,小项目是实现大项目的基础,大项目是对小项目的综合应用,两者相辅相成,密不可分。教师运用项目教学法开展C语言程序设计教学时,一是要对学生进行大项目的布置,使学生明确学习目标,从而减少学生学习的盲目性;二是在教学过程中,教师要以大项目为依据着重开展小项目的讲授;三是小项目的课程全部结束以后,教师要对学生进行分组,以小组的形式对小项目的知识点进行串联,完成大项目中对小项目的综合应用。项目教学法在C语言程序设计中应用大项目与小项目相结合的方式,可有效提高教学质量,给予学生水到渠成的感觉。

(三)启发教学与自主学习相结合。项目教学法是以学生为主导的教学方式,这就要求它要充分发挥学生的主观能动性,促使学生积极主动寻求学习过程中遇到问题的解决办法。为提高学生的自主学习能力,教师在上课之前可先向学生提出一个或多个项目问题,要求学生根据问题独自通过教材中相关内容找出答案,并且在课堂上让学生把自己的见解阐述出来,这样学生的自主学习能力得到提高,同时还促进了对C语言程序设计的兴趣。但是高职院校学生中部分学生基础知识薄弱,自觉性差,任由学生自主学习,不能起到良好的教学效果,这就要求教师在学生遇到问题时给予必要的启发和指导,这样才能帮助学生找到方法并顺利解决问题。对C语言程序设计课程的项目教学中,教师要有效结合自主学习和启发教学,这样才能发挥项目教学的优势,从而提高教学质量。

(四)协作学习与自主学习相结合。在C语言程序设计教学中,引导学生自主学习可以提高学生的学习能力,对于分支和循环等一些基本项目的设计,可以采用这种方式进行教学。但是当涉及到数组项目设计、综合项目设计等一些复杂的项目和问题时,教师要对学生进行科学合理的分组,以小组的形式找出项目的解决办法和实施方案,完成之后小组之间要进行讨论,互相分析其他小组的实施方案中存在的问题,以此来互通有无,交流经验。C语言程序设计项目教学通过协作学习和自主学习相结合的方式可以提高学生个人学习能力和团队合作意识,还可以使学生集思广益、开拓眼界。

(五)传统教学与项目教学相结合。传统教学注重使学生掌握C语言程序设计的理论知识,为后期的教学活动打下基础,而项目教学法在于培养学生的自学能力、分析能力、协作能力等。教师在对学生进行C语言程序设计教学时,要以传统教学为基础,灵活、机动地使用项目教学法,这样才能提高教学的质量。比如,在C语言程序设计课程中,教师可把教学活动分为理论和实践两个部分,通过传统教学模式对理论部分进行讲解,使学生掌握C语言程序设计的基础知识,通过项目教学法使学生对实践部分进行操作,这样可实现学生把掌握的理论知识运用到实践当中,巩固并提高了学生C语言程序设计的能力。

(六)开展实验活动。项目教学法在C语言程序设计课程中的应用需要开展大量的实验活动作保障,它不仅可以使学生把学到的C语言程序设计理论应用到实践当中,同时还可以锻炼学生的思考能力。试验是以巩固学生在课堂上学到的知识为主要目的的,无需学生在实验时设计一个完整的C语言程序设计项目,这就要求教师不能单纯列出一个项目题目让学生完成,也不能依靠传统的教学方法给学生一个单独的实验题目。教师要突出项目教学的优势,依靠商品销售系统、员工工资管理系统等具体的项目,精心设计试验题目。同时教师还要根据学生对C语言程序设计掌握的具体情况,通过编写模块功能代码、改正模块中语句的表达模式等多层次的题目来达到实验的目的。除此之外,教师还可以设计一些复杂的实验项目作为选做题,以促进高水平学生能力的继续提升。

(七)加强学生在项目教学中的讨论工作。开展C语言程序设计项目教学,只有充分发挥学生的积极性和主动性,才能提高教学质量。项目教学法中合作学习的实施是提高学生学习积极性和主动性的重要环节,教师要对学生进行科学合理的分组,并向学生提供专题供小组讨论,专题主要包括C语言程序设计的难点和易混淆的知识点,小组讨论期间各成员都要积极发言,互通有无,交换意见,最终促进学生对C语言程序设计知识点的掌握。除了在课堂上的讨论之外,教师还需布置课后的项目题目并对学生进行分组使其以团队的形式利用课余时间去思考、讨论、收集资料,并制定出该项目的实现方法,课堂上小组之间进行讨论,探讨各实现方法的可行性,最后教师再进行归纳总结。C语言程序设计利用项目教学的小组讨论方式可以有效提高学生的学习积极性,还能使学生获得更多的课外知识,激发他们的求知欲,有效促进了C语言程序设计教学质量的提高。

c语言课程设计小结篇10

中图分类号:G613.2 文献标识码:A 文章编号:1009-914X(2014)46-0242-01

《C语言程序设计》课程是计算机专业和非计算机专业学生学习编程的一门基础课程。在一些高等院校中,这门课程是学生学习程序设计的第一门课程,是学生建立编程思想、掌握编程方法技巧及后续学习其他编程语言课程的基础学科,也是国家计算机等级考试的主要科目。C语言具有高级语言语法简单、类型丰富、结构完整、表达能力强、适于模块化设计的优点。但也因为C语言抽象、逻辑性强,数据种类繁多、表达方式多样、语法结构复杂等特点,使得学生在学习过程中易有畏难情绪产生,逐渐失去兴趣。因而,C语言成为了一门教师难教、学生难学的课程。为提高C语言课程的教学效果,有必要对C语言教学现状及存在的问题进行分析,以期找出改善C语言教学现存问题的对策,为广大C语言教师教学提供一点有价值的参考。

1 C语言教学现状及存在的问题

多年的教学实践发现,作为程序设计的一门很重要的基础编程语言――C语言,在教学中收到的效果并不是很理想,还存在很多问题,

主要表现在如下几个方面:

1.1 学生基础参差不齐,缺乏C语言学习兴趣。由于各高等院校学生都来自全国各地,各个地方的经济发展状况和教学水平存在很大差异,有的学生高中阶段有接触过C语言,而有的学生根本没有接触过计算机。因此,学生在学习C语言的接受能力也不同。接触过的学生,在学习的过程中,会轻松一些,没有一点计算机编程语言基础的同学,接受起来就要慢些,如果讲解过快,会有无所适从的感觉,进而对C语言课程失去兴趣。

1.2 C语言本身的一些特点,使得初学者有畏难情绪。就C语言本身而言,抽象难懂,其语法结构复杂、类型多样、表达式丰富、编程风格灵活,与计算机硬件紧密结合。对于初学者来说,繁琐的概念和大量理论数据,掌握起来比较困难。另外,许多同学了解到现在流行的程序设计开发语言是Java、C#、C++等语言,觉得C语言在以后的应用中会很少,因此轻视C语言学习的重要性,再加上C语言单一的编程界面,跟DOS差不多一样的黑色窗口,也使得学生对这们课程容易失去兴趣。

1.3采用单一多媒体方式授课,重理论、轻实践,学生接收效果不理想。目前,C语言的教学方式主要是采用多媒体大屏幕的方式教学,这种教学手段的特点是,信息量大,减少一些理论概念和程序的板书环节,大大提高了课堂教学效率。C语言课程课时相对较少,而教学任务繁重,这样采用多媒体课件教学方式,就能有效保证教师教学任务的完成,与此同时,教师往往大量灌输理论知识的讲解,忽视学生的接受能力,实际的效果并不理想。一节课下来,学生忙着记笔记,记理论数据,而真正能理解消化的甚少。另一方面,C语言教学中,教师重理论、轻实践的教学方式,不利用学生编程思想的培养。

1.4 上机课时偏少,教师人员配备不足,效率低下,难以收到预期效果。C语言是一门实践性很强的学科。然而,在实际教学中,由于课时安排不当,理论课程安排偏多,上机实践课程偏少,导致学生实践能力差。只会做题,不具备自己编程自己调试能力。在上机过程中,学生只是照着书中的例题,现成的程序,来调试结果。缺少运用自己的思想进行编程并上机调试验证的能力。另外,上机实践课中,一般只有一名教师,不能一一针对学生的问题,及时给予指导,也导致上机课的教学效率低下,教学效果不理想。

2 解决C语言教学现存问题的对策

2.1 注重学生编程兴趣的培养。兴趣是最好的老师。由于学生在高中阶段的计算机基础不同,因而教师在C语言教学中,要侧重没有基础的学生的接受能力,合理制定教学计划,课上进行细致讲解。由于C语言是计算机编程的基础语言,也是后续编程语言学习的基础,因此,要认识到C语言学习的重要性,认识到激发学生学习C语言课程兴趣的重要性。在教学中,要针对学生实际和课程特点,采用适当的教学方法和教学手段,灵活授课。其宗旨是学生能透彻掌握C语言的数据概念、语法结构和编程思想,能运用C语言熟练编写一些小程序,并上机调试验证。

在传统教学中,通常是按照C语言的重要性、C语言的特点的顺序进行抽象讲解,容易使学生觉得C语言课程枯燥乏味。为改变这一现状,要化抽象为形象。在介绍完几个概念、语法结构的同时,顺带引入几个小程序,并启发学生运用C语言来进行编程。具体的案例,可以采用学生平时能接触到的并容易感兴趣的例子,比如编写一个小游戏程序等。这样容易吸引学生主动动脑思考,更加有利于学生掌握C语言编程的思想。进而提高C语言学习兴趣,灵活学习和掌握C语言编程技巧。

2.2 引用案例和任务驱动的教学方法,激发学生学习积极性。在传统C语音教学中,一般都是先讲解理论知识,如介绍C语言是一些概念和语法知识,再讲述这些理论知识在实际编程中的具体运用。在实际授课中,多媒体教学方式下,大量理论知识灌输给学生,学生被动学习,不利用调动学生的积极主动性,甚至产生厌学心理。针对此种问题,可以采用引入案例和任务驱动的教学法进行教学。通过案例和任务驱动引出教学内容,然后着重讲解C语言程序设计的思想和方法。在案例讲解过程中,顺带讲解相关的语法知识,有助于学生对C语言理论知识的理解和编程水平的提高,也有利于学生分析问题和运用知识的能力培养,最终达到激发学生学习积极主动性的目的。

2.3 增加上机实践课时,根据学生人数配备人员足够的教师跟踪指导,提高学生上机实践编程的能力。C语言是一门实践性强的学科。这就要求在课时安排上,要适当加大上机实践课时,使学生有充足的时间进行上机编程调试。上机调试是发现问题和解决问题的过程。在上机实践课中,可以考虑根据上机调试程序的学生人数的多少,配备足够的教师跟踪指导。及时指出学生在编程中常犯的一些错误(如语法错误或逻辑错误等),以帮助学生认识一些常见错误并加以改正。另外,还可以安排一些学生进行编程“示范”。让某个学生上台调试,调试过程通过投影仪展示给全班同学,如该生在上机中出现编程和调试错误,可以让学生思考讨论,并给出解决方案。通过这种方式,可以帮助学生规避一些常见编程调试问题,提高上机实践操作能力。同时,既锻炼了学生的思维能力,又调动了学生的积极主动性。

对于C语言初学者来说,一个学期的上机实践课并不能使学生熟悉C语言的数据类似和算法,也不能熟练运用C语言进行编程。为提高学生运用C语言进行编程能力,可以引用课程设计这一教学内容。课程设计的选题要有一定的综合性,又要和各章节内容有联系。如可以选择游戏类的题目。在课程设计阶段,可以模拟软件开发小组模式,将学生分成几个小组,每个小组选出一个组长负责,共同完成任务。这有利于培养学生完成较大项目的能力,也有利于进一步加强学生的实际编程能力。

结语

综上,由于C语言课程自身的特点,以及教学中教学方法手段的不当,使得C语言教学存在一定的难度。上文着重针对C语言教学现状及存在的问题进行分析,探讨了解决C语言教学现存问题的对策。

参考文献

c语言课程设计小结篇11

摘要:分析和探讨了C语言与数据结构课程的关系及其两门课中存在的问题,提出了C语言与数据结构进行课程整合的思想,针对C语言与数据结构整合后的课程内容、目标,教学模式及教学评价方式等几个方面给出了一些建议,从而提高两门课程的教学质量及学生的学习效率。

关键词:C语言;数据结构;课程整合;教学模式设计

1、引言

信息技术急速发展,计算机加工的对象涉及广泛,如图形、表格、字符等,而不再只是单纯的数值。从而诞生了C语言与数据结构这两门课程。C语言与数据结构是相辅相成的两门课程,数据结构的算法需要某种编程语言实现,C是常用的语言,数据结构是对C语言的进一步应用。

2、C语言与数据结构的关系及存在的问题

2.1 C语言与数据结构的关系。C语言课程是计算机专业的一门语言类基础学科,主要是培养学生学会程序设计中C语言本身的一些语法、语句与程序结构。C语言是一种面向过程的程序设计语言,它具有结构化的控制语句、多种类的数据类型、比较强大的图形功能,适用范围较大。C语言课程是所有的程序设计类课程的基础,它主要培养学生的编程能力。

数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。它主要研究在计算机上进行储存、删除、修改等数据处理。数据结构课程注重培养学生的逻辑思维能力和分析解决问题的能力,提供解决实际问题的算法思想。

C语言与数据结构这两门课程对于应用计算机解决一个实际问题来说是缺一不可的,密不可分的。从课程内部的知识结构看,C 语言中体现了数据结构的思想,数据结构中应用了 C 语言的知识。

2.2两门课程间存在的一些问题。前面提到,C语言与数据结构存在着密切的关系,在传统的教学中就存在着一些弊端,传统教学中C语言与数据结构是分开教授的,分上下两个学期来完成,数据结构中有些地方需用到C语言中的知识加以支撑,来实现算法与结构。

3、C语言与数据结构课程整合

由于C语言与数据结构的关系及其授课过程中存在的一些问题,有必要对C语言与课程结构进行课程整合,使理论知识能够与实践操作结合起来,且能节省时间,使学生能够很好的掌握这两门课程应该学到的内容。

若是要进行C语言与数据结构的课程整合,最主要的就是要从课程的内容入手,只有将内容整合好才能够进一步的完成课程整合。内容整合好之后,在课堂上教授才更加的有条理、紧凑,便于学生对C语言与数据结构课程的学习与掌握。

从教材中可以看出,C 语言和数据结构两门课程中知识点有重复的、也有相互关联的。因此课程制定要化散为整,去掉重复的内容,使知识能够合理的贯通,达到良好的教学的效果。

这门课程还是需要分两个学期来讲,第一学期注重语言基础和简单数据结构和算法实现,使学生能够对C语言数据结构的算法知识有相当的了解、会进行简单的算法实现。第二学期注重算法实现和设计,同时介绍C的高级应用。

4、整合后教学方式的多元化

传统的教学主要是采取以教为主的“填鸭式”的教学方式,课堂的教学显得较死板,通常是教师的“一言堂”,在进行课程整合后,要采取多元化的教学方法和手段以提高课堂教学的质量,从而激发学生的学习兴趣,达到良好的课程教学的效果。

4.1教学目标的设计。教学目标的设计对课堂的质量是非常重要的。它是教学设计过程的基本要素之一,是教师在完成教学任务后要达到的课程要求或标准,同时也对教师课堂教学实践活动起到指导的作用。教学目标的设计主要是根据它的三个维度来设定知识、技能、情感与价值观。要能够非常直观的体现学生学完C语言与数据结构课程之后要达到怎样的标准,学生应该具有哪些能力。

4.2课堂教学设计。C语言与数据结构课程整合后,课堂教学中的教学设计要更加的丰富多彩,课堂上既对理论知识进行讲解,也对学生进行动手训练。因此在整合后的课程教学过程中,可以通过以下几个方面来组织教学活动。

(1)激发学生的学习兴趣,培养学生的学习动机。教师要利用用现代化的教学设备,如把多媒体、PPT课件、Flas等运用到教学中;还可以采取兴趣驱动案例教学法,将与课程教学过程相关的案例引入到课堂当中,来激发学生的学习兴趣,培养其学习动机。俗话说的好兴趣是最好的老师,只有使学生产生了学习的兴趣才能够更好的进行课堂的学习。

(2)创设学习情境,使学生能够融入课堂。

创设学习的情境,让学生来扮演相应的角色,使学生体验每个变量的变化过程,增强感性认识,使学生产生学习的兴趣,由于表演更加的直观,能够引起学生的注意,使观看的同学愿意去关注,参与表演的学生也能够更深刻的理解程序,使同学们能够自主的去探究知识,学习知识。

(3)进行课堂讨论,项目驱动式教学

课堂中充分发挥学生的主体作用,学生进行讲解,互相讨论,老师在课堂中只起到引导、指导、监督、评价的作用。可进行项目驱动式教学,把同学进行分组,根据每节课所讲授的内容,给学生留一些小的项目,使学生进行分组练习,不仅起到复习的效果,还能够培养学生的实践操作能力及团结协作能力等。

5、整合后的教学评价设计

教学评价是教学活动中必不可少的一部分,由于仍是分两个学期来上,第一学期主要学习的是一些理论的知识,因此可以用平时成绩加期末的书面考试成绩来考核。第二学期主要是对编程及动手操作能力的培养,因此考核时要以项目的完成情况作为主体。最后对两个学期的考核进行综合,从而对学生的两门课程作出合理的评价。

6、总结

本文分析和探讨了C语言与数据结构课程的关系及其两门课中存在的问题,提出了C语言与数据结构进行课程整合的思想,针对C语言与数据结构整合后的课程内容、目标,教学模式及教学评价方式等几个方面给出了一些建议,从而提高两门课程的教学质量及学生的学习效率。

参考文献:

c语言课程设计小结篇12

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

“C语言程序设计”是高职高专电子专业的专业必修课。传统教学以理论为主,以学科本位的逻辑体系来设计课程的教学内容。课程内容没有与高职电子专业的其他课程有机衔接,不符合高职高专技能培养的特点。学生在学习C语言之后,不能用之有效地解决实际问题,学生的学习积极性难以调动,因此有必要对该课程进行改革。

1 现状分析

目前高等学校都把“C语言程序设计”作为理工科非计算机专业的计算机基础教育课程,属于计算机基础教育课程的一部分。但课程设置并没有考虑与其他专业课程之间的关系,没有针对高职应用电子技术的专业特点,成了非计算机专业学生的“计算机通识教育”课程。

虽然许多学校对“C语言程序设计”课程从教学内容、教学手段、教学方法等方面进行了大胆的改革,把逻辑与编程解题思路(算法)放在主体地位,讲解如何分析问题和解决问题;但是受“在学校里牢固掌握基础知识,毕业后在实践中积累经验”这种传统的教学理念的影响,把培养学生阅读程序、设计程序的能力,分析问题、、解决问题的能力和逻辑思维能力作为教学目标。课堂上学到的也只是用C语言解决一些数学问题,所学内容和实际应用相脱节,认识不到“C语言程序设计”和自己专业之间的关系,学生在学习C语言之后,不能用C语言编写为本专业服务的应用软件。特别对高职高专电子专业学生来说,C语言的知识成了他们专业知识结构中的一个“孤岛”。

2 改革的必要性

C语言是影响深远的、传统的、优秀的面向过程的结构化程序设计语言。C语言功能丰富、表达能力强、使用灵活方便、应用面广、代码转换质量高。C语言方便进行模块化软件设计,还可以实现C语言和汇编语言的混合编程。C语言既具有高级语言的优点,又具有低级语言的许多特点,能像汇编语言那样直接利用CPU的硬件特性进行程序设计。既可以编写应用软件,又可以编写系统软件。和汇编语言相比,C高级语言程序设计快、可读性、可移植性和可维护性好。一般情况下,完成同样的任务,使用C高级语言比用汇编语言可提高工作效率5-10倍,在调试阶段更容易体会到这一点,因此C语言特别适合单片机的开发。嵌入式系统中使用的嵌入式操作系统绝大部分也都是以C高级语言为基础的,很多直接将源代码提供给使用者。目前在单片机应用领域,C高级语言越来越受到人们的重视。用C语言进行单片机程序设计已经成为单片机开发的一个主流,是单片机开发与应用的必然趋势。

单片机课程是应用电子技术及相关专业的一门重要的专业主干课,在专业基础课和其他专业课方面起着重要的桥梁作用。它涉及到的基础理论知识较广,应用范围广,是一门实践性、工程性很强的技术课程,在电子技术及相关专业课程中群中占有十分重要的地位。电子专业的学生普遍将单片机用于课程设计、毕业设计和电子产品设计大赛等许多实践环节。单片机应用也是学生将来在电子类公司或电子行业工作的最基本的技能。“单片机原理与应用”课程都是基于汇编语言的,高职高专学生很难应用汇编语言去搞程序设计,学生学到的单片机知识不能得到应用。

高等职业教育的培养目标是:培养既有一定理论基础又有较强实践能力,在生产服务第一线工作高层次的实用型、技术型人才,它不同于一般本科院校的学术型、工程型人才的培养目标。就高职应用电子技术专业而言,它培养强电弱电相结合,以弱电为主,并能熟练应用电气技术、计算机技术和控制技术等现代科学技术,具有较强实践能力的技术管理人才。强调应用性、实用性是高职教育的特色,教学内容突出基础理论知识的应用和实践能力培养的原则,以应用为目的,以“必需、够用”为度,加强针对性和实用性。

因此,高职应用电子专业的“C语言程序设计课程”应不同于本科相应专业,也应不同于高职其他专业。“C语言程序设计”课程的开设应紧扣本专业的特点,为本专业的培养目标服务。如果将“C语言程序设计”变成“单片机C语言程序设计”,学生通过本课程的学习掌握单片机C语言程序设计方法,达到独立利用C语言编写单片机应用程序的目的。将C语言“知识孤岛”和单片机“知识孤岛”连接起来,结合所学其他专业知识,使学生学会应用单片机开发电子系统的基本方法。如果学生以后需要用C语言或其他高级语言开发通用计算机系统的应用软件或系统软件,有了“单片机C语言程序设计”的基础,可以触类旁通,很容易掌握其他高级程序设计语言。这也符合从特殊到一般,再从一般到特殊的认知规律。

3 课程改革设想:

3.1 课程内容的改革

把“C语言程序设计”置换为“单片机C语言程序设计”,放在“单片机原理与应用”课程之后开设,将“计算机基础教育”课程变成“单片机开发技能”课程。课程内容适用于C高级语言的初学者,包括数据类型、运算符和表达式、数组、指针和函数、程序的顺序结构、选择结构和循环结构、程序设计基本知识和单片机的C编程等内容。对C语言中较难或单片机程序不常使用的内容,比如多维数组、指向指针的指针、链表等进行删减。相关例题应本着“深入浅出,突出实用”的指导思想,难度应与高职高专学生的基础相适应,算法不要过于复杂。单片机的C语言编程部分主要应包括中断、定时器/计数器、串行口、键盘和显示等相关应用,适当包含少量可编程芯片的应用。所选内容应体现先进性、实用性和技能培养的特点,抛弃一些过时或不实用的内容,把提高学生的职业技能放在突出的重要位置。整门课程应将单片机和C语言有机结合起来,强调知识点在单片机程序设计中的应用,体现“单片机C语言”的特色,避免把课程内容分为“C语言程序设计”和“单片机C编程”两部分。

3.2 编译开发环境

以80C51系列为基础,开发环境选择德国KeilSoftware公司的Keil uVision集成开发环境(当前版本是uVision3)。这是一个基于Windows的开发平台,集成了编辑器、项目管理器、Cx51编译器、Ax51宏汇编器、BL51/Lx51连接定位器和调试器,用户群极为庞大,符合教学特点的典型性。其中Cx51是专为80C51单片机设计的C语言编译器,生成的程序代码运行速度高,存储空间小。KeiluVision还提供了强大的项目管理功能,可以十分方便地进行结构化多模块程序设计,特别是Keil提供的纯软件模拟仿真功能(也支持硬件目标板在线仿真),非常适合教学使用。Keil调试器支持断点管理和程序代码的多种 执行方式(全速、单步、执行到指定行等)。在调试状态下有寄存器窗口、存储器窗口、观察窗口和命令窗口,用于程序执调试过程中显示单片机寄存器、存储器、局部变量和观察点的状态和输入各种调试命令。Keil uVision的集成功能(Peripherals)菜单可以打开中断系统、I/O接口、串行口、定时器计数器等状态窗口,通过这些状态窗口可以观察软件仿真结果。

Keil uVision可以与PROTEUS整合构建单片机虚拟实验室。PROTEUS是目前世界上最先进最完善的嵌入式系统设计与仿真平台,可以实现数字电路、模拟电路及微控制器与外设组成的混合电路系统仿真、软件仿真、系统协同仿真和PCB设计等全部功能。由于PROTEUS软件包逼真、真实的协同仿真功能,得到了包括剑桥在内的众多大学用户的认可,作为电子学或嵌入式系统的课程教学、实验和水平考试平台。Keil uVision与PROTEUS通过设置联机调试单片机系统,在PROTEUS中完成单片机系统的电路原理图绘制后,在Keil uVision集成开发环境中进行程序设计、项目的创建、编译链接和调试,同时可在PROTEUS查看直观的结果(如键盘输入和LCD显示等)。

3.3 教学方式的改革

高职教学应该是基础和技能的教学同步进行,甚至先教技能再教理论,在不断实践中掌握技能,在技能学习中提高基础理论。在高级语言程序设计教学中,不能期望高职学生对每一个算法都理解。一些太复杂的算法、单片机应用系统中常用芯片的驱动程序,可以以函数库或软件包的形式直接提供给学生,供学生在程序设计中调用,降低理论教学难度。

确立以学生为中心的教学理念。从学生实际出发,以学生为本,采用多样化、层次化的教学方法,贯彻循序渐进、深入浅出的原则。学生没有高级语言程序设计的基础,在“单片机C语言程序设计”教学中要注意分散难点,缩小台阶。在内容体例的设计上以实用为主,抛弃过多的语法细节和非通用的或实际用途很少的语言特性,理出重点和教学主线;采用一体化教学方法,以程序样例为主实施教学。淡化语法教学,以程序设计带动基本语法的学习。

友情链接