您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > “C语言程序设计”课程教学改革的研究与实践
“C语言程序设计”课程教学改革的研究与实践摘要:本文结合学生的学习心理和认知规律,分析了C语言教学问题的主客观原因,提出了“先过程,后对象”的教学理念,从教材建设、教学内容安排上阐述了教学内容的具体组织实施过程,从教学思路、教学观念、教学手段几方面探讨了教学方法的改革。关键词本文来自:计算机毕业网:C语言;教学方案;教学组织;教学改革C语言程序设计是一门难学、难懂、难以应用的课程,对学生越来越缺乏吸引力。传统的C语言教材大都存在着内容陈旧、缺乏现代编程思想、过于偏重语法、难度高等缺点,难以提起学习兴趣,学生有畏难情绪。传统的教学观念,强调先打好基础,然后再进行实践、学习技能。教学实践证明,基础和技能的教学可以同步进行,甚至先教技能再教理论,在不断实践中掌握技能,在技能学习中提高基础理论。这样更适合学生的成长。为此,我们以社会对学生编程和软件开发能力的需求为依据,参照人才培养模式和专业课程体系改革,对C语言课程教学进行了探索实践。1教学方法的改革在C语言程序设计教学中,我们不再局限于单纯介绍C语言基本语法,而是本着面向未来的精神,把C语言作为一种实践工具,以程序设计方法为主线,以语法和结构为核心,以能力培养和提高学习兴趣为目标,注重理论与实践的结合、先进性与基础性的统一,变应试为应用。1.1先过程、后对象的教学方法考虑到绝大部分学生今后不会去搞程序开发,所以思维能力的培养是首要的。从这一角度来说,先过程、后对象的方法更符合学生的认知规律。而过程化的程序设计方法和解决问题的思路更切合学生已有的认知结构,甚至可以说就是我们日常分析问题、解决问题思路和步骤的一种计算机的代码化,更易于被学生接受。1.2采用一体化教学方法,以程序案例为主教学,通过案例讲解语法要点和难点“案例驱动”教学法应用在C语言程序设计教学中,就是讲解语法时不停留在理论讨论上,不是教会这一语法现象是什么,而是通过实例教会学生某一语法现象如何应用。比如,算术运算符中的求余运算和整除运算是比较有特色和应用较多的运算,在讲解这两个运算符的时候,就不能只停留在写两个表达式让学生计算出结果来,而应该结合实例让学生知道这样的语法特色用在什么地方,怎么用。如通过求1到5的倒数和这样一个小例子使学生认识整除运算的特点及在今后级数求和运算中如何避免可能引起的误差;通过一个求两位整数的逆序数的小程序,学生就会明白整除运算和求余运算可以用来将一个整数的各个位数分解出来,待后续循环结构介绍完毕时,又可将问题扩展到求任意位数整数的逆序数;当介绍到函数的概念时,又可将问题引申到回文数的判别,这样将一个对学生来说很难的算法问题分散到各个部分来处理,不仅降低了算法讲解的难度,也使学生能真切地体会到学习语法知识的必要性。教学始终贯穿一个核心实例——学生成绩管理系统的开发。选择这样一个系统的原因是学生比较熟悉有关成绩的业务和功能,同时开发学生成绩管理系统将涉及到C语言程序设计课程的全部知识点。1.3教学模式特色集课堂、实验、网络教学于一体,教、学、研有机结合、相互促进,形成了“课内教学+课外俱乐部”、“常规教学+实验教学+网络教学”、“开放实验室+自编教材+教学网站+教辅系统”、“课上现场编程互动+课后作业练习+课下实验练兵+机上考试实战+课外创新实践提高”的立体化教学模式。2教学的组织实施C语言课程的教学目标突出培养学生的编程能力,为实现这一目标,在教学内容上抛弃了过多的语法细节和非通用的或实际用途很少的语言特性,注意强调基础性、实用性、先进性和系统性,兼顾教学和自学两方面的适用性。精简过程化部分的内容、降低其难度、衔接面向对象的方法是关键。主要特点如下:(1)以结构化程序设计为重点,面向对象的概念和编程思想为扩展,MFC编程基础为补充,体现了先进性和系统性的统一。(2)淡化语法,对语法难点通过实例具体而分散地介绍,舍弃不实用和过于复杂的内容,如位运算、共用体、多继承等概念,体现了基础性和实用性的统一。(3)在内容上降低难度,淡化了过于繁杂的指针概念,简化了字符串的处理方法,体现了基础性和先进性的统一。(4)将面向对象的一些概念有机地渗透到过程化的内容中,如引用、函数重载、默认参数,这样避免了在面向对象部分集中介绍过多的概念而使学生产生畏难心理。(5)强调算法的分析训练,有利于在学时紧张的情况下学生通过自学提高分析问题、解决问题的能力。3教学内容安排结构化的程序设计是本课程教学的基础和重点。结构化程序设计强调按照一定的结构形式来设计和编写程序,不仅可以让学生养成良好的程序设计习惯,而且可以有效地培养学生思维的条理性和逻辑性,这正是程序设计课程的主要教学目的所在。面向对象的程序设计也是以结构化为基础,这充分表明了结构化程序设计的基础地位。这部分内容在讲解上强调算法分析、淡化语法细节,语法内容是程序实现的手段和工具,而不是学习程序设计的目标。通过类和对象的介绍使学生了解面向对象方法的实质是强制通过函数来对数据进行操作,从而保证数据操作的安全性,这就是数据隐藏和封装的思想;通过介绍派生类的继承关系,使学生深刻认识面向对象方法对代码重用的支持;而介绍多态性的关键在于让学生了解基于虚函数的多态性的实质是允许将派生类的对象当作基类的对象使用,因而不必为每一个派生类编写功能调用,从而实现接口的复用。这部分内容强调从实用出发,着重介绍基本的、主要的概念。而对从纯理论研究着眼的一些概念,如继承关系中的私有继承以及多继承中的诸多概念等,对于初学者来说过于复杂,要么不做展开讨论,要么就干脆舍弃。从结构化程序设计到面向对象的方法过渡时,要解决学生思维方式的转换和衔接的问题。由于思维惯性,学生会将面向对象方法和结构化方法的比较贯穿于所设计的程序中。授课时要从学生的认识规律出发,不必急于空泛地强调面向对象方法的好处,要让学生清楚面向对象的程序设计和结构化程序设计一样,只是一种程序设计方法,它是为解决程序复杂性而产生的。就解决简单问题而言,并非一定要采取面向对象的方法,也并非面向对象方法一定比结构化方法更好。结构化程序设计是从一个个具体的局部入手,描述问题的解决过程;而面向对象的方法是从全局的角度抽象出问题所涉及对象的整体框架,再来描述各层次、各部分的内在联系。方法虽然因着眼点不同而不同,但面向对象的方法仍然是以结构化程序设计方法作为其代码基础的。这样学生既了解了它们之间的区别,又认识到了其间的联系。4考核体系课程考核评价方面,建立了全新的考核评价体系,注重过程考核、编程实践能力考核,改革后的课程评价考核体系主要体现了考核形式多样化、考核标准合理化以及考核试卷个性化三大特征。5实验教学C语言特别适合编写系统软件,执行速度快,代码质量高,在进行系统控制、调节、测量、硬件驱动等方面具有独特优势,这些优势必须要通过实训室中软硬件结合的程序设计方可体现。按照“少而精”的原则,压缩并精选实验项目与内容,提高教学效率,从而使实验教学与理论教学的结合更加紧密。开放实验室,让学生可自主选择实验时间、自主选择实验内容,为学生提供勇于探索、敢于创新的外部环境。建设了与课程相配套的具有我院特色的实验环节:课程设计、项目分析设计、科研开发等。考试方式:上机实验和考试结合,增加机试,借助编程题自动评分系统考核学生实际编程能力;开发编程题自动评分系统,向无纸考试过渡;开发题库系统,为机考提供支持;开发在线教学网站,拓展教学空间。课内实验教学兼趣味性和实用性于一体,课余通过指导学生参加科技创新活动、各种程序设计大赛、学生俱乐部的各类小型软件开发项目,达到巩固知识、锻炼能力、提高素质的目的。6结束语通过几年来的实践,我们加强教学的内容选取、组织形式、实例贯穿、上机实践、课时安排、教学环境与利用、教学评价与考核等多个环节的改革,取得了相当不错的教学效果。参考文献:本文出自:计算机毕业网[1]龚沛曾等.案例教学法在VisualBasic程序设计课程中的应用[J].计算机教育,2004,(5):62-63.[2](美)HM.DeitelP.J.Deitel著.C++编程金典第三版[M].北京:清华大学出版社,2005.[3]张春兴.教育心理学[M].杭州;浙江教育出版社,2006.[4]龚沛曾,杨志强主编.C/C++程序设计教程[M].北京:高等教育出版社,2004.[5]刘鹏,安玉洁.微格教学的多元化架构[J].电化教育研究,2007,(9).[6]牟连佳,梁皎,李丕显等.高校非计算机专业计算机基础教学改革的研究与实践[J].高教论坛,2006,(2):94-98.[7]李茹.计算机基础教学与考试的研究与探索[J].教育理论与实践,2007,24(9):54-56,/pp/pp/p摘要:为激发学生学习C语言程序设计课程的兴趣,使学生在学习上有主动性,本文以讲授循环控制这一章为例对趣味实例教学方法进行了探讨,给出几个围绕所学知识点设计的例子。关键词:C语言;循环控制;趣味实例1引言“C语言程序设计”作为一门实用的编程语言,功能强大,编程风格自由灵活。在近几年的教学中发现,学生普遍认为这门课难度大,不容易学。如何通过教学方法的改变,让学生在学习上有主动性,激发学生学习该课程的兴趣,是讲授这门课程的教师应该考虑的问题。从目前大多数高校的教学情况看,现在一般多已采用多媒体教学。这种教学方式比起以前在黑板上讲授是有了一定的进步,但在目前的课堂教学中,还是以教师讲授为主,没有充分发挥学生学习的主动性,启发式教学没有得到充分运用。2采用趣味实例教学在“C语言程序设计”课程讲授过程中,要特别注意培养学生的学习兴趣。初接触计算机时,很多学生感到新奇、好玩,这不能说是兴趣,只是一种好奇。随着课程的不断深入,大量的语法规则很容易使一部分甚至是大部分学生产生枯燥无味的感觉。为了把学生的好奇转化为学习兴趣,采用趣味程序的例子激发学生的积极性,从而在实例中掌握C语言的语法和程序设计方法。这种方法的优点是可以根据教学内容,选择合适的例子,使学生掌握所学内容,趣味程序例子的选择至关重要。在每个实例的基础上,对学生多提问,并进行扩展,以复习前面学过的知识,也可以巩固当前学习的内容。通过启发式教学,让学生做更多的练习,加深对语法和程序设计方法的理解,掌握课程的精髓。为了实现课程的教学目标,培养学生的问题求解、编程和探索创新能力,在教学中必须强调实践训练,使学生在大量的练习中掌握知识,培养能力。下面介绍在讲授循环控制这一章中采用趣味实例教学的实践。3实例分析在循环控制这章中主要介绍while语句、do-while语句和for语句这三种循环语句。3.1while语句在介绍用while语句实现循环的一般形式和执行流程后,让学生思考用while语句编写程序实现猜数字游戏。先给出程序的运行结果,如图1所示。只要输入的数字和给定的数字不相同,就再重新输入,这种操作可通过while语句来实现。循环程序不停地读、检查和处理数据,直到遇到事前指定的表示结束的值,循环才终止。在判断不相等的同时,提示用户输入数字与给定值是偏大还是偏小,这个功能可运用条件运算符来实现。这样也对C语言中唯一的一个三目运算符有更深的认识。在此基础上,可让学生思考再增加程序的一些功能,如统计猜数字的次数、密码验证等,使程序更充实。具体程序如下:voidmain(){inta,k=9;printf(------猜数字游戏------\n);printf(请输入0到10之间任意一个整数:\n);scanf(%d,&a);while(a!=k){(ak)?printf(高了\n):printf(低了\n);printf(再试一次!\n);scanf(%d,&a);}printf(恭喜你,猜对了!\n);}3.2do-while语句do-while语句的执行流程是先执行循环体语句一次,再判别表达式的值,若为真则继续循环,否则终止循环。do-while语句与while语句不同的地方在于do-while是先执行循环体,后判断表达式的“直到型”循环,而while语句是先判断表达式后执行循环体的“当型”循环。因此,do-w
本文标题:“C语言程序设计”课程教学改革的研究与实践
链接地址:https://www.777doc.com/doc-5318806 .html