c程序设计范文

时间:2023-11-17 15:04:50

c程序设计

c程序设计篇1

>> C语言程序设计案例教学法研究 以程序案例为导向的《C语言程序设计》的教学研究 C语言程序设计教学探讨 C++程序设计浅析 C程序设计教学的新宠 高职院校《C++程序设计》 C语言程序设计教学研讨 《C程序设计》教学心得 浅议C语言程序设计教学 C程序设计课程教学探讨 C语言程序设计教学 浅谈C程序设计教学 C语言程序设计教学探索 “C++程序设计”课程改革 《C++程序设计》教材介绍 C程序设计教学初探 C程序设计教学探讨 《C语言程序设计》教学实践 C高效程序设计的技巧 C++程序设计教学探讨 常见问题解答 当前所在位置:l),其中罗列了一些优秀的开源C++项目。4) 开源中国社区(/ project/ lang/21/c)。

我们初步筛选出了以下8个开源项目:1) C++程序开发框架Qt;2)以3D方式显示函数曲面的K3DSurf;3)比Windows 自带的Notepad更优秀的Notepad++;4)游览宇宙星体的教育软件Celestia;5)能够检测C++程序中逻辑错误的CppCheck;6)能够快速浏览大型源代码系统的Source Navigator;7)能够显示Windows目录、逻辑盘使用情况的WinDirStat;8)能够显示与合并目录/文件差异的Winmerge。

2评估指标

我们依据以下指标对每个候选案例进行定量化评估。

2.1学生兴趣

从教育心理学角度看,如果学生对一个案例感兴趣,他们就会主动去学习与该题目相关的其他领域知识,也会更积极地去研究课程知识是如何被应用到该案例中去的。我们调查了南开大学软件学院114名本科一年级学生对这8个开源项目的兴趣程度。首先我们演示了这8个开源软件各自的功能,再让每个学生独立的填写一个问卷调查表。每个学生对一个项目感兴趣的程度用数字1~5表示,5表示最感兴趣,1表示最不感兴趣。最后我们将所有学生对一个项目的兴趣程度取均值。

2.2代码规模

作为本科生的课程设计或者实训项目,往往要求学生在1个学期之内的时间完成。如果案例本身代码太多,学生们将无法在有限的时间里完成案例的学习。另一方面,如果案例本身代码太少,将无法展示相关课程内容在实际项目中的应用情况。我们需要在二者之间进行折中,依据软件代码行数(LOC,Line of Code)以及软件中类型数量来评测一个项目的代码规模。

2.3代码质量

精确地评估一个软件系统的代码质量是比较困难的,这需要专家仔细研读软件的源代码、文档,理解并评估其软件系统设计,判读其可扩展性、可移植性、模块化的程度,评判其代码是否符合C++代码规范的要求,评测其运行时的性能、健壮程度等。8个候选题目的代码总量大约为53万行,进行人工的评估显然是不现实的。我们选择了以下两个子指标对一个软件项目的代码质量进行评估:

1) 代码中注释部分的比例。适当比例的注释可以提高代码的可读性,同时也表明了编程人员编写代码比较仔细、严谨。

2)LCOM度量(Lack of Cohesion of Methods)。好的内聚性(Cohesion)是一个高质量软件系统必须具备的。所谓内聚性,是指一个类的成员变量和成员函数之间的耦合程度。虽然有多个度量来评测内聚性,我们选择Henderson-Sellers提出的Lack of Cohesion of Methods (LCOM-HS) [7]。该值越大,表明一个类的内聚性越差;越小则表示内聚性越好。其取值范围为[0,2]。

2.4C++技术的应用

由于案例教学的目的是要求学生熟练应用C++以及相关面向对象技术进行软件开发,所以我们要求所选案例本身能够尽量全面的覆盖C++的各个方面。我们选择了3个子指标:

1) 一个项目所使用的名字空间(namespace)的个数。在一个中、大型软件项目中,合理使用名字空间可以有效避免名字冲突,提高软件系统的模块化程度。

2) 一个项目所使用的模板(template)的个数。C++除了具有所有面向对象编程的特性之外,现代的C++程序开始大量使用模板来实现泛型编程(Generic Programming)的思想。对模板的适度使用,可以使得一个相关模块更加通用,更易扩展,能够最大程度地达到代码复用的目的。

3) 继承。类的继承也可以达到代码复用的目的,也是C++程序设计中实现多态性的必要条件之一。

3评估工具及运用

有以下工具可以评测C++代码的规模与质量:

1)SourceAudit(),由Front EndART公司开发。

2)Telelogic 公司的logiscope。

3)CppDepend(),能够对C++程序进行60多个指标的测量,其中有些是关于代码结构的(如class、namespace的数量),有些是关于代码质量的(如程序注释比例、内聚性、项目稳定度等)。该工具还可以直观地显示程序模块、类、函数之间的依赖性。CppDepend将被分析程序的代码当做数据库来处理,允许用户使用一种代码查询语言(Code Query Language,CQL)来灵活地分析程序代码。由于该工具小巧(约8.6M字节)、灵活(支持CQL语言)、被允许在学术机构中免费使用,我们选择该工具来对课程案例进行评估。

部分评估指标在CppDepend生成的html格式的报告中可以直接找到,而有些评估指标需要用户创建CQL语句,提交给CppDepend完成查询。CQL和SQL相似,其格式为SELECT TOP FROM WHERE ORDER BY。如为了查询一个软件项目中有哪些函数的代码超过200行,可以使用下面的CQL语句。

SELECT METHODS WHERE NbLinesOfCode > 200 ORDER BY NbLinesOfCode DESC

其中METHODS表示代码中的函数,NbLinesOfCode表示函数体内的代码行数,DESC表示降序排列。

需要使用CQL语句计算的评估指标如下。为了查询一个C++项目中的继承数,我们使用下面的CQL语句。

SELECT TYPES WHERE NbBaseClass >0

其中TYPES表示一个C++项目中定义的类型,比如类、结构体、联合体等。

为了查询一个C++项目中内聚性较差的类的名称与数量,我们使用下面的CQL语句。

SELECT TYPES WHERE LCOMHS > 0.95 AND NbFields > 10 AND NbMethods >10 AND !IsGlobal ORDER BY LCOMHS DESC

其中LCOMHS表示Henderson-Sellers定义的LCOM度量,NbFields表示一个类的成员变量的数量,NbMethods表示一个类的成员函数的数量。

4评估结果

依据以上指标,我们对各个候选案例进行定量分析,结果如表1。由于整个Qt软件系统的总代码规模、复杂程度远远超过本科生的理解能力范围,我们选择了其核心模块QtCore以及经常被开发人员使用的QtGui作为评估对象。表中,LOC表示代码行数(Line Of Code),Types列显示的是各系统中类型的数量,Comm列显示的是注释行数量与总代码行的比值,LCOM列表示内聚性差的类在所有类型中的比例,NSpace表示namespace的数量,templates和inherits分别表示各系统所使用的模板与继承的数量。

