首页范文c语言课程设计小结十篇c语言课程设计小结十篇

c语言课程设计小结十篇

发布时间:2024-04-25 06:09:40

c语言课程设计小结篇1

关键词:C程序设计;C语言;课程;教学

1概述

C语言是当今计算机应用中最重要且被广泛使用的一门程序设计语言,它兼具高级和低级语言的优点,特别适合于编写计算机系统软件。高校的很多计算机专业课程,如数据结构、操作系统、算法设计等,多选用C语言作为教学语言。学生学好C语言,不仅是一门课和一种技能的问题,而且涉及到能否学好整个专业课。因此,C语言程序设计的教学越来越被提高到重要的位置,各校纷纷进行C语言教学方法的改革和试点工作[1-3],并取得了一定的经验和成绩。

笔者所在高校也进行了有益的探索[4]。在部级教学团队“计算机基础系列课程教学团队”共同确立的教改思想和指导原则下,各授课教师根据自己的教学经验,进行了多种教学方法的尝试,取得了良好的成果。其核心思想是,不断加大C语言的实践课时,注重学生编程技巧和编程能力的提高。尽管如此,部分学生仍然不能很好地掌握C程序设计技术。在C语言考试中,学生更易于完成填空、选择、判断正误等检验“基础知识”的题型,程序设计或上机编程题则完成质量较差。直到学习数据结构等课程时,部分学生仍然难以用C语言编写算法,这直接影响到了数据结构等课程的教学效果,对后续课程造成了影响,甚至严重影响了毕业论文的进度和质量。

C语言是一门程序设计语言,它是程序员和计算机相互交流的语言。作为语言学习,它也遵守人学习语言的最一般规律:在实践中学习语言,重视单词的学习和积累,重视语言的交流能力。

2像婴幼儿学习说话一样,学习计算机语言

婴幼儿学习语言的方法对C语言程序设计课程的教学组织具有很大的启示作用。

2.1跟着大人,重复学习说话

婴儿学习说话,是从“mama、baba”开始,爸爸妈妈积极应答,并鼓励孩子继续“说话”。期间没有人在意,孩子是有意识或者是无意识的,孩子的发音是否准确,只要有声音,就给予足够的鼓励。之后,婴儿继续学习其他称呼和各种词汇,会说“开门、妈妈抱”等短句,直到“我要出去”等简单的句子。这一语言学习的过程特征很明显:跟着大人,重复说话,不在乎语法是否正确,能简单表达意思,大人能听懂即可。

C语言学习也一样。教师把自己看作大人,学生就是婴儿。从语言教学上看,不首先去强调语法等规则,而是教授“例子”。教师可以在课堂上重点讲授一个又一个例子,在课堂上编译、连接并调试运行程序,让学生课后去重复这些程序。这种方法可以让学生在最短的时间内,真正“接触”到C语言,通过老师的程序实例和计算机实现对话。教师通过作业,鼓励和引导学生修改这些简单的程序,并鼓励学生独立完成一些新的程序。这种方法使学生在刚开始上课时就接触计算机,重视学生快速和计算机建立联系,让学生在编辑、排错、调试和运行程序的实践过程中,和计算机对话,达到从实践中学习的目的。

“在例子中,学习和计算机的对话,让计算机训练自己。”

2.2不断学习单词,丰富语言的内涵

会说话的婴儿有了新的渴求,他需要通过不断学习,拓展自己的知识和生存空间,大人们也非常配合他,不断教他新的“知识”,这些新知识,首先就是“单词”。婴儿会指着电视机“啊啊”地叫,大人们教给他说“电视”,于是婴儿学会了“电视”这个单词。他可能说“宝宝要电视”,虽然不符合语法,但他已经勇敢地清楚地表达了自己的需求。宝宝在大人的纠正过程中不断学习,掌握的词汇越来越多,他也越来越具有和人交流的能力。这种能力是通过不断学到“新词”开始的,是不断被大人们纠正提高的。

C语言学习也一样。教会学生编写基本的C程序后,接下来的工作,不是要写复杂的“让计算机唱歌跳舞”的程序,而是让学生不断掌握新词汇,扩大和计算机的交流范围。在C中,这些新词汇就是C的库函数。C语言提供了丰富的库函数,程序员不可能脱离开这些库函数妄谈编程。以往的C教学中,可能会忽视这些库函数的介绍,只有在课本的附录里,才能找到他们的索引。教师课堂上的主要时间,花费在介绍C的各种语法上。考试中,这些语法就是“基础”知识,这又会把学生的学习重点,引导在学习和背这些语法上,无形中又忽视了实际编程能力的培养和锻炼。这是造成学生不会“写程序”重要原因。

婴儿不认识新事物,就无法开口说话。学生如没有很好地掌握库函数,就难以写程序。比如,若没有printf()函数,学生就不可能知道如何把信息显示在屏幕上。因此,学习写C程序,首先需要学好C的库函数。教师在课堂上的重点,就在于在例子中,尽可能多地使用库函数。让学生“见过”并“知道”有这样的库函数可以用,再通过编程作业,促使学生掌握库函数。库函数就是C语言中的“单词”,有了这些单词,才能开始编程,和计算机“对话”。

“不仅要会和计算机说话,而且可以天南海北地聊。”

2.3多说多练

学会说话的婴幼儿对这个世界充满了好奇,他已经长大了。他不仅和他的爸爸妈妈说话,他还要和其他人说。他要去上幼儿园,可以和老师说话,可以和幼儿园的其他小朋友说话,他的语言能力不断进步,他会唱歌,会背唐诗、三字经、弟子规,他已经像个大人了。

学生学习C语言也一样。最开始模仿老师的程序,编写程序,按照老师布置的作业练习编程,最后可以根据自己的兴趣,编写一些应用程序。学生解决问题的能力越来越强,可以排除程序中的错误,掌握调试程序的方法,逐渐能够书写小规模的程序了。

这些能力的提高和培养不是教师在课堂上能够完成的,需要学生在实践中提高。此时教师可以使用特殊资源了,即上机课时。高校中C语言的课时一般由3部分构成:课堂学时、课后机时和专门的上机课时。利用上机课时,教师可以布置小规模的系统编程作业,让学生去完成。通过这种作业,让学生系统掌握C的编程知识,提高程序设计能力和水平。

“多写多练,可以和计算机讨论问题。”

2.4上学后,我们再学语法

婴幼儿长成了小学生,他要开始上学了。在学校,他开始学习课文,通过课文认字、认词、认成语,写字、写词、写句子,他开始锻炼写作文。不知不觉中,他读了很多书,从童话开始,到小说、散文、诗歌,最后是名著。他开始系统学习语法,主谓宾定状补,不胜枚举。

C语言的学习也没有止步。实际上,C语言程序设计课程只能完成上述2.1~2.3部分的内容,这些部分教会了学生写程序,而不是教会了学生C语言的语法。C语言的语法,可以融于课堂的例子中,通过程序设计和调试,直观地介绍C的语法,通过程序练习和调试,由计算机来告诉学生,怎样符合规则,怎样不符合。对于一般的语法,要求学生自学。C程序中的众多语法,比如C语言从main()函数开始执行、变量定义位置、注释写法、函数命名、参数以及函数返回、变量作用域、运算符的优先级等,多是规则,并不难理解,需要学生记住并掌握,而单调的看书和记忆,效果远不如在程序排错和调试过程中学习。

通过程序实践和例子学习语法,而不是只是在课堂上讲授语法。这样,当学生有了一定的编程能力后,再回过头去研究语法,可以更好地提高对C语言的理解水平。如果在一开始就把重点放在语法上,可能反而无法掌握C程序设计技术。

实际上,C的一些语法细节在实际工作中是不常用的。例如,判断闰年的逻辑表达式:(Year%4==0&&year%100!=0)||year%400==0,其中涉及到运算符、运算表达式以及运算符优先级等问题。若要计算该表达式的值,当然需要记住表达式的优先级顺序等语法知识。但实际工作中,是不鼓励把程序写成那种样子的,实际工作中,要求程序书写清晰明了,简单易懂,强调程序的可读性。因此,上述代码可以写为:

(((year%4==0)&&(year%100!=0))||(year%400==0))

“不仅让计算机能听懂,而且要易于听懂。”

2.5学无止境

经过了中学阶段的学习,孩子已经完全掌握了“汉语”这一门语言,此后能否成为编辑、记者、作家、诗人,则需要更多的学习和锻炼。他需要研读名著,体验生活,笔耕不辍。

C语言也如此。C语言课程结束后,学生可以通过参加课外兴趣小组、各种计算机编程竞赛、后续的专业课学习、毕业设计等,不断锤炼自己用C语言进行程序设计的能力。他可能逐渐接触到C语言课程永远无法讲授的东西,比如socket编程、进程与多线程、并发与竞态、Linux驱动程序、windows驱动程序、研究开源代码等。他成了一名高级程序员、资深程序员、专家,他开始“用word写程序”。

“计算机编程,一个玩具(计算机)的更高级的玩法(写软件)而已。”

3结语

C语言是一门程序设计语言,教学的目标在于让学生“掌握”C语言。所谓掌握,不仅指C的基础知识、语法结构等,最重要的目的是会用C语言写程序。C的其他所有知识,都在程序编写和调试中得到学习和掌握。

本文根据婴幼儿学习语言的特点,提出了C语言的教学思想和教学方法,其主要思想为:教学目的在于教会学生用C语言写程序,让学生在不断实践中提高程序设计的水平;课堂上,主要通过程序讲授编程的方法和技巧,强调C语言的库函数学习及其使用方法,通过程序重点介绍难点和重要语法知识,一般语法由学生自学;强调大量的C程序锻炼,在C语言的编写、调试中,由计算机教会学生编写程序,在编写程序和调试程序中,学习C语言的语法。

致谢:本论文得到了部级教改项目“部级教学团队――计算机基础系列课程教学团队”的支持。

参考文献:

[1]李莉.C语言程序设计的教学改革[J].计算机教育,2009(12):28-29.

[2]李业丽.“C语言程序设计”课程建设的思考[J].计算机教育,2009(12):31-32.

[3]赵金萍.“任务驱动式”的C语言程序设计教学[J].计算机时代,2007(8):25-26.

[4]王冰.C语言程序设计课程教学方法的探讨[C]//王永生.研究型大学建设本科教学改革的研究与实践.北京:北京交通大学出版社,2008:624-628.

teachingmethodsofCprogrammingLanguageLearnedfromBaby’sLanguageLearning

ZHaoShuaifeng,HUShaohai

(SchoolofComputerandinformationtechnology,BeijingJiaotongUniversity,Beijing100044,China)

c语言课程设计小结篇2

关键词C语言课程建设改革

中图分类号:G424文献标识码:aDoi:10.16400/ki.kjdkz.2016.09.054

theConstructionandReformofCLanguage

programDesignCourseinColleges

LinHuijun

(ComputerScienceDepartmentofBasiceducationalCollege,ZhanjiangnormalUniversity,Zhanjiang,Guangdong524037)

abstractwiththedevelopmentofcomputerprogramming,theprofessionalfoundationcoursespositionofCLanguageprogrammingdesignhasbeenchangedtocorespecialtycourse.withthechangeofitscoursesposition,contentofthecurriculumsystem,teachingmethodsandteachingmodel,experimentguidewillbechanged.DiscussthereformofClanguageprogramdesigninthenewsituationofcollegefromtheangleofcourseconstruction.

KeywordsCLanguage;courseconstruction;reform

0引言

C语言是一种面向过程的计算机程序设计语言,其功能丰富、表达能力强,具有完善的模块程序结构,可移植性好,既具有高级语言的特点,又具有低级语言的功能。C语言曾经是进行软件开发的主流语言,因此“C语言程序设计”课程曾经作为计算机技术专业核心主干课程,在高等院校计算机相关专业中广泛开设。然而随着面向对象程序设计思想的广泛应用,“C语言程序设计”的专业核心地位开始动摇,一些高等院校计算机专业已不再开设“C语言程序设计”,取而代之的是Java、C++、VC++等课程的直接开设。

那么,在高职高专院校的计算机应用技术专业中,“C语言程序设计”是否还有继续开设的必要?如果开设应如何开设?“C语言程序设计”课程应如何进行改革才能适应计算机专业课程体系的发展?在本文中,我们将从课程的地位和开设的必要性、课程内容体系、教学方法、实验指导等方面就大专院校的“C语言程序设计”课程建设进行深入的探讨。

1课程的地位和开设的必要性

“C语言程序设计”曾经是计算机相关专业的核心主干课程,主要学习C语言的语法规则、算法、模块化程序设计思想,并以C语言为开发语言进行系统的开发。然而随着技术的发展,C语言由于其在可视化编程方面的局限性使得它不再成为软件开发的主流语言,在这种情况下,C语言的核心主干课程地位发生了改变,我们曾经对多所高校计算机相关专业的课程设置进行了调查,多所高校根据专业的发展已不再开设C语言,部分院校直接开设JaVa,部分院校直接开设C++,部分院校即使开设C语言,也只是把C语言作为专业基础课程来开设。

大专院校的计算机应用技术专业学制三年,通过学习,学生应具备基本程序设计能力,能使用计算机语言进行程序的设计、调试和维护。大专院校学生的入学基础较为薄弱,多年的教学经验我们得到一个结论:学生一入校门接触计算机专业课程,感觉最难的就是程序设计,如果其第一门课程学的是面向对象的编程语言,则须从结构化程序设计开始学,学习时间较长,很容易将结构化程序设计与面向对象程序设计混淆,导致学习越来越困难,因此有必要在开设面向对象程序设计课程之前先开设结构化程序设计课程。C语言是古老而长青的编程语言,它的语法是C++、VC++、Java、C#等多种面向对象程序设计语言的基础,也是后续课程“计算机组成”、“操作系统”、“编译原理”、“计算机体系结构”、“数据结构”等的基石。因此把C语言作为大专层次计算机应用技术专业基础课程或计算机语言的入门课程来来开设是必要的,有利于学生对计算机语言及结构化编程思想的理解和掌握,为面向对象程序设计课程及其他的开设后续课程的开设打下一个良好的基础。

2课程内容体系

在把“C语言程序设计”作为核心主干课程开设时,其课程的最终目标是学生能使用C语言进行系统的开发,因此其教学内容是围绕着软件开发这一主题展开学习,学时较长,内容详尽。而把“C语言程序设计”作为专业基础课程来开设时,对学生能利用C语言开发系统的要求降低,学时不宜过长,课程总体目标转变为培养学生对程序设计的理解和操作能力以及提高程序设计的兴趣为主,同时让学生在学习程序设计的过程中,养成良好的代码编写风格,对代码不再感到害怕。

“C语言程序设计”可以说是大专院校学生入校后所接触的第一个程序设计语言,根据计算机编程思想和技术的发展,以及大专学生的特点,考虑相关的后续课程以及面向对象编程语言的开设,本着面向基础、以“必需、够用”为度,我们将“C语言程序设计”的课程内容进行了重新整合。

如图1的内容所示,我们对C语言的教学内容的重点和难点做如下的变革:

(1)C语言包含的基本概念很多,如变量、常量、存储空间、地址、运算符、表达式、函数、指针、数组等,这些概念都是后续课程的基础,因此应加强学生对这些概念的理解与掌握。

(2)不管哪一种编程语言,其程序的基本结构都离不开顺序结构、选择结构、循环结构,这三种程序结构也是面向对象编程的基础,因此C语言的教学重点也在于让学生完全理解和掌握三种程序结构的编写。在这三种程序结构的教学中,应以算法为主线、结合C语言的语法规则进行讲授,案例功能不宜太复杂,程序不宜过长,以单一功能为主,这将有利于后续面向对象程序设计课程学习的衔接。函数是C程序的基本构成,也是大部分计算机语言的基本概念,对函数的概念、定义和声明、返回值、函数的调用、参数的传递、变量的作用域应予以详细的讲解,以理解其中的基本方法为主。

(3)在数据类型部分,重点在于基本类型、指针概念、数组的讲解,放弃一些构造型的数据类型,如共同体、结构体等,因为在面向对象编程语言中,已使用类来实现这些复杂数据类型数据的封装。

3教学方法

“C语言程序设计”以C语言为平台,使学生全面了解程序没计的基本算法、C语言的语法规则以及结构化程序没计的方法,并具有一定的结构化程序设计和调试的能力。“C语言程序设计”传统的教学方法是讲授与实验相结合的方法进行教学。由于C语言涉及的概念比较复杂,规则繁多,许多知识点抽象且难以理解,使用灵活,容易出错。在实际教学中,我们发现很多学生认为内容抽象、枯燥,学习起来都感到困难和吃力,并在不同程度上产生畏惧心理,学生学习兴趣度较低。

基于上述原因,我们认真研究了思维可视化技术、微课程技术等教学理论和教学方法,并将其用于实践教学,效果较好。

3.1思维可视化技术

思维可视化技术是一种以数据可视化、计算可视化和信息可视化为基础,促进知识的传播和创新的技术,其要点是运用一系列图示技术把本来不可视的思维(思考方法和思考路径)呈现出来,使其清晰可见的过程。思维可视化的目的是使思维流程化、图形化、图谱化和清晰化,其可视化工具包括有概念图、思维导图、流程图、语义网络、图表等。

C语言概念繁多,层次性较强,思维可视化技术的引进有利于学生对计算机语言整体概念的理解。如在讲解C语言数据类型时我们可以使用一张图完成教学。图2为基本数据的概念图。

概念图以SwF文件出现,在教学时以数据基本数据类型为中心,进行层次的折叠,在讲授时以知识点为中心中心展开或折叠。整个教学直观,一目了然,效果较好。

思维可视化技术可贯穿C语言的整个教学过程,我们将可视化的各种图示工具教会学生,课前使用思维对图进行预习,课中使用概念图、流程图进行教学,课后使用思维导图进行内容的整理。这不仅有助于学生对知识的掌握,也有助于学生编程思维能力的提高。

3.2微课程技术

微课程即微视频课程,是一段短小精悍的、以教学为目的的视频。一段微课程视频大约10分钟左右,讲解一个知识点,目标明确。与ppt相比,实践证明微课程的视频形式更有效,更吸引学生,视听结合,能增强学习者的信息处理能力,降低学习者的认知负荷,提高学习效率。微课程的反复播放有助于学生自己掌握自己的学习进度。