从“学生兴趣”指标上看,学生们最感兴趣的是Qt软件包,这可能归因于该软件包的示例程序展现了Qt具有强大的图形/图像处理功能。学生们其次感兴趣的是K3DSurf,可能是被该软件所展现的精美的数学函数曲面所折服。学生们最不感兴趣的是Winmerge,这可能是由于在他们有限的软件开发经历中,尚未遇到要比较两个目录的问题。假如被调查对象是具有多年工作经验的程序员,他们可能对Winmerge更感兴趣,因为该工具可以快速地找出一个软件的两个开发版本的异同。

从“C++技术的应用”指标上看,Qt、Celestia和Winmerge都大量的使用了名字空间、模板、继承,表明这3款开源项目更适合作为课程案例来使用。由于学生们对Winmerge的兴趣较低,我们候选案例清单缩减为Qt和Celestia。

就Qt而言,即使我们只选择了其中的QtCore及QtGui模块,代码规模仍然高达22万行。因而,我们选择QtCore作为详细剖析的案例对象,而对QtGui只做粗粒度的剖析。这样,候选清单中的竞争者就成为了QtCore和Celestia。

总体上,QtCore和Celestia具有旗鼓相当的指标值,只是学生们对Qt的兴趣程度稍高,QtCore的注释比例最高。作为一个C++程序开发框架,QtCore的软件体系应该比较抽象,所以它所使用的模板数量要高于Celestia。

5结语

本文设计了一套定量化的评估指标,使用代码查询语言(Code Query Language,CQL)及代码分析工具CppDepend对8个开源项目进行了定量评估,给出了适合于课程C++程序设计的候选案例,可供各高校在相关课程的案例教学中参考。

注:本文得到南开大学教务处、软件学院“08 年教学改革专项”(2009-2~2010-12)的大力支持。

参考文献:

[1] Bruce Eckel. Thinking in C++[M]. 北京:机械工业出版社,2001.

[2] Stanley B Lippman,Josée LaJoie. C++ Primer[M]. 北京:人民邮电出版社,2005.

[3] Bjarne Stroustrup. The C++ Programming Language: Special Edition[M]. 北京:高等教育出版社,2001.

[4] Scott Meyers.Effective C++[M]. Greater Boston Area :Addison-Wesley Professional,2005.

[5] 陈艳华,余健,雷志军. Visual C++.NET课程设计案例精编[M]. 北京:清华大学出版社,2008.

[6] 胡超,闫玉宝. 30天学通Visual C++项目案例开发[M]. 北京:电子工业出版社,2009.

c程序设计篇2

关键词:C++程序设计;面向对象;教学方法

中图分类号:G642文献标识码:A文章编号:1009-3044(2009)33-9278-02

Research on C++ Programming Teaching

LU Wei

(School of Computer Science and Technology, Huaiyin Normal University, Huaian 223300, China)

Abstract: C++ Programming is a required course for computer speciality. With the author's teaching practice, teaching content, teaching method and teaching means of this course are discussed in this paper in order to improve teaching quality and effect.

Key words: C++ programming; object oriented; teaching method

C++程序设计是计算机专业的重要基础课程,对这门课的理解、掌握和拓展,能够为提高学生的编程及软件设计能力打下良好的基础。这门课程实践性强,涉及的部分概念非常抽象,对于初学程序设计的学生而言, 具有较大的难度。以下几点是对C++程序设计教学的探讨:

1 合理安排教学内容

C++是多重范型编程语言,同时支持过程形式、面向对象形式、泛型形式、元编程形式的语言。可以将其看作由C、面向对象C++、模板C++、标准模板库(STL)四种次语言构成。结合课程教学要求,围绕上述内容如何安排教学至关重要。

以介绍如何使用C++进行面向对象程序设计为主线,突出封装性、继承性和多态性等面向对象程序设计的特点,通过概念讲解、源代码分析和编程实践等方式让学生逐步掌握面向对象程序设计的方法。学生具备一定的运用C++进行面向对象程序设计的能力后,再引入模板的概念并适当介绍诸如泛型编程、STL等内容,拓宽学生的视野。采用上述组织方式,既兼顾了面向过程程序设计的基本知识,同时突出了面向对象程序设计的核心地位,并且使学生对使用C++进行软件开发的方式有了较为全面的了解,为其今后深入学习C++相关内容指明方向。

2 强调算法、淡化语法

注重介绍有关算法概念,即突出程序设计而不是语法。在掌握了基本而常用的语法之后,可以根据学习进度和程序设计的需要学习相关语法。学习新的程序设计语言的最佳途径是编写程序,不是知道的语法越多,程序编得越好,而是自己动手编程越多,编程水平才越有可能得到提高。突出算法,进而带动基本语法的学习,可以更加合理地安排学习时间。需要注意的是,这里强调的算法主要是指常用算法,在熟练掌握面向对象程序设计基本概念和方法之前,不宜过多地采用以数据结构课程中复杂算法的C++实现作为例子的方式来介绍面向对象程序设计的有关知识点,那样会增加学生的学习难度,适得其反。

3 明确教学重点

将面向对象C++的关键技术作为重点实施教学,可以达到事半功倍的效果。

封装、继承和派生。提倡完善的类对象封装,不仅封装数据和对数据的操作,而且封装资源(尤其是内存)的动态分配与释放,形成一个完备的子系统。介绍继承和派生的概念,派生类的定义方式,派生类的构成,类的继承方式与派生类成员的访问权限,单继承下的构造函数与析构函数,什么是多重继承,多重继承下的二义性问题,虚基类等内容。

多态性。多态性包括编译时的多态和运行时的多态。编译时的多态是由函数的重载和运算符的重载实现的,运行时的多态则是通过继承关系和虚函数实现的。两类多态性的目的都是要建立通用的程序。

模板。模板的作用在于定制函数和类。只要将数据类型传递给函数模板和类模板,就可生成特定数据类型下的函数和类,实现了数据类型不同、程序逻辑完全相同的代码的重用,减轻了编程的工作量,并可使大量常用的功能代码完整而简洁地纳入到标准库中,极大的提高了C++编程效率。

避免宽泛介绍C++的语法和框架,而是突出实用技术,包括完善的封装、派生、多态和模板,在构造函数中动态分配资源、在析构函数中释放资源和异常处理,这些是面向对象的C++程序设计的精髓。

4 灵活运用教学手段

在教学过程中,对不同的教学内容运用不同的教学手段,力争取得最佳的教学效果。对知识性强的内容采用多媒体,例如以PowerPoint幻灯片展现知识点,以Flas演示程序的动态执行过程,使学生对所学知识的理性认识和感性认识有机的结合起来,有助于学生更好地理解和掌握所学内容。对某些简单的章节可以在课上提出要点,然后安排学生课外自学。对需要掌握的重点和难点,如指针、继承、多态等概念以及一些涉及复杂逻辑推理的算法和例题等,可以用板书的形式进行详细的讲解。通过对教学手段的灵活运用达到合理分配学时,难易兼顾的效果。

5 注意知识点的分类比较、归纳总结

C++程序设计课程中很多内容是具有可比性的,在教学过程中要把握这方面的特点,充分挖掘出内容相关的知识点进行分类对比。例如关于重载的学习,重载包括了函数重载和运算符重载。学生对于运算符重载的学习往往存在畏难情绪,在教学过程中如果能够对这两种重载的异同点进行详细的比较,让学生首先认识到运算符重载仅仅是一种特殊的函数重载形式,进而研究其特殊性,编写出合理地函数代码,学习效果必然会有所改善。

C++程序设计课程中涵盖了许多面向对象的要素,这些要素具有较强的抽象性,在向学生介绍这些知识点的同时,要注意及时归纳总结,指出每种要素适用的场合,避免滥用、错用。例如学习了类的继承后,学生在进行程序设计时,往往会频繁地使用这一机制,甚至于在某些原本应该使用分层机制的场合也使用继承,为了避免这类情况发生,需要在教学过程中对这些容易误用的知识点及时进行强调和总结。

6 强化上机实验环节

C++程序设计是一门实践性很强的课程,上机也是整个教学的重要组成部分,人们学习程序设计语言的最终目的也正是为了编写程序和开发软件,因此必须抓好实验教学环节。

在实验教学大纲的指导下,根据所学知识点选择有代表性的、综合的问题让学生进行编程、调试。以往上机实验过程中,学生常常仅限于将理论教材和实验教材中的例题原样输入计算机,运行并验证结果。这一过程可以在一定程度上加深对所学知识点的理解,但没有丝毫编程创新可言。可以布置与所学知识点相关的上机题,如编写一个C++的类,在其中添加一些成员函数,然后提供给学生完整的类和需添加的成员函数的声明,以及检测它的主函数代码,同时给出需添加的成员函数的思路或提示,仅让学生编写需添加的成员函数,在每次实验结束时,进行验收。这样既降低了难度又突出了重点,便于学生调通程序,同时提高了学生的信心和学习的效率。

注重培养学生调试程序的能力。对于简单问题,直接编写出正确的代码是完全可能的,但是大多数问题的解决方案往往都是比较复杂的,其实现代码需要不断修改完善,此时调试程序的能力是至关重要的。上机辅导过程中,主要指导学生怎样跟踪程序的运行,怎样设置被监视的变量,怎样设置断点,怎样单步执行,怎样使用Debug工具。授人以鱼不如授人以渔,帮学生调通一个程序,不如教会学生怎样去调试。应注重引导学生自己去调试具体代码,通过大量实践逐步提高其调试程序的能力。

7 结束语

C++程序设计课程的教学涉及到诸多方面的因素,这就要求我们在教学中针对具体情况及时加以调整,激发学生的学习兴趣,以达到较好的教学效果。

参考文献:

[1] 吴乃陵, 况迎辉. C++程序设计[M].2版.北京:高等教育出版社,2006.

c程序设计篇3

关键词:C语言;教材建设;项目驱动

C语言程序设计课程是计算机专业本科生的一门很重要的专业基础课,对后续数据结构、操作系统、面向对象程序设计等专业课程的学习,起到至关重要的铺垫作用。课程旨在培养学生熟练掌握C语言语法规则,具备扎实的软件开发基本技能,养成良好的编程风格,为进一步学习后续课程和将来从事应用软件开发工作奠定良好的基础。因此,学好C语言程序设计课程是计算机专业本科生能否顺利完成大学阶段学习的关键一步。教材是教与学的载体,拥有一本集科学性、完整性、趣味性于一体的C语言程序设计教材是学生学好这门课程的先决条件。

一、C语言程序设计教材建设现状

目前,市面上能够买到的C语言程序设计教材大多注重介绍语法规则,绝大部分篇幅都在反复陈述各种正确的或错误的C语句用法,枯燥无味,更像是工程人员手边使用的工具书,而非引领毫无编程基础的大一学生走入编程知识殿堂的读物。这些教材中缺少与现实生活联系紧密的项目实例,为数不多的例题也都是1到100累加、10个整数排序这样无法吸引学生兴趣的题目,因此造成学生在学习过程中把过多的精力放在记忆各种灵活多样的C语言语法规则上,而真正使用C语言解决实际问题的能力没有得到很好的培养。

然而,C语言程序设计课程的培养目标恰恰是要求学生在掌握C语言语法规则的基础上,具备用工程化思想分析实际问题的能力,掌握使用C语言解决实际问题的方法。因此,针对C语言程序设计课程特点、应用型本科院校生源水平以及C语言程序设计课程教材现状,编写注重引导学生兴趣,有利于学生专业素质和创新能力培养的教材势在必行。

二、C语言程序设计教材建设指导思想

结合C语言程序设计课程在课程体系中的地位、作用、任务确定教材基本内容;结合应用型本科院校计算机专业大一新生的实际情况确定教材难易程度;结合经典项目实例在教学中的作用,注重教材建设的整体性和趣味性;注重学生程序设计思路和技能的培养,避免多而杂的语法规则介绍,坚持少而精的教材建设原则;配合实验课教材和网上题库建设,注重培养学生实践动手能力。

三、C语言程序设计教材建设具体措施

1.理论课教材建设

(1)语言通俗易懂,重点突出,适合初学者。鉴于C语言程序设计是计算机专业本科生学习的第一门程序设计类课程,教材在语言组织上特别注意避免过于专业的术语,做到通俗易懂。在讲解过程中步骤详尽,版式新颖,重点突出,避免学生因一味追求细节而忽略C语言的精髓,舍本逐末。

(2)提纲挈领,注重知识点的实际应用。C语言中,每个单独的章节都讲授了一个全新的知识点,比如选择、循环、函数等。刚刚接触一个新知识时,学生经常找不到切入点,不知如何完成这一章的学习,重点难点也把握不住,导致眉毛胡子一把抓,好像都知道一些,却又都不精通,学得快,忘得也快。针对这种状况,教材各章节后部均设有小结,言简意赅地给出如何使用该章节知识点解决实际问题及使用时的注意事项,起到了事半功倍的效果。

(3)启发式设问引导教学,明确章节学习目标。C语言难学的原因有多种,学生面对多种不同的数据类型、语句功能结构、繁多的语法规则等,往往无所适从。从启发式教学的角度出发,在每章的开始部分都以设问形式提出问题,使学生在学习该章内容前先想到一些问题,提出问题,再给出该章节的学习要点,引领学生带着问题学。这样不仅在课程教学过程中简单明了地给出了章节学习目标,有利于教学活动的顺利开展,更为重要的是,激发了学生的学习热情,锻炼了他们主动思考、善于提问、敢于质疑的学习习惯,培养了专业的软件工程师工作风格,为将来实际的程序设计相关工作奠定良好的基础。