在C语言教学中,我们往往利用一节课的时间讲授知识点,知识点相对较多,一节课45分钟,学生的注意力不能持续集中。将微课程技术引入C语言的教学过程后,我们将微课程分为知识点微课程、练习微课程,每个微课程大约10分钟右左右,两种课程轮流交替进行,既达到传授知识的目的,也能在课堂上完成课后巩固环节。在多个知识点微课程和练习微课程后,进行综合实例微课程进行综合的训练。能最大程度地避免学生注意力的分散。

如循环结构是C语言教学的重点和难点,学生对循环的每一次执行较难理解。我们以例题作为知识点制作微课程,将循环的每一次执行、内存变量值的变化、执行的结果以动画的方式呈现出来,一目了然,且学生可以多次观看,避免因老师一次讲解难以掌握而又无法回顾的问题。实践证明C语言中许多的知识点使用微课程教学都取得了较好的效果,如排序微课程、运算符微课程等,其在显示程序运行过程中变量的变化、运行结果的变化等方面尤其有效。

4上机实践与习题

上机实践是“C语言程序设计”课程的重中之重,我们需要培养学生程序设计的素养和程序编辑、修改、调试、运行的能力。C语言的开发环境经历了turboC、VC++6.0、VS等,目前使用较多的是VC++6.0。一般情况下,如果单纯是学习C语言,使用VC++6.0已足够,如果后续开设C#等课程,建议使用VS,以便于后续课程的开设。

大多数的实验指导书中的实践教学内容和题目以验证型和设计型为主。验证型的题目要求学生按照书本上的指示,输入程序,填写结果即可,学生处于被动接受的地位;设计型的题目对于大专院校的学生来说,难度较大,学生往往无从下手。为了全面提高学生的实践能力和应用能力,使实践教学能满足不同层次学生自主学习的需求,我们制定并实施了以下改革措施:

(1)改革上机实践的教学模式:我们对实验内容进行了重新的设计,每个实验衔接课程的内容,实验内容小而精练,将以往一个完整的理论知识点教学完之后再进行实践教学的教学模式改为由理论教学和实践教学相互联系、相互交叉、彼此渗透、有机结合、同步发展的教学模式。

(2)设计多种类型的实验题目:针对学生存在基础不同、接受能力不同、个性有差异等问题,设计出包含验证型、改错型、设计型共三种类型的实验,题目尽可能做到既与理论教学内容靠近,又能覆盖知识点,切合实际。通过完成不同类型的实验题目,有目的、分层次地培养学生的实践能力,使学生学会从实验过程中获取知识,积累经验。

要学好C语言,做习题是关键,习题能帮助学生有效地理解知识。通常情况下,习题是在一个章节完成后才进行,知识点过多,学生需要花更多的时间做习题。因此我们对习题进行了重新整理,在一个知识点教学结束后即进行(下转第118页)(上接第113页)习题的训练,将教学与习题有效地结合,将学生做习题的时间分散,缩短,减少难度,达到即时巩固的效果。

5结束语

由于计算机编程技术的发展,C语言的课程教学也受到了影响。2012年,我校将C语言作为重点课程进行建设,结合实际,我们对大专院校“C语言程序设计”课程的地位、内容体系、教学方法和教学模式、实验指导进行改革探讨,以适应新形势下的大专计算机应用技术专业、电子专业人才培养方案的改变。这些改变能在一定程度上有效解决我校“C语言程序设计”课程发展与教学过程中存在的问题,但仍须在实践中去改进和完善。

基金项目:岭南师范学院2013年青年项目,项目号:QL1311;岭南师范学院基础教育学院重点课程项目

参考文献

[1]林慧君.思维可视化及其技术特征[C].第十六届全国计算机辅助教育学会年会论文集,新华出版社,2014.8:697-702.

[2]方英兰,刘高军,宋威.C语言程序设计课程的改革与实践[J].电脑知识与技术:学术交流,2014(12):8225-8226.

c语言课程设计小结篇3

关键词:案例教学;现场编程;分组教学

中图分类号:G642.3文献标识码:a文章编号:1674-9324(2012)05-0239-03

一、引言

程序设计类课程是大学生计算机基础教育的必修课,目的是培养学生的计算思维,培养学生利用计算机解决实际问题的能力。由于“C++语言”在工业控制领域应用较多而被选为理工类大学生的计算机语言程序设计课程,并安排在一年级学习。大学一年级的学生大多数延续高中的学习和思维方式,但是“C++语言程序设计”的学习方法和思维方式与物理数学都不一样,学生碰到了课程学习的第一个难题,教师必须引导学生转变思维方式尽快适应C++的学习。在教学过程中,我们发现“C++语言程序设计”与高等数学和大学物理等课程有明显的区别,高等数学和大学物理等课程偏重理论教学,而“C++语言程序设计”除了理论教学之外还有大量的实践教学,是一门突出实践性的课程。因此,在教学设计中应该突出培养程序设计基础理论知识的应用和动手编写程序,不能只关注知识点的讲解和检查,而忽视程序编写调试能力的培养。为此我们针对如何在程序设计中培养学生的动手能力,对“C++语言程序设计”这门课程的教学目标定位和教学方法选择进行了一些分析和研究,并应用于2010级的机械实验班的“C++语言程序设计”课程的教学实践中。

二、教学目标

人们在学习人类自然语言的时候,强调语言的语法是基础,学习的目标是和其他人进行交流。相应的,在学习“C++语言程序设计”时,C++的语法也是编写程序的基础,学习的目标是使用C++语言编写程序。而对于大多数大学生而言,C++程序设计语言和英语一样,是未来工作中的一个重要工具,因此,我们要告诉学生把C++语言当作工具来学习,强调实用性,不要过多地关注内部细节和繁杂的语法。在讲授基本语法之外,我们重点放在教会学生如何写C++程序,如何优化程序,以及学习怎么去学习C++语言的新领域。计算机语言的语法不是计算机语言学习的全部,一个熟练的BaSiC程序员学习新C++语言的语法,也许只需要3-4个小时,但是要熟练使用C++这门语言,特别熟练使用C++的类库时,就必须认真阅读类库参考和相关的例程,并进行大量的上机编程练习。所以,在“C++语言程序设计”课程教学过程中,我们既要让学生知道常用的语法现象,又不能局限于C++语法的掌握。同时我们也充分认识到语言只是一种表达工具,自然语言亦是如此。程序设计语言可以用来表达需要解决的问题和解决问题的方法,但是方法本身不属于语言的范畴,要在其它课程中学习。例如:计算方法、数据结构等。学习语言需要实践,因而离不开对分析问题和解决问题方法的学习。但是初学者的目标应定位在编写小程序、解决简单问题。我们的教学目标是通过《C++语言程序设计》课程的学习,学生能掌握一些常用的经典算法和相应的例程。可是仅仅掌握这些经典算法和相应的例程是不够的,我们还希望通过“C++语言程序设计”课程的学习,让学生掌握从算法到程序代码的转化,使他们能够将一个实际问题,先描述为一个计算机算法,然后再编写相应的C++代码。同时强调“自顶向下”和“细分”的程序设计思想的培养,让学生充分了解任何看似复杂的算法,都可以分解为若干个简单算法的逻辑组合。所以任何一个题目,在编写代码之前,都要认真分析,分解成若干的小问题进行处理。

三、教学方法

1.案例教学。在以前,“C++语言程序设计”课程的教学围绕C++的基本语法知识来展开。而从本质上来说,计算机程序设计的最终目的是为了用计算机解决实际问题,因此“C++语言程序设计”课程的目的是培养学生的计算思维能力、创新能力和综合能力。要提高学生的学习“C++语言”的兴趣,就必须让学生亲生感受并体会C++语言程序设计的无穷魅力。而“案例教学”这种教学方法,改变了“满堂灌”C++语法的做法。通过一个有趣的案例吸引起学生的注意力,从而将学生的眼、手、脑全部调动起来,培养学生学习《C++语言程序设计》的兴趣。因此,我们在《C++语言程序设计》课程的课堂教学中采用案例教学法来组织教学。课堂教学以C++程序为主线,通过使用多媒体教学设备,在VC6.0的编程环境下现场演示程序的运行结果。在讲课过程中,将教学内容分为不同的几个主题,用C++程序设计作为贯穿期中的主线。通过对案例例题的分析,着重讲解C++程序设计的编程思想和编程方法,同时介绍相关的C++语言的语法知识。然后在机房上机实验的时候,教师针对学生在上机实际编程中的突出,进行有针对性讲解。通过案例法教学,教师在课堂上通过分析程序设计的原理和程序设计的过程,使学生一步一步熟悉C++语言的语法,学会应用相应的C++语句,进而培养学生分析问题和解决问题的能力。

2.当堂编程。在课堂上当堂编写程序可以让学生看到编写C++语言程序过程中所出现的各种问题,从而重点讲解用C++语言编写程序时要注意的细节问题。我们首先用ppt分析各种例题的关键算法、类的结构或函数定义,然后在VC6.0的编程环境中当堂编写相应的C++程序。教师一边输入代码,一边讲解代码的含义,同时要控制编程的节奏,使得学生能跟上教师的编程思路。在整个过程中,教师要时不时提出一些问题,与学生进行互动。在2010级机械实验班的《C++语言程序设计》的课堂教学中,我们从第一节课开始就实施了在课堂上当堂编写C++程序的做法,取得了很好的课堂教学效果。在课堂上当堂编写程序的时候,将教师良好的编写风格在不经意间传递给学生,让学生注重诸如如何命名标识、如何正确使用注释和换行。通过教学实践,我们发现教师在课堂上现场编写的程序比其他书本的例题,对学生的示范性更强,对学生培养良好编程习惯的作用更强。在课堂上现场编程对于教师来说也是一个重大的挑战,它要求教师能及时解决C++编程中遇到的各种问题,修改程序错误,并调试和运行程序。教师对于学生容易出错的地方,常常有意留些错误,然后让学生去分析错误,从而加深学生的印象,让他们知道碰到类似的问题如何处理。为了教学生如何正确调试程序,教师还要讲解VC6.0编译器常见的警告和错误信息,并告诉学生错误产生的原因和相应的处理办法。