(4)采用实例趋动教学的方法,讲解C语言基本概念和实用程序设计技术。为了帮助学生对C语言各章节知识点有更加深刻的理解,提高程序设计的能力,各章节中配备精心选择的经典实例程序,所选的例题覆盖了C语言程序设计中最常用的方法、实用技术。并且,选取一个经典实例“学生成绩管理系统开发”,从第一章抛出问题,至以后各章节都结合该章节所学知识点逐步地分析、解决问题,由浅入深,最后完整地给出问题求解方法,引领学生循序渐进地掌握一个较大软件的实用程序设计技术。教师授课过程中,可以适时引入一些软件工程思想,从需求分析、系统设计、编码、测试等各环节加以讨论,让学生从大学一年级就对自己将来从事的职业有一个具体的认识,为其他后续课程做一个很好的铺垫。

(5)构造学习框架,强化程序设计思维。以往的C语言教学过程中,经常出现学生对于编程题有个大概的想法,但不会具体编写程序的现象。其根源在于C语言教学与实际问题的脱离,教学不注重培养解题思路与解题方法,而过多偏重语法规则介绍。因此,为使学生熟练掌握编程技术,在编程题目的讲解上提出了一个学习框架,各章节中实例的讲解均按照“变量分析——设计思路——程序源码——运行结果——说明”的思路。对于一个实际问题,首先分析解决问题需要设置哪些变量及变量设置技巧;其次分析解决问题的具体思路及步骤,给出程序流程图;然后,给出程序源码及运行结果,重点讲解编码规范;最后,针对程序设计和实现过程中容易出现的错误及需要注意的问题给出必要的解释说明,并配有大量图解来帮助学生更直观地了解内存变化情况,降低了阅读难度。

2.实验课教材建设

结合C语言程序设计理论课教材和学生实际水平,进行了C语言程序设计实验课教材建设。实验课教材的章节设置与理论课相同,每一章按实验目的、实验内容、实验习题的形式组织。实验目的给出该实验环节中学生必须了解、理解和熟练掌握的编程技能分别有哪些,学生可以根据实验目的并结合自身情况,有选择地进行实验题目练习及课后复习。实验内容按照验证性、设计性和综合性层次分别设计题目,每道题目给出题目描述、测试数据、题目分析、参考代码和参考运行结果。其中,题目分析从变量分析和设计思路两个角度讨论,题意明确,分析透彻,让学生能够充分体验程序设计整个过程中的思考方法。实验习题部分进行知识扩充,不给出标准答案,进一步锻炼学生的程序设计能力和创新思维能力。C语言程序设计实验课教材建设紧紧围绕理论课教材的重点难点,注重学生基本技能和实际应用的训练,强调对学生分析解决实际问题能力的培养。

四、结语

课题组教师结合多年实际教学经验,针对应用型本科院校计算机专业大一学生的实际情况,积极开展C语言程序设计课程教材建设工作,得到了学校领导的充分肯定。在大连理工大学出版社的大力支持下,课题组成员编写了《C语言程序设计》教材及配套的《C语言程序设计习题答案与上机指导》,现已公开出版发行。经教学实践检验证明,教材符合应用型本科院校学生认知规律,取得了较好的教学效果。

[参考文献]

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

[2]吴文虎.程序设计基础(第二版)[M].北京:清华大学出版社,2004.

[3]武桂力.C语言程序设计项目化教程[M].青岛:中国海洋大学出版社,2011.

[4]黄璐,于红,王建彬.C程序设计课程教学探讨[J].吉林省教育学院学报,2012(04).

[5]杨晓燕.基于应用的Java面向对象程序设计课程研究与教材建设[J].计算机教育,2012(03).

c程序设计篇4

关键词:C#;程序设计;精品课程

中图分类号:TP312.1-4

教育部于2003年就开始启动“高等学校教学质量和教学改革工程”,2005年明确了精品课程的概念,所谓的精品课程是指具有特色和一流教学水平的优秀课程,2007年4月,教育部高教司刘桔副司长指出,希望各高校对“质量工程”中的精品课程建设工作进行认真研究和交流,加强对精品课程优质资源的推广应用,实现资源高度共享。

在确保教学质量的前提下,为实现精品课程优质资源的共享,制作一个优秀的精品课程网站也是精品课程建设的重要组成部分。以《C#程序设计》为研究对象,充分发挥课程网站在教学中的主导作用,通过对网站的建设标准、内容需求分析、课程网站等进行设计,使《C#程序设计》精品课程网站达到课程教学资源的高度共享。

1 建设标准

精品课程网站能够实现优秀教学资源的共享,除了共享教师先进的教学理念、教学方法和手段外,学生学习资源的共享是精品课程建设的主要目的,即学生能够不受时间、空间和地域的限制,通过网站实现在线查阅课程的最新内容、下载课程的教学课件、播放课程的教学视频等需求,并能进行在线答疑。所以精品课程网站建设应该体现以学生为中心的建设标准,在整个网站的建设中,充分考虑到学习网上资源的主体是学生。

精品课程网站应能实现吸引学生,使学生从课堂中被动接受知识转变为课后的主动学习者,通过网站自主学习必须、必要的知识外,培养学生积极探索的兴趣。本网站中的教学课件、教学案例、上机实验有助于学生掌握C#正确的编程方法和理论知识,丰富的学生作品能在学生中形成比拼的学习氛围,激励学生主动参与,由“要我学”转变为“我要学”。

2 内容需求分析

《C#程序设计》精品课程网站结合现代信息技术与网络通信技术,运用网络进行教学与管理,实现优质教学资源的共享。根据本网站主要使用者划分成学生、教师两大模块。其中学生模块主要是功能是查看网站中的内容,包括课程设置、课程设计、教学内容、内容的选取及组织、教学条件、教学资源(课程标准、教学课件、教学案例、教学视频、上机实验、作业习题、学生作品等),另外设置一在线互动,学生除了能够运用在线自测模块进行自我学习情况的检查外,在学习的过程中遇到不懂的问题,可以在问题讨论模块中和教师进行交流,教师回复后学生也能及时看到回复;教师模块主要涉及收集与整理各类教学资源,包括本课程的电子教案、视频、课外资源,使各类数据资源不断更新,以及及时浏览问题、回复学生等。

3 精品课程网站系统设计

精品课程网站的设计应该具有良好的实用性、易维护性和安全性。为达到此要求,系统设计如下功能:(1)查看课程概况、课程设置、教学内容、教学方法和手段、师资队伍、教学条件、特色创新等;(2)下载课程标准、教学课件、教学案例、教学视频、上机实验、作业习题、学生优秀作品等;(3)管理员通过后台对教学课件、教学案例、授课视频、在线自测等学习资料及课程标准、常见问题等进行动态更新。

3.1 精品课程网站系统的组成

根据用户的需求,将本精品课程网站系统分成两大模块:前台浏览模块、后台管理模块。