3.程序调试。《C++语言程序设计》课程的学习中,影响学生学习积极性的最大难题是无法正确处理调试过程中遇到各种错误。例如学生编写的C++程序,编译时编译器报告了若干个错误,但是学生不知道如何修改;或者编译通过了运行的时候却出现死循环,但是学生也无法发现。一旦学生编写的程序经常不能正确运行,就会影响学生的学习兴趣,进而使学生失去学习《C++语言程序设计》课程的信心。所以,教师应该让学生学会常用的调试方法和步骤,并且鼓励学生主动和老师一起帮助其他同学调试程序,一起解决C++编程中遇到的问题。要解决C++程序在运行中所碰到的错误,正确的调试方法和手段是学生必须掌握的。只有通过使用正确的调试方法和手段,才能让学生在最短的时间之内找到程序中出错的语句及其原因。在VC6.0的编程环境中,学生要学会使用单步跟踪技术,熟练使用相应的快捷键,例如F9、F10、F11、Shift+F1等。并配合使用内存变量查看工具“watch”和“Variables”等来查看相关变量的值,从而找到错误发生的原因。4.分组教学。分组教学是把学生分成若干小组,每个小组可由5~6名不同能力的学生组成,以小组合作的形式,在教师的指导下,通过组内学生的互助活动共同完成学习任务。分组教学与传统的班级授课制相比,有很多优越性。分组教学可以增加学生之间的互动交流,从而可以实现学生的优势互补。通过开展小组合作学习,有意识地培养学生的合作意识和合作,也能减轻学生的学习压力;通过互帮互学还能增强学生的自信心,促进全体学生的个性发展。在实验环节和项目设计中,采用我们分组教学的模式来组织教学。项目设计全过程基本上让学生以小组团队的方式独立完成,教师只是提供相应的辅导和监督项目的进展。经过了这种模拟实际项目开发过程的训练,不但可以提高学生学习C++的兴趣,培养学生的C++动手编程能力,还有利于培养他们探索精神和学习积极性。

综上所述,我们认为C++语言本身是一个软件开发的工具,在教学中应该将C++语言定位为一个通用软件开发工具,并且在教学过程中突出C++语言编程的实用性,注重培养学生实际动手编程的能力、分析处理问题的能力和自主学习的能力。我们也将此观点用于指导2010级机械实验班的《C++语言程序设计》课程的教学中,取得了较好的教学效果。

参考文献:

[1]陈福松.案例教学与创新型人才培养[J].扬州大学学报(高教研究版),2009,(05).

c语言课程设计小结篇4

【关键词】计算思维C语言程序设计教学改革

引言

C语言一直在等级考试和实际应用中占有不可或缺的地位,逐渐也成为国内各高校工科专业广泛使用的教学课程。它作为一种优秀的结构化程序设计语言,其功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好、既具有高级语言的优点,又具有低级语言能够直接操作底层硬件的特点,既适于编写系统软件,又能方便地用来编写应用软件。

《C语言程序设计》课程处于非计算机专业计算机基础课程3个层次(大学计算机基础、计算机程序设计基础、计算机应用基础)中第二层次,是一门理论性和实践性很强的课程。所以,教学工作者单纯利用传统的教学模式,并不能有效帮助学生在这一课程上获得大步提升。相反,可能增强学生的抵触心理。因此,改革C语言程序设计课程教学模式改革刻不容缓。

一、计算思维的含义

2006年3月,美国卡内基・梅隆大学计算机科学系主任周以真教授在美国计算机权威期刊上提出:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。所以,在这里的“计算思维”不是狭义的计算机编程,而是运用计算机基本概念去求解问题、设计系统和理解人类行为。

二、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语言程序设计课程中培养计算思维的案例教学法研究[J].计算机光盘软件与应用,2013,21:210-212.

[2]丁岩,张宇昕.C语言程序设计课程改革与计算思维的培养[J].重庆与世界(学术版),2014,01:84-86.

c语言课程设计小结篇5

关键词:C语言教学模式教学改革

随着计算机科学技术的迅速发展,计算机科学技术已成为广泛应用技术[1]。随着目前高科技的发展,需要专业的计算机人才,程序设计技术是专业计算机人才所必备的基础能力之一;与此同时计算机学科与其他学科的结合越来越紧密,程序设计技术已经成为高校计算机专业乃至一些非计算机专业学生的必修课程,程序设计技术课程是以某种程序设计语言为载体,使学生掌握程序设计的基本思想和方法,各个专业依据培养目标和具体的课程设置选择某种程序设计语言作为授课内容。

C语言编程技术作为程序设计技术中尤为重要的一种应用语言,也是计算机课程中一门基础的计算机程序设计技术课程。C语言以强大的功能和广泛的应用成为高校工科院系的首选程序设计语言,不但是计算机专业的专业基础课,而且是物理、水利建设、电子电气、自动化控制、食品等非计算机专业的语言类基础课;作为高校非计算机专业的主要程序设计语言课程之一,C语言在计算机等级考试中占有重要地位,既是二级备选科目之一,又是三级网络、信息管理技术、数据库的上机考核内容。通过这门课程的学习,不仅可使学生获得程序设计的思想,锻炼逻辑思维能力,而且可为后续课程的学习打下基础[2]。

1.C语言编程技术课程现有课堂教学模式的问题分析

传统C语言教学方式主要由理论教学和上机教学组成,首先由课程教师对C语言课程的基础理论知识进行讲解和演示,学生再进行上机实际操作,然后根据教材和实际授课情况安排一些辅学习训练。但是C语言与其他程序设计语言比较,基础理论知识具有比较抽象且涉及的知识点多,想要在规定学时内以常规的授课方式针对学生讲授C语言的基本思想和方法,难以达到理想的效果;目前我国高校上机教学往往因为课时少及课下学生很少进行巩固而出现效果差[3]。

张逸琴[4]调查发现,大部分学生对C语言课程积极性不高、学习的主观能动性不强,主要是因为在对于C语言在学习中不但基础理论知识概念复杂,编程过程中规则苛刻,而且程序设计过程和算法比较抽象,在学习程序设计编程中出错率高,编程很难掌握。但是作为高校计算机专业的主要程序设计语言课程,学生往往通过背诵完成考试,这样培养出来的学生缺乏创新意识、逻辑思维能力、自学能力和研究能力。

2.C语言编程技术课程的实践教学模式改革

对于目前社会高科技需求的计算机人才,熟练掌握C语言的应用比掌握复杂的理论更有实际意义。因此,在教学中我院非常重视教学方法和手段的改革,根据不同的教学内容采用不同的教学方法和手段,打破传统教学模式的缺陷和局限,调动学生学习C语言的主动性和积极性[5]。

2.1现代化教学手段

现代化教学手段是利用多媒体和网络技术,能够以声音、视频、图形、语言等直观生动形象的形式,使课堂呈现多样性、新颖性、趣味性、直观性,能够激发学生的学习兴趣,调动学习积极性。我在教学过程中通过ppt演示文稿、系统演示、案例分析和讨论等方式进行理论教学;通过网络教学平台进行教学资源、自主学习、在线测试、提交作业等形式进行网络辅助教学。

2.2案例驱动教学法

在课堂上采用“案例驱动”的教学方式,用“案例”引出相关知识点,课堂上围绕一个“案例”展开相关教学,然后对此“案例”项目进行拓展训练和对案例的学习进行总结与回顾。最后让学生实现案例中的相应功能,课后学生再完成课后案例中对应的功能。

在案例教学方式中,可以对“案例”稍作修改加强学生对程序的各项参数的学习;所用的案例可以重复使用,从而进一步加强学生的学习;在案例教学方式中要把重点、典型的框架和算法的要点进行提取并进行单独多练、多讲学习。

2.3分组教学

课程中将学生分为若干学习小组,每组4―6人,每组组内自己解决问题,组内在学习过程中相互帮助,共同提高,组间相互借鉴,互有竞争,最后汇总所有解决方案。对比出最优的解决方案向其他同学介绍。课堂讨论以小组为单位,提出本组的意见或解题办法,可以充分调动学生学习编程设计的积极性,调动大家发现新方案,培养学生的创新意识和协作意识,激发学生对C语言的学习兴趣,增强学习的主观能动性。

2.4学生示范教学法

课程后教师可以布置练习题目检测学生对教学知识的理解和掌握程度,学生因缺少监督及自觉性,常常会借助互联网、书本等其他途径寻找练习题目答案,而不是通过独立思考完成。鉴于这样的情况,可以安排少量课时讲解题目实施“学生示范教学法”。在“学生示范教学法”中可以让一个同学上台讲所设计的编程,学生设计编程会展现给全体同学,在设计的编程展现过程中出现的错误,教师可以及时改正、更正、讲解,并且介绍避免此类编程错误的技巧和方法。

3.结语

为了适应现代社会人才需求,在课堂教学中帮助学生掌握C语言的基本方法和理论并将其融入今后的专业学习之中,必须对C语言课程的课程体系和教学方法进行改革。改革传统的C语言课程体系,引入适合学生的教学手段和方法,理论和实验相结合,任务和案例相结合,培养学生的程序设计思维能力和计算机程序设计动手能力。通过C语言课程的学习使学生初步掌握和了解结构化程序设计原理,运用C语言的基本要素进行基本的结构化程序设计,掌握利用计算机解决问题的基本思路和方法,能够解决专业学习遇到的相关问题。在本院和老师的努力下,一定能将这门课程讲授好,为社会不断培养高能力的计算机人才。

参考文献:

[1]孙玉霞.基于教育心理学的C语言教学探讨[J].湖北师范学院学报(自然科学版),2011,01:105-108.

[2]刘彩虹,郭政,于建海,王锦.C语言教学探讨[J].信息与电脑(理论版),2011,02:113.

[3]邓松,何火娇,彭莹琼.C语言教学改革探讨[J].计算机教育,2008,16:55-56.

c语言课程设计小结篇6

关键词:中职计算机;C语言;作用;探究

如今,计算机在各行各业已经有了广泛的应用。而作为计算机编程开发的重要的程序语言的C语言,对多个科目的理论知识进行了涵盖。所以,学习本门课程具有一定的难度。而随着计算机技术的迅猛发展,C语言已经成为中职计算机专业的一门必修课程,并在中职计算机专业课程中发挥着重要作用。

一、在计算机领域中C语言的应用特点

在计算机程序设计中,C预言是一种基础语言,如今,它已经成为现代编程的主流。之所以能够在各个领域广泛应用,主要取决它自身的优点和特性。

1.具有强大的功能和应用性

C语言不限制操作平台,可在windows等多种操作系统下编写程序,其功能极其强大。同时,C语言的应用性极强,能够广泛运用于计算机科技产业,可快速投产,并且经济效益极其可观。

2.具有强大的语言结构,发展空间广阔

C预言是软件开发和程序设计的基础和前提,语言结构和描述功能极其强大,在计算机领域有着广阔的发展空间,是数字结构教学和操作系统教学的课程基础,能够对当下计算机专业课程教学的需求给予满足。

二、C语言在中职计算机专业课程中的作用

1.对学生缜密的思维能力进行培养

C语言的判断选择和逻辑运算能对人的思维能力进行培养,若将一组整数{x,y,z}输入三维坐标系中,将此组整数由小到大输出,这类问题的解决,必须要有缜密的思维,并且要对不同的情形予以考虑。

2.培养学生动态的思维方式

C语言是以“循环嵌套”的方式,对学生动态的思维方式进行培养。例如,给出“1、2、3、4四个整数,能够组成多少个三位数,无重复数,并且是不同的。通过分析以上问题,可对动态思维方式理念进行培养。

3.对学生分析能力和解决能力进行强化

在C语言中设计算法的过程,也是对学生分析问题和解决问题的能力进行培养的过程。而这里的算法是指具体的流程和方法,算法是设计程序的核心内容。而语言作为形式,若计算机程序算法不正确,则无法使问题得到有效解决。

4.对学生的思维能力进行培养

长时间地学习C语言,能够潜移默化地培养学生的科研思维能力。其特征主要体现在三个方面,即敏捷性、深刻性和灵活性。灵活性是与学生的自身状况相结合,利用思维定式对考虑问题的影响妥善排除,在实践中灵活地运用各种理论方法,并从不同的角度对问题进行考虑,以解决各种实际问题;深刻性是指利用理想化的手段,抽象化理想过程和理性模型;敏捷性是指通过对各类原始信息的搜集,向大脑内传输,利用自身的认知结构,将问题的关键点找出来,通过对所学的理论方法的提取,使问题得到及时的解决。

三、为中职学生计算机的进一步学习夯实基础

1.“向下”――底层硬件开发

作为一种中级编程语言,C语言可编程设计计算机硬件。如果仅从单片机分析,各类智能芯片普遍采用C语言,意味着C语言具有极为广阔的应用范围。尽管中职生在毕业之后,未必都能从事本行业工作,但通过初步了解C语言的应用,也可以更好地应用于相关的领域。

2.为其他计算机语言的学习打下基础

C语言具有非常清晰的层次,不单单拥有低级语言的特征,同时还具有典型过程化的高级语言特征。可依据模块化的方式,对计算机程序进行组织,并且维护和调试极为便利。同时,作为一种计算机语言,C语言的数据处理能力和表现能力还非常强。由于拥有丰富的数据类型和运算符,可完成各种复杂的数据结构,目前,C#和JaVa是比较常见的面向对象的语言,它们的基本语法类似于C语言。C语言为今后数据结构课程的学习夯实了基础。

在我国中职计算机专业课程中,C语言是非常关键的一门课程。通过对C语言的学习,对于促进中职学生的职业发展,意义非常的重大。因此,为了保障计算机教学程序的研发和设计,必须对C语言教学质量进行强化。目前,我国中职计算机专业C语言教学中,还存在诸多的问题。所以,必须将先进的教学手段引入实践教学中,通过对学生的职业发展和教材课程的合理规划,使C语言的教学水平得到大幅提升,为我国经济建设输送更多的人才。

参考文献:

[1]朱迅.“C语言程序设计”教学的探讨[J].软件导刊,2010.

c语言课程设计小结篇7

目前,计算机专业其他课程(如数据结构、算法设计)中,也经常用c语言程序说明其过程和算法。因此,《c语言程序设计》已经成了许多高校计算机专业的必修课。中央广播电视大学自开设计算机专业以来,各地电大也把《c语言程序设计》作为一门重要的专业基础课程,列入教学计划,下面就我几年来的教学经验谈几点自己的看法:

一、实例为引导,激发学生学习兴趣

为了激发学生对C语言的学习兴趣,教师要在教学方法与手段上多下功夫,加强对学生的引导,在讲清语法规则的基础上,可通过许多具体有趣的实例,如“兔子问题”、“水仙花数”、“竞赛记分”等来培养学生的学习兴趣,综合利用板书、课件、程序演示等手段,做好师生互动,使学生加强理解和记忆。整个教学过程中把解题思路和算法当作授课的重点,从而让学生明白如何分析并解决实际问题,逐渐培养学生进行程序设计的正确思维模式。

二、注重上机教学,通过程序调试加强容易被忽视细节的教学

C语言虽然说与自然语言和教学语言十分接近,但在实际中却存在着许多“细小”的却又十分严格的差异。由于它的细小,常常不能引起注意而被忽略。如表达式、函数、变量、分隔符等,学员在学习中,常常因重视不够不能正确理解或没有形成较深印象,造成程序设计时不能正确使用或习惯地用数学方法代之。

因此,教师在讲授C语言课程时,不能忽视实践课的教学,尤其是学生上机辅导课的教学。很多教师认为,上机辅导课就是让学生自由练习,及时为学生解决问题,实际上这种教学辅导方式是不合理的。上机辅导课中教师一方面应反复强调C语言的“书写格式自由但一点不能差”的特点,另一方面应视具体情况通过演示程序调试的方法加强容易被忽视细节的教学。

如程序abc.c:

#include

voidmain()

{

inta=1

printf("a=%d\n",a);

}

编译时出现以下问题:abc.c(5):errorC2146:syntaxerror:missing'''';''''beforeidentifier''''printf'''',给学生讲解提示,让学生通过提示明白问题所在,即该程序第5行的printf语句前缺少“;”。通过程序调试的方法不仅可以为学生解决错误,使学生自己通过实践证明了问题的所在,使之深受体会。同时也增强了学生调试程序的能力,从而提高编程的经验和技巧。

三、利用多媒体进行辅助教学

对于一些抽象的、学生难以接受和理解的语句和算法,如条件语句、循环语句、指针、排序程序设计过程等,利用多媒体教学的优势,进行通俗易懂的讲解和演示,模拟计算机的内部状态和执行过程。精心制作多媒体课件,增强学生的直观感觉,方便理解,起到事半功倍的作用。

例如在讲解到三种循环的结构时,学生很难理解三种循环的区别,通过制作多媒体课件来模拟三种循环的执行过程,使学生一目了然的看清楚三种循环的结构及其执行过程,清楚了用什么构成循环时,要注意在循环体内对循环控制条件的修改,也清楚了三种循环的区别。再比如在分析用选择法和冒泡法排序时通过用Flash制作一个若干个人按大小个子顺序排序的动画演示程序,这样就起到了将抽象问题形象化、枯燥问题生动化的效果。

c语言课程设计小结篇8

20世纪90年代以来,C语言在全世界普及推广[1]。《C语言程序设计》课程是计算机相关专业在大一新生入学后开设的第一门计算机语言类核心基础课,主要学习C语言的基础编程知识。C语言是嵌入式软件开发的主要编程语言,它不仅具有高级编程语言的的优点,而且具有直接访问各种类型处理器底层硬件的能力。C语言提供大量功能丰富的数据结构类型,具有较强的表达力,使用起来应用面广,简洁灵活,生成的目标程序效率较高,稳定性和移植性相比其他高级语言都有较大的优势[2],软件编程人员特别是嵌入式编程人员对C语言情有独钟。