前后台系统结构图如下图1所示:

图1 前台系统结构图

3.2 页面设计

3.2.1 首页设计

首页作为整个网站的门户其作用显而易见,首页的版面布局既要独立于其它页面,又要有连接各个子页面的链接,更要体现整个网站的统一与和谐,页面上要有文字、图片,并适当添加动画,做到动静结合,给人以赏心悦目的感觉。

3.2.2 其它页面设计

其它页面的设计必须在整体上与首页风格一致,布局一般分为顶部、左边的树形嵌套结构的链接、右边的主要内容及底部4部分。其中顶部及底部都可以与首页相同;左边的树形嵌套结构要做到模块划分清晰,链接结构的内容和顶部横向的一级导航栏有所区别,避免相同内容的堆砌,条理杂乱;右边的主要内容则是该页面的重点,显示内容时同样注意要图片、文字的混排及统一。

3.2.3 色彩设计

对于教育类网站的设计,应既能体现知识性及科学性,又能体现趣味性。和传统的课堂授课相比,网站的优点在于可以通过添加色彩来吸引学生的注意力,提高学习兴趣。C#精品课程网站的主色调采用了宝石蓝,给人以宁静、平和、淡雅的感觉,网页中的文字、图片、动画的色调设置也符合网站的主体风格。

图2 C#程序设计精品课程首页

4 结束语

C#程序设计精品课程网站建设是个长期的过程,从准备建设到完成,除了积极准备网站上的呈现内容外,还就网站的框架、主体风格进行合理设计,一些关键性技术通过查阅学习资料、寻求其他人员帮助最终能够实现。

运用C#程序设计精品课程网站,学生一方面能通过开放性资源进行学习,另一方面能及时地将这门课程的不足之处等信息反馈到学校相关部门,老师则能通过交流,不断地改进教学方法及手段,正确地回答学生提出的一些问题,让学生更能全面地理解知识,从而使学生提高学习此门课程的积极性,达到建设精品课程网站的目的。

参考文献:

[1]杨祥,刘海波,刘璞.C程序设计精品课程网站开发设计[J].通化师范学院学报,2010.

[2]顾保磊,吴云.高校精品课程网站建设研究[J].软件导刊,2014.

[3]张月琴,李强.智能精品课程网站的设计[J].电脑开发与应用,2007.

作者简介:蒋红梅(1982.02-),女,江苏扬中人,教师,讲师,学士学位,研究方向:计算机科学与技术。

c程序设计篇5

钟 实

(江西科技学院)

[摘 要]C语言程序设计课程是计算机专业教育的重要组成部分。将探究教学引入C语言程序设计教学中,不仅可以提高学生学习的兴趣,调动教师教学的

热情,也丰富了探究教学的理论与实践。具体分析并探讨了C语言程序设计探究教学的实施目标、实施条件、教学情境的创设、探究形式、教学评价等问题。

[关键词]C语言程序设计 探究教学 实施目标

一、 C语言程序设计探究教学实施的目标:情感目标、能力目标和认知目

1、体验C语言程序设计的编程思想,激发和保持对C语言程序设计课程的

求知欲,形成积极主动地学习和参与C语言程序设计课程探究活动的态度。

2、能辩证地认识C语言程序设计对社会发展、科技进步和日常生活学习的

影响。

3、获得亲自参与研究探索的积极体验、培养严谨的科学态度。

4、能从日常生活、学习中发现或归纳可以利用C语言程序设计解决的问题,

通过问题分析确定程序功能。

5、能根据任务的要求,确定所需信息的类型和来源,并鉴别信息的真实性、

准确性和相关性。

6、掌握计算机程序的基本概念,理解并掌握C语言程序设计语言的基本知

识,包括语句、数据类型、变量、常量、表达式、函数等,熟悉语言的语法规则,熟

悉计算机程序执行的基本过程。

7、了解C语言程序设计语言,掌握编写程序、编译程序、连接程序以及程序

开发环境等基本知识,掌握调试、运行程序的基本方法与技巧。

二、C语言程序设计探究教学实施的条件

1、掌握一定的计算机操作基础

C语言程序设计课程由于其学科自身的特点,需要在计算机上调试程序,

所以要求学生具有一定的计算机操作知识,如:开关机、键盘和鼠标的使用、文

件的建立与查找、常用软件的使用等。

2、良好的C语言程序设计认知结构

认知结构就是学生头脑里的知识结构,是学习者观念的全部内容和组织。

奥苏伯尔的认知结构理论是针对新学习内容的影响(即迁移)提出的,良好的认

知结构有利于知识的提取和正向迁移。C语言程序设计探究教学强调在已有知

识经验上的主动建构,面对新的问题和任务,需要学生及时从头脑中提取信息,

建立新旧知识间的联系,在已有C语言程序设计知识的基础上思考解决新问题

的办法,并试图将新知识纳入自己的认知结构中。

3 、良好的探究环境

良好的探究环境是学生顺利进行探究的保证,至少包含两方面的内容:(1)

要有充足的探究时间和灵活的探究条件。探究时间应该根据学习任务进行合理

安排,应该考虑到学生假设错误时所耽误的时间以及讨论交流所需要的时间。

探究教学中可能需要查阅大量的资料,教师还应该准备书籍、网络等辅助资源。

(2)学生在探究学习的时候不能有太多压力,不同的学生由于其自身的因素不可

能以相同的速度学习,所以教师在进行评价的时候也应该因人而异,应该为每

个学生提供充分的思考机会和时间,让每个学生都能以自己的进度进行探索,

并在此过程中感受到乐趣。

三、C语言程序设计探究教学情境的创设

心理学研究表明,恰当、适宜的环境能有效激发人的热烈情绪,提高活动的

质量和效果。教学情境是指教师人为创造的“典型场景”,创设目的在于引出教

学任务,将学生的注意力吸引到学习任务中来。教师把将要学习的C语言程序

设计知识通过一定的情境呈现给学生,使得学生认知结构与周围环境不平衡,

引起他们对学习目标的注意和兴趣,并通过探究活动把学生过去的活动和将来

的活动联系在心理学研究表明,恰当、适宜的环境能有效激发人的热烈情绪,提

高活动的质量和效果。教学情境是指教师人为创造的“典型场景”,创设目的在

于引出教学任务,将学生的注意力吸引到学习任务中来。教师把将要学习的C

语言程序设计知识通过一定的情境呈现给学生,使得学生认知结构与周围环境

不平衡,引起他们对学习目标的注意和兴趣,并通过探究活动把学生过去的活

动和将来的活动联系在一体。探究教学情境的创设应做到:(1)创设的情境是为

C语言程序设计教学服务的,要以C语言程序设计探究教学目标为依据。(2)探究

情境要接近学生的真实生活经验,能够吸引学生的注意力,激发他们的认知冲

突和求知欲。(3)学生在情境中能够感觉到问题的存在,自然地将新旧知识联系