把C语言作为计算机相关专业学生的第一门编程语言课程,学习之后能具备基本分析问题能力,构造简单算法的能力,基础编程能力和程序调试能力[3],为其他高级编程语言或计算机专业课程的学习奠定编程基础。因此,C语言学习的好坏直接关系着后续课程学习的好坏,进行《C语言程序设计》教学改革,提高学生的基础编程能力有重要的现实意义。本次课程教学改革以计算机专业《C语言程序设计》为主,在取得较好的教学效果后,可以将改革方法拓展到计算机其他类似专业课,也可以应用到非计算机专业对C语言类课程的教学过程当中。

1现状分析

1.1从编程语言特点分析

当C++语言和Java语言出现后,有些软件开发人员觉得C语言过时了,将会逐步被淘汰,这其实是一种误解[4]。更加高级的语言出现是为处理大规模软件开发而设计的,这些语言本身要比C语言复杂的多,也难学的多,并且并不是每个编程人员都需要开发大型软件。C语言经过20多年的发展,至今仍受到编程人员的青睐,正是基于它本身的自由灵活,非常适合解决底层设备的驱动程序和嵌入式程序功能[5]。对于刚刚接触计算机编程的大一新生,他们没有计算机软硬件的相关知识,C语言自由灵活的语法结构一开始就成为他们的绊脚石,让学生愿学能学好就需要用合适的教学方法。

1.2从教学方法手段分析

多媒体是当前高校教学的重要组成部分[6],授课教师把讲授内容做成ppt或者动画在课堂上演示讲解,重点部分特殊标注,难点部分用图形动画多种方式展示,便于学生理解,课堂利用率比传统的板书授课有极大提高。但多媒体教学方法只是在传统板书的教学法之上把课程内容事先准备好,教师在整个教学过程中处于主导地位,即教师一直在台上讲,学生在下面听。没有给学生机会参与到课堂当中,不能充分调动学生积极性。时间久了就会导致学生上课时因为内容枯燥听不懂就出现瞌睡,玩手机现象;由于理论课没听懂,到上机课就不知所措,无所事事,接着就出现上网,打游戏现象,最后导致学生仅有的一点热情也因为教学方式和教学内容的固化而消失得无影无踪。

1.3从教学资源来分析

优质教学资源匮乏、单一也是直接影响教学效果的重要原因之一。目前,各种纸质电子教学资源十分丰富,称得上优秀的教学资源也不少,但找到一个适合自身院系学生学习接受的教学资源却少之又少。当前课程所使用的教材都是谭浩强主编的《C程序设计》,这本教材概念清晰,内容细致全面,但好的教材不一定适用于所有的学校的学生。当前我们培养学生的目标是应用技术型人才,应用技术性更应该注重对基础知识综合利用,应当把教学内容分散到教学过程,教学案例当中。

1.4从考试方式来分析

当前各学校的考试方式主要通过闭卷笔试为主,考察学生对专业基础知识的掌握程度和应用能力。考试内容多局限于教材本身的内容,通过多种客观题来重点测试学生对基本概念基本规律的掌握情况。这种考试方法对老师来说是一种较为简单的检查教学效果的方法,但不是一种高效全面的方法。它更多的体现了学生的记忆能力和判断能力,忽略了学生发现问题和解决问题的能力,学生没有机会去表达自己对问题表现在更深层次的理解,限制了学生的学科兴趣和个性创造力。《C语音程序设计》是一门计算机的编程语言,重点培养学生的动手编程能力,而闭卷考试只能拘泥于各种语法细节,几乎涉及不到动手编程。即使有编程题,在答题卡上写出的程序没有实际的编译环境也无法查看结果的正确与否。最终结果就是临近考试,学生突击做题背题,而不是动手编程调试查看结果。

2教学改革的核心内容

该项目针对我院计算机科学与技术专业和物联网工程专业,《C语言程序设计》课程教学改革研究的主要内容有以下几个方面:

2.1教学案例化

案例贯穿于整个教学过程。C语言常用的每一个核心知识点都融入到一到两个案例中,形成一个个内聚化的知识模块。学生只需学习这些案例就能掌握基本的语法知识和编程能力,不在死记硬背那些枯燥的内容。最后通过一个综合性案例把全部的知识点给融合到一起让学生从整体上对这门课所学的知识在应用方向上有一个新的认识。

案例设计的好坏和教学效果的好坏息息相关。在设计案例时要遵循由简单到复杂,由易到难,全部案例覆盖整个教学知识点,循序渐进,符合学生的认知规律。把学生必须掌握的教学内容全部重新梳理一遍,形成一个个知识块,根据这些知识块难易度在由浅入深的通过案例中加以讲解,把全部知识点教学融入到案例教学过程中,突出实践教学环节。对这些涵盖筛选出来的案例进行整合,形成初步教学讲义,配合教材使用,再通过教学实验、教学过程对讲义进行完善,形成更多的教学资源,最终编写出经过教学实践检验的教材。

2.2考核过程量化

考核更加注重过程和能力,基本考核目标是让学生能够使用掌握的理论知识和基本编程思想,解决日常简单的实际问题。本课程的考核采取过程考核机制,主要由四个环节构成,依次为课堂互动成绩、技能应用成绩、实战考核成绩和aCm刷题成绩。其中课堂互动成绩:包括考勤,回答问题等,占10%;技能应用占40%,实战考核占15%;aCm刷题成绩占35%。这样的过程考核就把学生的最终成绩平均到整个教学过程中,学生在课下动手编程的积极性也得到了极大提高。

2.3课内外一体化

探讨课内外一体化的教学实践方法,课内教育和课外教育是创新教育有两条途径。鉴于C语言程序设计对学生后续学习的永久影响性,进一步完善上届学生的课内外一体化教学模式,通过开放实验室为学生提供学习资源丰富,引导学生养成“制定计划――自由学习――总结归纳”学习习惯,配备老师和优秀的高年级学生进行辅导答疑,形成学生以寝室小组形式在课外进行探讨、交流、解决问题的氛围,培养学生的自主学习能力和团队协作素养,同时保证了课内学习在课外的延续和扩展。由于课内课外一体化模式的效果依赖于执行细节的掌控和学习过程的跟踪和监督,所以聘任学生为助教,协助任课老师和指导老师团队完成学生的监控指导工作。

3教学改革方法实施方案

3.1知识点梳理

C语言课程改革的核心是对教学内容和教学资源的重新整合,重点围绕专业人才培养目标和社会对本专业学生能力的要求,实现理论知识够用,动手能力够强,有效实践够多的教学改革目标。在知识点梳理过程中不再过度追求C语言知识点本身的系统结构和细节,而是集中精力编排好常用的核心知识点对其重点讲解,不常用的或者不重要的知识可简单介绍主要通过学生自学来完成。

具体方法是根据知识点的重要性和使用频率,把其依次分为a、B、C三个等级。等级a为核心知识,老师要精讲多讲,学生必须掌握并能够熟练运用的知识点。等级B为应该知道并理解的知识点,这些知识作为a等级的辅助知识点,对这部分理解之后有助于a等级知识的综合运用。等级C为自学内容,这类知识不是不重要,而是根据学生的学习能力和理解能力不同,给予他们灵活把握,学好了这部分可以锦上添花,没学好也不至于对本课程一无所知或知无所用。

3.2知识点模块化

知识点模块是教学过程中的重点内容之一,知识点设计难易是否合理、内容是否全面、衔接是否得当等都直接关乎教学改革质量。通过查阅文献、外出学习、到企业培训机构调研、学生座谈等方法设计知识点模块。按照掌握的资料,对整个教学内容由简单到复杂、由单一到综合划分为入门能力、基础能力、应用能力和综合能力四个模块,每个模块根据不同的训练目标指定明确学生的学习目标,模块具体内容见表1。通过知识点模块,把知识全部融入到实例当中,加强了知识在实际应用中的比重。

表1《C语言程序设计》知识模块化

[知识点模块\&学习目标\&入门能力\&使学生快速接触程序基本结构、函数、数据类型(包含数组、结构体、指针和链表)和程序设计的三种基本结构的概念、不过分追求知识本身的系统化和使用细节。\&基础能力\&主要包含数组、字符串和字符串函数的相关知识,强调应用,巩固入门阶段的分支和循环。\&应用能力\&主要包含函数调用、结构体和共用体以及对应的数组结构类型和应用方法,通过讲解一个简单使用的通讯协议加深理解和应用,最终实现举一反三,增强应用能力。\&综合能力\&主要包含指针和链表两部分。指针部分涵盖前三种知识的全部内容,链表部分来整合整个C语音的系统知识,进行综合应用,在应用中实现对整个课程重要知识点的复习。\&]

3.3教学资源整合

依据应用技术型人才培养目标,成立课程教学改革小组,探索基于项目驱动的教学模式,形成以案例教学资源为主、基础语法资源为辅的基础教学参考教材。整体资源设计要遵循由简单到复杂,由易到难,全部案例覆盖整个教学知识点,循序渐进,符合学生的认知规律。改革小组根据知识模块的划分完成《C程序设计案例实训一体化教材》的自编讲义,课程改革小组完善教学过程资源,形成可以推广的教学资源整合模式。

3.4设计实践教学和考核过程