起来。(4)情境中必须包含学生未知的新内容,而且是能够通过探究掌握的。

四、C语言程序设计课程中的探究形式

C语言程序设计课程中开展探究教学主要有4种形式:探究性提问、探究性

讨论、探究性演示和探究性实验。这4种形式是相辅相承的,而不是孤立存在的,

在C语言程序设计探究教学中,需要用到多种形式来构成一个完整的探究教学

过程。C语言程序设计探究教学通常都是由探究性提问开始,然后进行探究性

讨论、探究性演示或探究性实验;也可能从探究性演示或探究性实验开始,在演

示或实验的过程中发现问题,再进行探究性讨论。在实际教学过程中,要根据学

习内容和课堂情况灵活地选用这些形式。

五、C语言程序设计探究教学评价

教学评价指依据一定的标准,通过各种策略和相关资料的收集,对教学活

动及其效果进行客观衡量和科学判定的系统过程。C语言程序设计探究教学评

价是对C语言程序设计探究教学过程及其影响的测量、分析和评定,评价中我

们更关注学生学习和成长的过程,寻找适合学生发展的学习方式,满足学生知

识和能力发展的需要。评价对探究教学的积极作用是很明显的,但是如果评价

指标制定不合理,或者评价方法的选用、评价结果的表述不当,不仅不能达到预

期效果,还会对学生的C语言程序设计学习产生消极影响。

参考文献

[1] 《基础教育课程改革纲要(试行)》教育部文件,教基[2001]17号.

[2] 保罗 朗格朗.终身教育引论瞰[M].北京:中国对外翻译出版公司,1985,

p15~31.

[3] 联合国教科文组织.学会生存——教育世界的今天和明天[M].上海:

上海译文出.

版社,1979,p2.

[4] 张大均。教育心理学[M].北京:人民教育出版社,2005,p68--71.

[5] 靳玉乐.探究教学论[M].重庆:西南师范大学出版社,200l.

作者简介

钟实(1986-02)男、民族(汉),籍贯(江西省南昌市),2010毕业于浙江大学

信息与计算机科学专业理学学位,现供职江西科技学院教师,研究方向计算机

c程序设计篇6

【关键词】 C程序设计教学改革教学实践

【基金项目】河西学院教学研究项目(HXXYJY-2012-020)资助。

【中图分类号】TP311.52 【文献标识码】A 【文章编号】2095-3089(2014)05-0244-02

《C程序设计》课程是目前各高校计算机专业普遍开设的第一门专业基础课程,它具有功能强大、效率高、简洁灵活和可移植性强的特点,使其在软件开发领域颇受开发人员的青睐[1]。从目前的教学情况来看,学生在学习C程序设计时往往存在着一定的问题,实际掌握的情况并不太理想。笔者在多年的 C程序设计教学的基础上,总结经验,逐渐探索出一些行之有效的教学改革措施,并进行了相关的实践,取得了显著的成效。

一、C程序设计教学存在的突出问题

第一,难入门,C程序设计前几章介绍的是运算符和表达式,如果按课本顺序来讲,这些内容足使学生产生枯燥感,从而慢慢失去对本课程的学习兴趣;第二,生源的计算机基础参差不齐,导致部分学生学习进度缓慢,每次的实践任务在规定的上机课内难以完成,越积累多,最终可能放弃;第三,教学案例的选择和教学方法的选取不当,难以提起学生的学习兴趣;第四,课时不断压缩,教学任务难以完成,教学压力越来越大,不得不减少教学内容,有些学校甚至把可以称作C语言精华部分的指针都已经取消;第五,考核方式不合理,造成应试教育效果,难以达到能力培养的效果。

二、C程序设计课程改革与实践

(一)上好第一节课

上好C程序设计的第一堂课很重要:首先讲明C程序设计的重要性;其次结合一些生动的C程序实例,展示C语言强大的功能,使学生对C语言的学习产生兴趣并狠下决心;再次 提出该课程的学习要求与学习方法,给出平时作业、上机试验、考试方式等具体要求[2]。

(二)教学模式改革

C程序设计教学模式改革以程序设计为主线,编程案例为驱动,培养高素质应用型专门人才为目标,注重分析问题、解决问题的能力的培养。该课程要求学生掌握结构化程序设计方的法和步骤,具有阅读和编写一定应用程序的能力,具有上机调试、正确运行程序的能力[3]。因此必须以学生为主体、教师为导向,利用现代化教学手段,改革《C程序设计》课程教学模式; 同时以应用型能力培养为导向,制定合理的教学大纲和教学计划,形成一套科学的课程教学体系。

(三)理论教学方法改革

课堂上采用案例教学和任务驱动教学等教学方法的有机结合,理论联系实际,有针对性地提出恰当的生活实例,让学生在一个个有趣的典型实例的驱动下,进行教学活动,引导学生逐步完成一系列任务,从而掌握了清晰的思路、解决方法和知识的脉络,并且在完成任务的过程中,培养了分析问题、解决问题以及程序设计的能力,同时拓展学生知识面。

(四)实践环节改革

1.C程序设计是一门实践性很强的课程,需要大量的上机实践。由于学校每周安排的上机时间仅仅为2小时左右,所以需要学生在上机前按照上机试验的要求,确定解决问题的思路并编写程序。这样既锻炼了学生独立调试程序的能力,又增强了学生编程解决较难问题的信心。

2.教师也要认真对待每节上机课,要细心组织安排每一次试验内容,让学生在试验前都有明确的上机目的和必要的编程准备。在实践过程中,作为教师对于上机试验内容应尽量精心设计,与所学的课堂知识结合起来,便于学生对知识的理解和消化,注重内容的实用性。 同时还要在实际操作中采用各种办法克服困难达到实验教学的效果。

3.试验结束时,学生按统一要求,提交实践程序到FTP,个别试验按老师要求写试验报告,教师把学生提交电子文件作为试验报告评分的参考依据。

(五)提高教师的效能感

教师效能是一种教师对自己的教学能力和专业知识能影响和帮助学生的信念。这种信念表明了教师对本身教学能力的自信程度。教师效能感通过对教师心理的作用影响教师的教学及其它行为,并以教师对待学生的外部行为为教师传递教育效能感的必由方式,并最终体现在对学生学业成就和人格等因素的影响上。教师效能感也会影响学生学习的积极性,影响学生的学习兴趣、学习态度和情绪情感活动。本团队强调教师必须具有效能感,方能更好的提高教学质量。

(六)教材修订

当前大部分C程序设计教材是传统的编排模式,即先介绍入门知识,然后是基础语法知识、数据类型、程序结构、指针、结构体、文件的读写。这种方法以知识点为主线,容易陷于语法细节,使学生容易判别错C程序设计课程的重点。本教学团队在以趣味性案例为目标的前提下重新编写了C程序设计教材,该教材以程序设计为主线,在阐述基本理论的基础上,组织了大量有趣的生活实例,每个实例包含了即将教学的理论知识。这样通过大量经典实例讲解和实训,使学生带着兴趣积极努力,不断培养和提高了学生的编程能力和创新精神。