本课程每周周6学时,多媒体教师2个学时,实验室4个学时,多媒体教室授课为编程思想互动课堂环节,主要以案例为驱动,以养学生成良好的分析解决问题的思路、方法为目标,让学生掌握基本的编程思想。实验室授课为技能应用及拓展环节,主要以技能为单元,以小组为组织,以实际问题为任务,进行基于基本编程技能的素质训练以及基于自主学习能力的拓展训练。把考核方式放到整个教学过程中,增强学生的主体作用,把每个小组成员课下自评作为成绩的参考,激发学生课下学习兴趣。

c语言课程设计小结篇9

摘要:本文在分析了C语言程序设计课程的教学现状和教学困境的基础上,对比自然语言和程序设计语言的共性以及C语言的特殊性,提出了“从概念入手,侧重程序阅读和程序设计能力培养”而非“语法研究”的教学角度。

关键词:C语言;程序设计;教学内容;教学角度

中图分类号:G64文献标识码:a

1教学现状

在高等学校的本科教育中,“C语言程序设计”几乎成了所有专业的必开课程,从计算机科学与技术、软件工程、网络工程等相关专业,到电子信息类理工科各专业,乃至理工科院校的所有非计算机专业,有的是专业基础课,有的是公共必修基础课,有的是“非计算机专业的计算机基础课”。只是课程名稍有差异,常见的有“C语言程序设计”、“高级语言程序设计”、“C语言”、“C程序设计”、“结构化程序设计”等。无论叫什么样的课程名,也无论是哪类专业,其课程的教学要求和教材选用却无太大差别,只是课时分配差异较大。

从网络调查的16所不同类型高校的“C语言程序设计”教学大纲看,普遍都包含“通过本课程的学习,使学生了解有关程序设计的基本概念、术语及C语言的特点,掌握C语言基本数据类型、语法规则、程序控制结构、常用的标准库函数,培养学生的程序设计技能,初步积累编程经验”的教学基本要求;约百分之八十左右的“C语言程序设计”课程都选用由谭浩强主编、清华大学出版社出版的“C程序设计”作为主教材;课时分配从30~108课时不等,其中80课时以上的多为应用型本科院校的计算机相关专业以及综合性大学的非计算机专业,理论课时与实验课时的比例一般为1:1到1:1.2。与此同时,其他专业基础课(如计算机组成原理、操作系统、数据结构等)的课时一般为54课时,最多不超过72学时。相比之下,“C语言程序设计”所占课时是其他专业基础课的1.5倍至2倍。

从教学目的看,非计算机专业的“C语言程序设计”课程主要目的是“掌握语法规则和程序结构,具备一定的程序设计能力”,而计算机相关专业的“C语言程序设计”课的教学目的则要分为三个层次,一是使学生全面理解计算机程序设计语言的基本内容和结构;二是通过算法掌握程序设计的基本方法和步骤,并具备一定的程序设计能力;三是为后续课程的算法描述和其他程序设计语言的学习奠定基础。

2教学误区

从以上的教学现状(特别是课时分配)看,长期以来,“C语言程序设计”的课程教学存在“教学内容背离教学要求和教学目的”的误区,主要表现在教材误区、讲授误区和考核误区三个方面。

2.1教材误区

国内高校的“C语言程序设计”课大多选用谭浩强主编、清华大学出版社出版的“C程序设计”[1]为主教材,目前使用的是2005年7月修订出版的第三版,教材共363页,主体内容分为14章,其中,第3章的数据类型与表达式占用30页,第4章的格式输入输出占用12页,前9章共占用218页,后5章共占用145页。占用如此大篇幅的原因是教材中除了介绍相关语法格式外,还增加了相当多“特殊格式”和“特殊情况”的解释和说明,因此,该教材的最大优点就是“内容详尽、解释清晰”。然而,对于初学者来说,学习计算机程序设计语言就是为了“为计算机描述求解问题的过程”,过于详细但又远离现实问题的“特殊格式”和“特殊情况”的解释,使得学习内容复杂化,增加了程序设计语言学习的难度,误导了学习者的学习重点,由此也赋予了该教材无法掩饰的缺点,那就是教材编写的指导思想和教材内容的组织脱离了高校各专业“C语言程序设计”课程的教学目标,过分强调语法细节而忽略了程序设计语言的“正向表达能力”的应用,过分强调“语言的灵活性”而导致教材主体内容的“复杂化”,从而误导“C语言程序设计”课程的教学内容朝着“重语法学习、轻算法描述”的“语言研究”方向发展。

2.2讲授误区

由于教材内容的“复杂”,课堂讲授自然需要较多课时,教学重点当然也放在了“语法研究”上。从网上下载的“C程序设计(第三版)”的配套教学课件以及有关院校的“C语言程序设计”教学课件的内容组织上可以清楚的给出以上判断。“语法研究”型的课堂讲授,更加放大了教材对“C语言程序设计”课程内容的“扭曲”程度,给学生提供了错误的程序设计语言学习方法,把简单问题复杂化,更为严重的是,挫伤了学生学习计算机程序设计语言的兴趣和积极性,把本应“主动学习”的课程成引入了“被动学习”的歧途,直接导致“懂语法、会做题,但不会编程序”的教学后果。

2.3考核误区

多年来,“C语言程序设计”的主体考试内容就是“语法”,无论是选择题、填空题还是程序阅读题,大多都无法逃脱“语法”的束缚。考试方式以笔试为主。这在某种程度上肯定了“语言研究”的教学角度,促使“C语言程序设计”的教学重点更向“语法研究”的方向倾斜,最终误入“增加课时,强化语法,还是不会编程序”的怪圈。

3应有的教学角度

按照网上调查的各专业教学大纲中“培养具有一定程序设计能力”的教学目的,“C语言程序设计”课程的教学落脚点应该更确切的理解为培养“能用程序设计语言描述求解问题过程”的一般程序设计者,而不是造就“全面掌握程序设计语言语法、能设计高效、难懂程序”的程序设计语言方面的“作家”。因此,“C语言程序设计”课程教学相当于自然语言中的“基本语言能力”教学,而不是“语言研究”或“高级写作”能力培养。

3.1自然语言与计算机程序设计语言

计算机程序设计语言是用人和计算机都能识别的方式描述计算机求解问题过程的过程描述语言,它具有和人所使用的自然语言相同或相似的组成和结构特点,对于已经掌握了至少一门自然语言(比如汉语或英语)并具备一定文化程度的人来说,学习一种计算机程序设计语言并非难事。自然语言的基本组成包括符号集合、字、词、句、数据及其运算规则等基本要素,学习过程包括认识符号、发音、识字、组词、学语法并造句、学文法并写短文、练习写文章等基本阶段,在具备了基本的语言能力之后,扩充词汇量和提高写作能力将成为终身学习的基本内容。按照自然语言的基本组成和学习过程,也可将计算机程序设计语言的基本组成归纳为字符集、标识符(常量、变量、保留字等)、数据类型、运算符、表达式、语句、程序格式等基本要素,其中,字符集和数据类型是定义程序设计语言的基础,字符按一定规则组成标识符,用来充当常量名、变量名或其他标识,在自然语言中被人们公认的特殊标识符被赋予特定的语言含义,专门为语言系统所用(用户不得再次定义其意义),称为保留字;字符集中的特殊符号(如+、-、*、/)被赋予特定的运算意义(如加、减、乘、除)称为运算符;不同数据类型的常量、变量用运算符按一定规则连接起来组成的式子就构成表达式;将特定的保留字与表达式等语言要素按照语法规则组合起来就形成相应的语句;将语句按照要描述的求解问题的逻辑顺序排列起来,就构成了某种程序设计语言求解特定问题的一段程序。

3.2C语言的特殊性

一方面,C语言是程序设计语言的一种,具备一般程序设计语言的基本组成要素和结构特点。另一方面,C语言能成为面向过程的结构化程序设计语言的代表,也有其自身的特殊性。首先,C语言的数据类型极为丰富。除了基本数据类型外,还有构造类型、指针类型、空类型和用户自定义类型,其中,构造类型包括数组、结构体(struct)、共用体(union)和枚举类型(enum)等四种数据结构。其次,C语言具有位操作能力。除了能够对各类变量进行操作外,C语言还具备“按位”进行逻辑“与”、“或”、“非”、“异或”运算和“左”、“右”移位运算,这使得C语言具备了更强的系统开发能力。第三,C语言具有显著的结构化程序设计能力,并通过完整的函数定义来实现。第四,C语言的最大特点就是“语法限制不严,解释灵活”。第五,C语言允许直接访问物理地址,可直接对硬件端口进行操作。第六,C语言没有输入/输出语句,信息输入/输出功能由标准函数库中相应的i/o函数来完成。

C语言的这些特殊性,决定了C语言的教、学过程不同于其他程序设计语言的教学过程。

3.3C语言的教学角度

根据一般程序设计语言的基本组成与结构特点,结合C语言的特殊性,“C语言程序设计”课程的教学角度应该是:从介绍程序设计语言的基本概念入手,重点介绍语言的“正

向”设计功能而非“特殊格式”或“特殊语法”说明,侧重学生的程序阅读和程序设计能力培养,从教学内容的广度和深度两个方面,恰当把握教学角度。