(七)网络教学平台的构建

本团队努力构建了C 程序设计教学网站,该网站充分利用网络的开放性、共享性和协作性等特点和优势,对C程序设计教学内容重新进行规划和组织,为学生创造了一个集知识和趣味于一体的、包括个性化学习环境和协作式学习环境的开放性网络教学平台。将该课程的大纲、电子教案、教学进度计划、课件、经典程序源代码以及课外学习资料等教学资源上传到网站,为学生营造了一个自主学习的网络环境,将教学延伸到课堂外。这样学生既可以利用教学资源自主学习,还可以使用Email、QQ或 论坛等方式与教师进行交流,完全避免了时空限制,以达到更好的教学效果。

(八)改革单一的考核方式

本学院对C程序设计考核不再采用仅仅笔试的形式,而是笔试和机试相结合。与传统的笔试相比,上机考试可以考核学生实际上机调试程序的能力,考核分析问题,编程解决问题的综合能力,督促学生真正掌握程序设计课程的精髓。

三、近六年的期末平均成绩分析

笔者将本院计算机专业近六年的C程序设计课程的期末考试成绩进行了整理(每年选本届第一个班整理成绩),C程序设计课程期末考试中各项考核的平均成绩,按时间顺序分析发现尽管每年参加C程序设计考试的学生不同,但总体成绩大体呈现稳步上升,尤其是上机考试成绩在逐步提高,甚至出现超出笔试成绩的情况,这说明本团队对C程序设计课程的教学改革与实践取得初步成效,应用能力培养的结果逐渐凸显,诸多情况完全符合我校应用性本科建设的要求;笔试成绩尽管有所提高,但不太显著,说明学生的理论知识点掌握基本稳定。

本团队实施以上改革措施后,学生不仅对C程序设计课程有了极大的学习兴趣,而且程序设计思想和编程能力有了明显的提高。总之,教师应精心选择并钻研教材,把教材和学生实际相结合,再运用灵活多样的教学方法和恰当的教学手段,使教学过程最优化。C程序设计教学改革应该重视理论与实践相结合,在今后的教学过程中将不断地去完善。

参考文献:

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

[2] 杨平. C语言教学改革探讨与实践[J] .电脑学习,2011(4). [3] 冯运仿. 《C语言程序设计》课程教学模式的研究与实践[J] .福建电脑,2012(1) .

作者简介:

祁昌平,男,(1976-),硕士,副教授,2013年国家青年骨干访问学者,主要研究方向为模式识别、人工智能、数据库技术等。

吴建军,男,(1971-),硕士,副教授,主要研究方向为网络技术、数据库技术等。

c程序设计篇7

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

1.引言

就C语言程序设计课程而言,它是一门具备较高的教学要求的课程,教学工作者在开展教学活动的过程中,不能只停留在传授学生与C语言程序设计相关的语法知识,还需要注重对学生程序设计方法的教学。长期以来,教学工作者利用传统的教学模式,学生对C语言程序设计课程存在较强的抵触心理,尤其是刚离开初中步入中专的学生。学生出现抵触心理的原因可能是多方面的,主要原因是学科难度大、教学工作者要求严和课程内容多等。考虑到上述情况,改革C语言程序设计课程教学模式迫在眉睫,下面介绍具体情况。

2.目前C语言程序设计课程教学中存在的问题

C语言程序设计作为高校理工科非计算机专业本科学生的一门较重要的计算机基础课程,在整个教学中扮演着较重要的角色。通常情况下,C语言程序设计所涉及的课程内容是较为抽象的,还涉及大量的概念及语法,尤其强调技巧的适用性。一直以来,教学工作者倾向于探索和实践有关C语言程序设计课程教学的改革,却不断出现各种问题。

例如,教学工作者在开展教学活动的过程中仍旧采用以往的教学模式,而不是把实验环节和课堂教学环节进行较科学合理的搭配,导致理论与实际教学相分离,不能有效培养学生的实践能力和创新能力。此外,还会造成学生不能对问题进行合理有效的分析、编程和调试,制约学生整体能力的提高,严重影响课堂教学效率。考虑到这种情况,教学工作者进行了相关的改革和调整。通过这些改革和调整,在很大程度上调动了学生学习的积极性,使其积极踊跃地投入到了课堂教学活动中,有效地培养了动手能力和解决实际问题的能力,提升了教学效率。

3.C语言程序设计课程教学改革的措施

3.1改变传统教学模式,将学生作为教学主体。

把学生当做教学主体的教学模式在很大程度上能够使教学工作者挣脱传统的教学模式,由传统的教学状态变为导学状态。在这样的情况下,教学工作者可以通过各种教学设备和学习资源,向学生讲解重点、难点和疑点,还可以为学生讲评作业,进行辅导。传授给学生相关的学习方法等,进而在充分发挥学生主体作用的同时,有效调动学生学习的积极性,最终增强学生的自学能力。在课堂教学活动开始前,教学工作者应该充分认识和掌握学生的基本情况,按照学生的具体表现认识和掌握学生目前的学习状态,合理安排后续的教学和辅导内容。对于学习成绩处在中上等的学生,教学工作者要为其安排合适的教学内容,适当增加学习难度和深度,进而有效培养学生通过程序设计处理实际问题的能力。

3.2倾注更多精力于C语言程序设计课程教学。

在开展课堂教学活动的过程中,教学工作者要注重调动学生的学习积极性。学生的学习状态在很大程度上决定学习效率。教学工作者应该倾注更多精力于C语言程序设计课堂教学,引导学生更有效地学习这门课程。绝大部分学生在意的问题应该是学习这门课程对找工作或者继续深造有没有帮助。教学工作者需要从多角度考虑这个问题。在开展教学活动的过程中,可以适当引入时下较为热门的话题或者应用技术等辅助教学,进而有效提升教学效率。

3.3培养学生系统化的程序设计思维。

一直以来,在程序设计课程中都有注重语句、语法及细节等特点,并且大体上都是将程序设计语言自身的体系作为脉络。这在很大程度上导致学生在进行C语言程序设计课程学习的过程中缺乏兴趣,难以积极主动地投入到学习中去,严重影响教学效率。尽管学生学习了一些有关C语言程序设计课程的知识,但是编程能力很难增强,有些学生遇到实际复杂问题,束手无策。考虑到上述情况,教学工作者需要注重培养学生系统程序设计思维,提高编程能力。培养学生系统化的程序设计思维也就是提高学生身体力行解决实际问题的能力。通过这种手段,学生可以尽情探索未知问题,并进行分析和研究与创新。

3.4注重教学方法的改进。