“C语言程序设计”课程的内容可分为三个基本模块,教学过程从第一个模块切入,逐渐扩展到第二和第三个模块。第一个模块可称为“程序设计语言公共模块”,主要包括程序设计语言的基本概念、程序设计语言的基本要素(字符集、标识符、常量变量以及保留字、基本数据类型、运算符、表达式、语句与控制结构、程序结构以及程序书写规范等)以及输入/输出格式等内容;第二个模块是C语言的主体,主要包括函数、数组、指针、文件等;第三个模块是高级编程内容,主要包括结构体(struct)、共用体(union)、枚举类型(enum)以及用户自定义类型等。

在教学深度方面,各模块的教学重点应放在“规范的语法描述和直观易懂而且正确的语义表述上”,避免涉及各种过细的“不符合人类阅读习惯”的语义描述,暂时避开“特殊格式”或“特殊情况”的纠缠,摆脱“研究语法”的错误向导。在此基础上,第一模块的教学可与自然语言相比对,通过学生已有的自然语言学习经验和语言要素,使学生快速建立程序设计语言的基本概念,正确理解程序设计语言的基本要素及其关系,掌握基本语法和程序基本控制结构(顺序、选择、循环),并通过算法归纳求解问题的过程,正确理解算法不同描述方式(自然语言、传统流程图、n-S流程图、伪代码、程序设计语言)的作用和差异,特别是从“问题”到“程序”的渐进转化过程,从而培养学生的基本程序设计能力。通过第二模块的教学,使学生明确函数、数组、指针、文件等概念和作用,掌握它们的定义和引用方法,能进行相应数据类型的编程,进而掌握用函数定义的结构化模块程序设计的方法;通过第三个模块的教学,将程序的数据处理能力扩展到结构体、共用体、枚举类型以及用户自定义类型等复杂数据类型的处理上来,通过恰当的例子应用这些数据类型,向学生展示C语言强有力的数据表示和处理能力。

另外,可以将C语言中的“语法灵活性”和不同部分的各种“特殊情况”分类总结,归纳整理成“语言参考手册”等形式,以附录的形式提供给学生,以便需要时“备查”。这样既可节省教学课时,又可向学生提供学习语言的主动权。

3.4教学策略和方法

“C语言程序设计”属语言类课程,教学过程充满了逐步完善和熟练的基本特点,因此,从教学安排的策略上要分重点、分阶段逐步进行,每个阶段的教学方法应该采用建立在一定基础上的有重点的“部分教学法”,以核心内容为基础,向外逐渐延伸,部分学习,渐进掌握。尽可能避免不分主次、不论难易、不顾急缓,盲目一次性扫清各类知识点的“地毯式”教授方法或学习方法,同时强调自学和上机验证,强化在特定环境下(如turboC++3.0)的程序设计训练,做到“精讲多练[2]”,从小程序练起,逐渐过渡到求解较大或实际问题的程序设计上来。

4结束语

从目前的教学现状看,无论是计算机相关专业,还是理工科的电子信息类专业,乃至综合性大学的非计算机专业,“C语言程序设计”的课程教学均占有重要的教学地位,在全面提高教学质量和教学效率的今天,不同类型专业结合自身优势和程序设计语言类课程的特点,选择合适的角度组织和实施“C语言程序设计”课程的教学活动非常重要,而且很有必要。笔者的教学实践证明,避开“语法研究”的程序设计教学不仅可减少课时,更可提高学生利用程序设计语言“表述求解问题过程”的能力。

参考文献

c语言课程设计小结篇10

关键词:C语言;教学效果;激发兴趣;注重实践;多媒体教学

中图分类号:G420文献标识码:a文章编号:16727800(2011)012020002

作者简介:宋美英(1982-),女,山西吕梁人,硕士,吕梁学院离石师范分校助理讲师,研究方向为计算机应用技术。1引导学生正确定位课程性质,明确学习目标

1.1明确学习本课程的重要性

C语言程序设计作为一门程序设计入门课程,对培养学生的算法和程序的设计能力、形成良好的程序设计风格起到基础性和先导性的重要作用。通过学习,可以使学生掌握程序设计的基本思想,具备通过程序设计解决实际问题的基本能力。同时,也是学习数据结构、C++程序设计等课程的先修课程,在教学培养方案中起到承上启下的作用。

1.2了解C语言的用途

C语言是目前世界上最为流行的计算机高级程序设计语言之一,它的应用领域非常广泛,既适合于编写应用软件,又特别适合于编写系统软件。目前,C语言在其原有应用领域的基础上,又拓展了支持大型数据库开发和internet及嵌入式系统等新的应用领域。C语言广泛应用领域和极强的生命力,使其受到广大计算机工作者的肯定和欢迎。

有一种错误的认识,认为C语言就是DoS下的编程,这种错误认识直接导致学生学习C语言的兴趣远不及其他面向对象的程序设计语言,如VisualFoxpro、VisualBasic等。针对这种情况,可以在正式授课之前,通过向学生展示历届学生的优秀作品,来展示C语言的数据处理、图形和动画等功能,使学生对C语言有一个正确的认识,明确学习目标。

2精选实例,激发学生的学习兴趣

2.1选取的实例应是科学性与趣味性的高度统一

选取的实例,应既能涵盖知识点又具有趣味性。例如,在讲授算术运算符时,可以设计“计算器”问题;在讲授选择结构时,可以设计“判定闰年”问题、“学生成绩管理系统的菜单界面设计”问题;在讲授循环结构时,可以设计“水仙花数”、“完全数”、“素数”等数学数据问题,也可以引入中国古代数学家张丘建在他的《算经》中提出的著名的“百钱买百鸡”问题和“验证歌德巴赫猜想”问题(100以内任何一个大于6的偶数都可以表示成两个素数之和);在讲授数组时,可以设计“杨辉三角形”、“歌手大奖赛”问题;在讲授循环链表时,可以引入“约瑟夫问题”等。这些具有趣味性的实例,可以有效激发学生的学习兴趣,提高教学效果。

2.2不同技能培养阶段,应循序渐近地选取难易适中的实例

学生们经常会对看起来稍微有些复杂的程序望而却步,往往不是因为难度太大,而是感觉离成功的距离还很远。如果选取过于复杂的实例,反而会导致学生的自信心受到打击,降低学习兴趣。例如,在讲授数组时,可以设计“歌手大奖赛”问题:10个评委为选手打分,为了遵循公平公正的比赛原则,记分方式为去掉一个最高分和一个最低分,中间8个评分的平均值为该选手的最后得分。教学时,可以引导学生循序渐近地将该实例分为以下几个阶段来完成:①输入10个评委的评分;②查找最高分和最低分;③最高分与最低分不计入总分,计算其余8个评分的平均分(该阶段实现时,需引导学生注意有多个最高分或最低分的情况)。这样,把大目标分解成若干个小目标,分阶段去实现,让学生品尝阶段性成功的喜悦,增强学生攀登知识高峰的信心和勇气。

3加强实践环节,突出动手能力的培养

3.1分组实验,促进各个层次学生的全面提高

课程进行一段时间后,教师已经对学生有了一定的了解,此时可根据学生的知识掌握情况和编程能力,将学生进行搭配分组。在平时的实践课上进行需独立完成的小规模程序时,可以通过互相讨论有效促进各个层次学生的全面提高。在课程末期进行较大规模程序的课程设计时,以小组为单位,自行分工,合作完成。这个综合实践作业不仅可以培养学生使用所学知识解决实际问题的能力,而且可以培养学生的创新意识、团队合作精神和集体观念。

3.2将实践环节记入期末成绩,进行课程考核方式的改革

传统的考试多以C语言复杂多变的语法为难点,测试学生对基本概念等理论知识的掌握程度。在题型上普遍采用选择、判断、填空、简答等形式,涉及编程的部分所占比例比较小。这种考核方式使不少学生为应付考试而死记硬背概念,完全偏离了理论与实践相结合的教学准则。因此,结合学生在平时实践课和学期末的课程设计两方面的编程情况作为平时成绩,与期末考试卷面成绩按一定比例折算,作为学生的期末综合成绩较为妥当。一方面,更有利于全面衡量学生的学习情况,另一方面,也可以提高学生对实践课的重视程度,有利于开展教学工作,全面提高教学质量。

4充分利用多媒体教学手段,提高教学效率

传统的黑板加粉笔的教学手段,往往由于板书、绘图等占用很大比例的课堂时间,学生课堂消化知识的时间较少,课外作业负担重。而在讲授上机步骤和程序调试方法等内容时,传统教学方式也暴露出了明显的弊端。

提高教学效率是多媒体教学手段的显著优势。将多媒体教学手段与传统教学手段有机结合,不仅可以增加学生的课堂讨论与练习时间,而且可以使抽象的知识具体化、形象化,图文并茂地将枯燥的程序设计知识变得形象生动,更有助于学生对知识的理解。例如,在讲授选择结构和循环结构的流程、函数的递归调用和嵌套调用时,利用生动的画面演示执行的过程,可以达到事半功倍的教学效果。

5结束语

只要在课程初期对学生加以正确的引导,在教学过程中注重培养学习兴趣,加强实践环节的培养,进行教学手段和课程考核方式的改革,就一定能够充分调动学生的学习积极性,使学生真正能够通过所学知识解决实际生活中的问题,开创C语言程序设计教学的新局面。参考文献:

[1]董汉丽.C语言程序设计(第五版)[m].大连:大连理工大学出版社,2009.

[2]董志民,崔建平,肖利娜.《C语言程序设计》教学改革探索与实践[J].福建电脑,2007(5).

(责任编辑:周晓辉)ResearchonimprovetheCprogrammingeducationeffect