为了达到C语言程序设计课程的教学目标,教学工作者在开展课堂教学活动的过程中需要适当改进教学方法和手段,有效培养学生的编程能力及创新能力。措施主要有:第一,做到课外和课内教学完美结合,有效培养学生的综合能力。第二,注重加大实践教学的份额,培养学生的创新意识和应用能力。第三,充分运用各种资源,适当开展网站互动学习。第四,通过多元评价方式考核实验成绩。

4.结语

教学工作者在开展教学活动的过程中,要注重借助对诸多教学方法和手段的研究和摸索转变教学理念。此外,还需要注重突出学生的主体地位,充分调动学生学习的积极性,有效培养学生解决实际问题的能力和创新能力,进而行之有效地推进C语言程序设计课程教学改革。

参考文献:

[1]迟永芳.《C语言程序设计》教学改革探索与践行[J].黑龙江科技信息,2013(13):297.

[2]彭纳新,陈俞强.基于任务驱动的高职院校C语言程序设计课程教学改革与实践[J].中国教育技术装备,2013(18):74-76.

c程序设计篇8

关键词: 《C程序设计语言》 误区 感悟

《C程序设计语言》课程是电子信息工程专业开设的第一门程序设计类课程。该课程在本专业的课程体系中处于承上启下的地位,对于学习后续高级编程语言具有很好的导引作用。笔者经过一个学期的系统学习后感觉受益匪浅,不仅学到了基础的编程语言知识,更重要是的掌握了逻辑性较强的编程思想。为了让更多学生很好地学习这门课程,笔者借此文总结出《C程序设计语言》课程学习时常见的误区,并给出解决上述误区的方法和途径,供广大同仁借鉴。

一、学习《C程序设计语言》课程时常见的误区

1.只注重写程序,而忽视读程序。

很多学生在刚学习这门课程时就希望自己能够独立编写出一些程序,但实际情况大相径庭,此时挫败感油然而生,甚至一些学生因为这种挫败感产生对这门课程的厌学情绪。其实就笔者的学习经历而言认为刚开始学习时,不要急于自己编程,因为此时你还没掌握好基础知识,不可能独立完成程序的编写,认真研读别人的优秀程序才是学习该课程入门最快,也是最好的方法,在读别人程序的过程中慢慢领悟别人的编程方法和思想。

2.没能将理论学习和上机实践进行有效衔接。

《C程序设计语言》课程的教学分为理论讲授和上机实践两个环节,因为学校主客观原因的限制二者之间存在一定的时间间隔,但二者在内容上又是相互连贯的。时间上的不连贯和内容上的连贯性会使得一些学习不主动的学生不能将理论课上老师所讲的知识和技能在上机实践中得到有效的验证和消化。因此,一些学生在上机实验时面对老师布置的作业会觉得无从下手,学习兴趣就会大大降低。而C课程的知识是承前启后的,前一部分知识没有掌握好,后面章节内容的学习也会大受影响,这样就进入了一个恶性循环。最大的问题是这部分学生不仅自身学不好内容,而且会影响其他学生,这样班级的整体学习效果就会大打折扣。

3.缺乏一定的逻辑思维能力。

很多学生错误地认为C程序设计语言就是变量、控制结构、函数、过程、数组的简单结合,认为只要掌握这些就可以编写出良好的程序了。其实不然,真正优良的程序是需要靠自己的逻辑思维对变量、控制结构、函数、过程、数组这些要素进行创造性的整合。所以C程序设计语言是一门锻炼学生逻辑思维能力的课程。当你具有抽象逻辑思维能力和弄清楚了变量、控制结构、函数、过程、数组相关知识后,编写C程序就是易事。

二、走出上述误区的方法

1.端正学习态度,充分认识到本门课程的重要性,并保持良好的学习心态和学习习惯。

《C程序设计语言》是很多高校学生接触的第一门编程语言,该课程对于培养学生较强的逻辑思维能力具有非常重要的导引作用,而逻辑思维对于处于信息社会的大学生而言是必不可少的,但是逻辑思维能力的培养又不是一朝一夕的,需要持之以恒地努力。对于学生而言,只有从内心认识到这一点才可以使自身在遇到学习困难时迎难而上。对于一些偏文专业的学生而言,在学习初期肯定会觉得一些概念晦涩难懂,与自己的思维方式存在差异,此时千万不能有畏难情绪,一定要相信自己,在自身努力、同学帮助和教师引导的三方努力下共同渡过难关,而自身的认真努力是首要的。课前一定要认真预习,对自己通过预习不能理解和解决的知识点和概念进行标记,上课时当老师讲授到这部分内容时要认真听讲,如果通过教师的讲解依然不能理解,千万不能就此搁置,一定要及时向老师和同学请教。C程序设计的入门学习并不难,却是一个十分重要的过程,因为程序设计思想就是在这时形成的,良好的程序设计习惯也在这个阶段养成的。

2.学习时要注重理解一些重要的概念,勤于动手编写程序,并借鉴别人编写的好程序。

C程序设计课程就其本质而言并不是很复杂,其核心无非就是变量、函数、过程、数组、控制结构(顺序结构、选择结构、循环结构)、文件和数据库等概念和相关操作。但这些概念虽然一些同学在数学课程中听说过,感觉似曾相识,但此概念非彼概念,二者还是有所不同,要真正理解这些概念就必须多动手、多思考。程序设计是高强度的脑力劳动,不是听会的,也不是看会的,而是练会的。因此在学习过程中要勤于自己独立编写一些小程序,在编写过程中肯定会犯一些错误,在错误的解决过程中可以提升自己的编程能力,在能力提升的同时增强自身对该课程的学习兴趣。对于初学者而言,一方面要自己独立编程,但由于自身编程知识储备不充分,也要借鉴别人优秀的解题思路与方法,探究别人的思维过程,增强自己的思维能力,然后结合自身实际尝试实现或者说模仿着实现。

3.在学习过程中要避免孤军奋战、单打独斗,注重团队协作和互助。

笔者所在学校C程序设计课程的教学遵循先理论讲授后上机实验的步骤。一个教学班的学生人数在30至40人,实验课和理论课都只有一个教师。理论课和实验课之间的时间差会使一部分基础较薄弱的学生在实验课上会碰到各式各样的问题,而基础较好的学生在实验课上会很自如地完成老师布置的实验任务,因为只有一个老师进行辅导,如果那些基础不是很好的学生在学习过程中遇到问题后请教老师,老师此时可能正在辅导另外一个学生,在这种情况下就可以选择向身边基础较好的同学请教,这样既可节省时间又可加深同学之间的交流协作。经过半个学习基础知识的学习,老师会布置一些综合编程题让学生融会贯通并有效应用以前所学知识,笔者认为此时同学之间可以以团队形式进行答题,这样可以达到取长补短的效果。

参考文献:

[1]马丽洁.高职计算机和软件专业语言类课程改革探析――以C程序设计语言为例[J].电子商务,2015(07).

[2]曲珍,扎西加.浅析非计算机专业“C程序设计语言”课程的教学方法[J].科技,2009(12).

上一篇:屏幕保护程序范文 下一篇:听证程序范文