前言:中文期刊网精心挑选了c语言程序设计论文范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
c语言程序设计论文范文1
关键词:计算机教学;汇编语言;实验;改革创新
中图分类号:G642 文献标识码:B
文章编号:1672-5913(2007)18-0129-03
1 “汇编语言程序设计”课程存在的必要性
高职教育的目标在于培养具有组织、管理高新技术的生产,能够操作、调试和维护高新技术设备,解决生产过程中遇到的各种实际问题的高素质技能型人才,与普通本科教育有着本质的区别。眼下许多高职院校的计算机专业已经进行了各种教学改革。这些方法和措施所强调的大都是:以提高学生实践能力为主,理论够用就行,应用型不强的科目该砍就砍。所以,在许多高职院校的教学改革中,“汇编语言程序设计”被大刀阔斧地砍掉了,或者合并到“微机原理”、“计算机组成”等其他课程中。但是,尽管与发展初期相比,计算机开发和应用技术已经有了根本性的变化,我们有了各种高级语言、有了网络应用开发的许多编程工具,很多程序甚至可以自动生成,那么汇编语言是不是就真的应该退出历史舞台呢?笔者不这样认为。
汇编语言是计算机专业及相关学科一门重要的基础课程,是培养学生直接使用计算机硬件资源能力的一门课程。它不仅能帮助学生进一步理解计算机组成原理课程中的各种概念,而且还为其它课程如:操作系统、接口与通信技术和计算机控制技术等课程提供必要的预备知识。该课程在计算机学科课程设置中起着承上启下的作用。不能了解和熟悉汇编语言知识不仅将导致学生知识结构的不完整,也可能导致学生认知水平降低、开发手段贫乏。在一些应用中,汇编语言甚至是开发工具的唯一选择。
当前嵌入式系统软件的开发非常热门,其发展前景很广阔,嵌入式系统较常用的操作系统Windows CE与Windows同样是基于Win32 API的,Win32汇编语言的学习有利于开展后续课程“嵌人式系统”,为嵌人式系统的软硬件开发打下了坚实的基础。
总之,无论对于计算软件还是硬件工作者来说,汇编语言都是十分重要的基本工具。因此,高职教育中计算机及其相关专业开设“汇编语言程序设计”课程是非常必要的。
2课程改革势在必行
目前许多高职院校尤其是计算机专业的教学模式,大多是本科计算机专业的“压缩版”,在制定教学计划和大纲时,以名校相应专业的教学大纲作为自己的大纲,以名校选用的教材作为自己开展教学的教材,就如“汇编语言程序设计”这门课的教材,很多学校仍然采用清华大学出版社出版的《IBM-PC汇编语言程序设计》。这种教学模式尽管有其先进和优秀之处,但并不适合高职教育。而另一方面,汇编语言本身固有的复杂性,使学生理解起来比较困难。这体现在以下几个方面:
1) 由于汇编语言与硬件联系紧密,学生一般是在还没有学习过相关硬件课程的情况下就开始学习汇编语言的,因此初学时不易理解,容易造成厌学情绪。
2) 汇编语言的内容丰富,需要记忆的内容很多,学生在学习一段时间后容易遗忘,从而造成跟不上课程的进度而放弃的现象。
3) 由于学习高级语言后产生的思维模式,使得学生在编制汇编语言程序时易出现一些语法或逻辑上的错误。
4) 在学习汇编语言的过程中,由于课程的特点,学生不能够及时上机实现,造成学生感到课程抽象,很难理解,甚至觉得所学的知识无用,从而产生厌学情绪。
以上归纳的几点,是我们在教学实践中经常遇到的现象,要解决这些问题除了要改革教学方法以外,还要从学科特点和学生的实际出发,改革课程设置,完善课程的前后衔接,合理安排课程开设的次序等。因此,如何改革汇编语言课程以提高其教学效果和教学质量,使它跟上计算机技术的发展,是我们当前亟待解决的问题,而不是简单地取消这门课。
为了使学生系统而全面地掌握汇编语言的编程方法,把握本课程的重点,消化难点,我们用实验的方法对“汇编语言程序设计”这门课程的教学方法进行了改革,取得了一定的成绩。
3行之有效的改革尝试
在认清汇编语言的重要作用和明确其教学改革的紧迫性后,我们制定了改进的教学大纲,并据此编写了相应的实验教材讲义,开始了“升级”汇编语言教学的改革尝试。
3.1教学手段的改革
“汇编语言程序设计”课程一向都有上机实验的教学要求,但教学主体是课堂教学,无论是实验设计还是实验强度都带有强烈的“验证性”色彩。而高职院校的培养对象区别于普通高等学校学生的鲜明特点是:思想活跃、智商与情商皆高、活动能力强,但普遍存在的问题主要是学习自觉性不高、单纯凭兴趣学习的观点重、刻苦精神差等。因此,如果上课基本不听,则验证性实验的基础就不存在,实际教学效果也可想而知。所以对于这样的学生群体单凭课堂教学和一般作业,要真正领会汇编语言程序设计课程所介绍的概念、原理、方法和技巧等,是很困难的。经验表明,学习并真正体会和掌握汇编语言程序设计的最好方式是对它进行充分的实践。把实验作为学习汇编语言程序设计的主导方法,为学生提供了一个掌握汇编语言程序设计全新的学习方法,可以由此来体验汇编语言程序设计的知识及其应用技巧。当然,通过实验,也一定能够很好地提高学生汇编语言程序设计能力。
区别于传统实验,我们的理想是,用实验、实践的方法来改革理论教学方法。所以我们把课堂搬到了实验室,所有的课程都在实验室完成,让学生在实践中激发对相关理论的兴趣,再用提高了的理论水平来指导新的实验和实践活动。而我们在教学中采用“先做后说”的方法,把根据学科理论知识精心设计的实验实践环节与学科理论教学相融合,解决学生的认知困难,取得了很好的教学效果。
3.2教学内容的改革
我们在取舍教学内容时,体现了“浅、广、新”的特点。其中,“浅”体现在重点介绍基本概念、原理和方法,而没有过多地详述深入和细节内容;“广”体现在比较全面地介绍了指令系统和汇编语言所涉及的内容,形成比较完整的知识体系;而“新”更是我们教学改革的重点,介绍了简化段定义程序格式、32位指令及编程、混合编程等。根据当前国内教学实际,我们仍然以16位8086CPU指令系统和基本汇编语言知识和程序结构作为基本的、重点的内容;而将新增内容作为独立章节引出。采用微软的最新版本汇编程序MASM 6.11,但主体内容仍然适合MASM 5.0版本。教学内容中,舍弃了一些过时的应用技术,而引入了一些实用的汇编语言程序设计方法,例如开发大型程序需要的模块化方法、与C/C++语言的混合编程技术(尤其是汇编语言与Visual C++ 5.0/6.0的混合编程,非常受学生的欢迎)、新增的高级语言特性伪指令等。
新编的实验教材包括7个方面共20个实验。全部实验结合目前广泛使用的PC机Intel 80x86 CPU来开展教学,目的是通过一系列使用80x86和Windows环境下32位汇编语言的实验练习,把汇编语言程序设计的概念和理论知识融入到实践当中,从而加深对汇编语言程序设计的认识和理解。实验练习几乎覆盖了汇编语言程序设计教学的各个方面,内容涉及汇编语言编程基础、构建汇编语言编程环境、汇编语言程序设计、输入输出与中断、Win32汇编语言程序设计及汇编语言与C/C++的混合编程等。
3.3考核方法的改革
为了保证教学效果,必须进行考核。传统的汇编语言教学的考核方法多为笔试,再参考平时上机的表现,这种考核方法不能体现学生的真实水平。改革后的考核手段多样化,由平时作业、实验、论文、课程设计、阶段性练习和期中、期末考试等多种环节组成,新编的实验教材每个实验后面都有学生自测和教师评价栏目,并且得到了切实认真地执行,这样极大地改变了读书为了考试,只有考试前才读书,甚至连考试前都不读书的状况。
4实验教学中应重视教材建设
教育的一个重要原则是“因材施教”,高职教育对人才的培养,应该体现到教材建设上。教材建设不仅要做好减法――适当地降低理论要求,也要做好加法――增加探究性实验并在实践环节中有突破性的创新。要根据学生求知欲望强的特点重视扩大学生的知识面,要利用学生动手能力强的特点来提高学生的实践能力、创新能力和就业竞争能力,努力形成一个“什么都学过什么都会点”的积极局面。
教学内容要有可操作性、趣味性和适当难度。可操作性保证学生都能完成作业、实验、设计而促进学生学习信心的建立,在一定程度上减少学生抄袭的理由,克服作业、实验、论文普遍抄袭的弊病;趣味性体现“寓教于乐”以提高学生完成作业、实验、论文的积极性;适当难度有助于激发优秀学生进一步钻研的斗志。
实践证明,“汇编语言程序设计”课程的实验教学改革,取得了明显的效果,也受到了学生的普遍欢迎,通过教学改革,学生提高了学习兴趣,由被动学习变为主动学习,为后续课程的学习打下了坚实的基础。
笔者在“汇编语言程序设计”课程实验教学中所做的改革尝试,目的是为了“抛砖引玉”,试图引起更多的老师产生共鸣而繁荣计算机实验教学。
参考文献
[1] 周苏,金海溶. 汇编语言程序设计实验教程[M]. 北京:科学出版社.
[2] 李立冬,朱晓鸥. 微机原理与汇编语言基础[M]. 北京:高等教育出版社.
c语言程序设计论文范文2
(电子科技大学成都学院,四川 成都 611731)
0 引言
《C语言程序设计》是通信、电子信息、电气等专业的基础课程,对于非计算机专业的学生而言,本课程的教学目标是培养学生掌握程序设计的方法、具备程序测试、调试能力,为后续的《单片机》等课程的学习打下坚实的基础,培养学生运用计算机解决专业领域实际问题的能力。以往《C语言程序设计》课程是课堂理论教学,疏忽了对学生应用能力和工程能力的培养,主要侧重于讲述基本概念和语法。《C语言程序设计》课程教学改革以CDIO工程教育理念为指导,对独立院校非计算机专业学生的课程教育提出了新的要求和挑战,把《C语言程序设计》课程重点放到培养学生应用能力上。
1 CDIO工程教育模式
CDIO工程教育理念中C代表构思(Conceive)、D代表设计(Design)、I代表执行(Implement)、O代表运作(Operate)。CDIO表述一种工程教育模式,从产品研发到产品运行的过程中,让学生把理论知识和实践动手两者有效衔接在一起。其中构思,以工程实践为目的,首先让学生掌握基础专业知识,用以确定以后的发展方向;设计,以解决某一具体的问题为目的,通过产品设计、规划、研发,然后得以实现;执行,该环节实施一体化的课程实践教学,主要考验学生应用掌握的理论知识来进行实践操作;运作,学生必须了解产品应用的各个环节,同时能为市场提供服务[1-3]。CDIO工程教育理念,注重培养学生基础知识学习能力、个人能力、团队协作能力、工程系统能力。
2 电子工程系《C语言程序设计》往届教学情况
我系电子信息、电气、机械专业,《C语言程序设计》在大一上学期开展,集中在教室进行理论教育。我院为培养学生良好的学习习惯,对于大一新生不允许带电脑到学校,杜绝沉迷游戏荒废基础课学习的情况。但是,造成学生无法在课后练习C语言编码,区分各种语法的差别,验证代码正确性,C语言学习效果不理想。进入大二学习《单片机》课程时,由于先修课程基础不牢固,用C语言进行编程困难。先修课程没有为后续课程起到很好的辅助作用。通过对往届学生的调查,学生反映了《C语言程序设计》教学的问题。教学过程中过于注重语法细节,强调语法知识,为配合知识点的讲解,引入的案例都是以辅助讲解语法规则为目的,学生学习起来既觉得抽象又觉得无法引起兴趣。学生觉得难以接受,学习缺乏动力,导致课堂气氛沉闷,学生缺少学习兴趣,造成学习效果不理想,更不可能真正理解程序设计的精华所在。《C语言程序设计》课程沿用传统的教学模式,易疏忽于对学生程序设计能力、程序代码编写能力以及团队共同合作能力的培养。如果不注重积累工程经验,学生不具备工程能力与动手能力,造成所学与实际所需相脱节。《C语言程序设计》改革当务之急是如何借鉴先进的教育理念和方法,改变师生之间角色,让学生成为课堂的主角,教师成为课堂的观众,从而激发学生主动学习积极性。
3 基于CDIO的《C语言程序设计》课程教学改革
3.1 调整课程设置,注重培养学生动手能力
根据CDIO工程教学理念,以培养学生动手能力、团队协作能力、工程能力为目的。在大一上学期和下学期分别开设C语言程序设计和C程序实训课程。《C语言程序设计》课程教学中注重“抓大放小”。“放小”,不拘泥于语法要素的细枝末节,避免学生在学习时容易产生厌学;“抓大”,侧重循环、数组、指针、自定义函数等知识点的讲解,让学生掌握并熟练应用这些知识点。对于非计算机专业学生,在算法上不做过高要求,只要求会灵活应用现成算法解决问题。因此在教学过程中注重基础知识的讲授,通过引入具有代表性的案例,让学生仿照这些案例的思想来解决类似的问题,让学生从学习过程中获得成就感,激发学生的学习兴趣。后续的C程序实训课程,通过单项目实训和综合项目实训的方式,加强学生动手编制较大规模程序的能力。培养学生团队合作意识,训练学生工程动手能力,积累工程经验和编程经验,奠定坚实的基础,无论是后续的专业课程学习还是将来的工作,学生都将显现较好的分析问题和解决问题的能力。
3.2 结合多种教学方法,提高教学质量
3.2.1 “做中学”
“做中学”是CDIO的核心思想之一,该思想的主要目的是激发大家的学习兴趣。为较好获得“做中学”的效果,把学生学习地点从教室转换到实验室机房,让学生边学习边实践。在《C语言程序设计》教学中使用课堂案例和实验案例,二者功能不同。课堂案例主要用于教师课堂讲授,让学生模仿编程进行验证;实验案例主要用于小项目编程调试。实验案例是让学生独立编写程序、调试程序,并叙述编程思路。程序设计的结果有助于增强学生的成就感,激发学生程序设计的热情。
3.2.2 开展项目教学,培养学生团队协作能力
CDIO另一个核心思想是“基于项目的教学”。“项目教学法”,主要通过实现一个完整的项目,让学生明白,项目任务如何分配,如何协作完成,明白个人力量和团队的力量。这一教学活动目的是把理论知识学习与实践动手教学有效结合在一起,最大程度挖掘学生的创造能力,让具备学生分析并解决实际问题的能力。在C语言程序设计和C程序综合实训课程的教学过程中实施“项目教学”的理念,我们把项目教学分为小项目教学和综合项目教学。在C语言程序设计教学中实施小项目教学。所谓小项目教学就是教师把一个具体的管理系统拆分为几个模块,让学生针对这些模块展开讨论和设计,然后整合这些功能模块,最后老师按照完成情况给予学生。通过小项目将教学,让学生懂得如何编写和调试程序。在C程序综合设计教学中实施综合项目教学。在综合项目教学中,老师提供若干个项目题目以供小组选择。学生由2-3人组成一个项目小组,各自明确分工,小组完成程序设计、代码编写、代码调试、归纳形成小论文和制作PPT参加答辩,最后由老师根据各个环节完成情况给出成绩。通过小项目教学和综合项目教学,不仅培养了学生动手实践调试能力,而且逐步培养学生项目设计与实现能力,项目结题时的表述、演示能力。希望通过这种学习方式,使学生有更多的主动学习的机会。
3.2.3 借助网络学堂,培养自主学习
利用学院网络学堂平台,教学案例,便于学生在课堂验证程序,掌握语法知识;同时,每节课学生往网络学堂上传课堂练习程序,便于老师督促学生在课堂认真学习。由于课堂时间有限,另外在网络学堂布置实验案例,让学生在课后完成,并提交到网络学堂便于老师检查。把学生编写得较好的程序,公布在网络学堂,不仅是对学习较好同学的肯定,更是对其他同学的激励,激发他们学习《C语言程序设计》的信心和决心。借助网络学堂的讨论区,老师和学生、学生和学生可以在网上开展问题讨论,学习不再局限于有限的课堂时间。
4 结束语
CDIO教育模式是理论联系实际,激发学生创造能力,培养学生用发散型思维来思考问题并且解决问题,是一种卓有成效的教学方法。我们在《C语言程序设计》理论教学和程序综合实训中引入CDIO教学思想,通过案例和项目教学,让学生在“做中学,学中做”;通过项目教学,整个教学充满挑战,进一步提强学生的学习主动性,培养学生解决实际问题的能力,具有了一定程度的项目开发、调试能力。
参考文献
[1]刘新增.CDIO——颠覆性的工程教育模式改革[J].中国远程教育,2008(14):64-67.
[2]刘荣佩,史庆南,陈扬建.CDIO工程教育模式[J].中国冶金教育,2011(5):9-11.
c语言程序设计论文范文3
参考文献:
[1]宁德琼.VB下学生选课系统的设计方法[J].曲靖师范学院学报,2005(11).
[2]邢国春.基于vb下的ADO控件对学生选课系统设计[J].师范学院学报,2004(3).
[3]李媛媛,傅申,李良彬.校园网上选课系统[J].计算机系统应用,2013,22.
[4]张燕,兰彬.浅谈数据库管理信息系统的结构设计[J].北京农学院学报,2007(6).
[5]康开锋.高职院校在线选课系统的设计与实现[D].重庆大学硕士学位论文,2012.
参考文献:
[1]唐小燕,吴斌,鲁大林.传统教学与案例教学在《VB程序设计》教学中的实施效果分析[J],教育信息化,2006年19期
[2]王四化,林蟒,邱伯文,成明.基于VB和Surfer不连续区域气象资料自动成图的实现[A],第27届中国气象学会年会城市气象,让生活更美好分会场论文集[C],2010年
[3]苟秉宸,余隋怀,王聪,初建杰.设计专业创新教学模式的优化与实践——基于TeamWorking的专业外语教学方法[A],2005年工业设计国际会议论文集[C],2005年
[4]罗妤.计算机软件技术基础实验教学改革探讨[J].职业,2009,20
[5]刘丽.信息化形式高校计算机语言课考试的改革[C].大学计算机基础课程报告论坛论文集,2006,4
[6]刘迎春.高职C程序设计实验改革初探[J].中国现代教育装备,2006,8
[7]彭鑫.VB程序设计课程实验教学的探索与实践[J].桂林师范高等专科学校学报,2009,6
参考文献:
[1]于鹏,李霞.中文版VisualBasic6.0程序设计项目教程[M].北京:清华大学出版社,2010.
[2]张凯,李妙妍,袁静.任务驱动教学法在VB语言程序设计课程教学中的应用初探[C].Proceedingsof2010ThirdInternationalConferenceonEducationTechnologyandTraining(Volume8),2010.
[3]段旭,潘舒,易德成.任务驱动教学法在VB教学中的应用与实践[J].科技信息,2010(30).
[4]苗玥.“任务驱动教学法”在“VisualBasic”课程中的应用[J].电脑知识与技术,2005(36).
c语言程序设计论文范文4
[论文摘要] 本文通过分析新形势下it业界需求和目前教学形式的局限,通过对校企互动、课程设置、教学模式等六个方面的阐述,找出一条符合时展的工学结合的c语言教学改革之路。
以计算机科学为灵魂的信息产业是优化我国产业结构,促进低碳经济,改变我国以劳动密集型产业为主现状的希望之星。产业进步,教育先行,纵观我们数年来在信息产业人才培养上取得的一些成果,不难发现其中存在着教学内容与产业脱节,落后于产业发展的现象。因而在学生就业和企业揽才时就会看到这些现象——学生发现在校所学的东西无法满足企业的需要,而企业在求贤若渴的同时又面临着无法找到合适人才的困境。本文尝试探索将工学结合这一教育模式应用于计算机教学实践中,特别是在c语言的教学改革中来解决上述问题。
在探索工学结合教育理念的过程当中,笔者不断认识到,工学结合不应该仅仅只是一种学生培养模式的改变,还应该体现在学校与企业互动方式、课程设置、教材选择、教学模式选择和学生实习实训等各个方面内容的变化。
1 校企互动
在工学结合的实践中,学校应该走出去,引进来。积极跟企业接触,尽量早的把企业进入到人才培养和教育的过程中。对于有意向的企业,可以实行定向招生、培养计划,在招生期间学校和企业就可以联合面试和招生,在学生第一、二年在校期间,学校和企业可以共同就教材选择和师资力量上合作。比如学校教师+企业导师的“双师制”教学,学校教师和企业资深工程师结合产业需要共同编写教材,以及学校教师教学和企业工程师定期或远程的答疑等,探索学校和企业共同培养、工学结合的新路子。
2 课程设置
c语言在计算机科学中有着非常重要的地位,它不仅是其它众多现代编程语言的基础,也是业界应用最多、最为广泛的语言之一。但是在笔者看来,目前各高校在c语言程序设计课程的内容设置上存在不合理的现象。首先,c语言程序设计不应该仅作为一门单独的课程来开设,而是应该变成系列课程。产业界在做产品和做项目时,编程语言的运用只是作为一个最基本的因素存在而已,可以说同时拥有编程语言知识、平台开发知识和产品领域知识的开发者才是一个企业真正的人才。产品相关领域知识的学习在实际开发过程中会由产品经理来解决,而且不同的产品需要不同的领域相关知识,这个是学校教育基本无法解决的问题。但是反观我们目前的课程设置,其实只是解决了编程语言知识这一问题。举例来说,学生要想在windows操作系统下开发程序,除了c语言知识外还要学习windows的众多api、gui知识等平台开发知识,我们在这一块的课程设置上存在着诸多空白。
针对这一现状,笔者觉得我们目前的c语言教学中非常有必要把c语言程序设置成一个系列课程,就是所谓的“大c语言课程”。整体上可以按语言相关知识和平台相关知识这两块来划分,然后结合目前企业和行业发展来设置课程。对于需要windows平台开发人才的企业,我们的课程设置在语言相关类课程上可以开设“c语言程序设计”和“c++程序设计”等课程,在平台相关类课程上可以开设“windows程序设计”、“mfc/wtl程序设计”和“directx程序设计”等课程。对于需要linux/mac平台开发人才的企业,可以增设“unix程序设计”、“gtk/gnome程序设计”、“opengl程序设计”和“iphone程序设计”等课程。
在企业分工日益精细的今天,绝大多数企业需要的是专才,而非通才。如桌面客户端开发和在线客户端的开发完全是两个不同的部门,也有着完全不同的人员配置。而我们当前的课程设置中,一个专业中既有《c语言程序设计》这类桌面程序开发技术的课程,又有《asp.net程序设计》这类web开发技术的课程,这就造成了学生培养时间加长和精力分散的问题。在笔者看来,在课程设置上,高校完全可以进一步细分,首先在大方向上可以用桌面应用开发和web应用开发来分专业,然后再从几个大专业上进一步划分。当然,在现实操作上,学校存在着师资力量不足和教师培养的问题,不可能在所有方向上均开设不同专业,但是也可以退一步只开设传统的优势专业,从而在业界中得到认同。对于非专业课程,比如针对web开发专业的学生,《c++程序设计》完全可以作为选修课程,由学生凭兴趣自主选择学习。
3 教学方式
3.1 教材选择
在教材选择方面,学校除了可以考察和借鉴国外同类高校的优秀教材外,还可以跟企业共同探讨选取和使用业界的优秀书籍作为教材使用,既能避免重复的编写工作,又能达到跟上业界最新发展的目的。
目前各高校在教授c语言这门课程的时候多采用谭浩强编写的《c程序设计》或者自己组织编写的教材。笔者则推荐由c语言设计者brian w. kernighan和dennis m. ritchie编写的《the c programming language》(也称《k&r》),中文译名为《c程序设计语言》,由机械工业出版社出版。这本书无论从作者的资历还是内容的权威性上讲都是学习c语言的不二选择。
3.2 环境选择
在实验和上机环境的选择上,目前国内各高校基本上采用的都是windows平台加visual studio的搭配。但是这种环境的缺点是费用过高,如果采购正版,那么对于高校来说仅装配实验室这一台就要投入大量的资金,而不进行采购又会存在版权问题。另外一个非常大的坏处就是把学生限制在里microsoft的产品系列中,一来不利于扩展视野,二来微软的c/c++编译器历来都对c/c++标准的支持存在问题。所以笔者建议高校在准备实验室环境的时候可以大胆引进以linux操作系统为平台的开源软件,使用更好遵循标准的gcc编译器,这样不仅节约了大笔的办学经费,也让学生在跨出校门前可以接触到更多元化的学习环境。如果学校已经采购了windows操作系统的许可证,也可以在windows平台上部署集成了gcc windows版的免费ide环境code::blocks,这样也不失为一种好的解决方案。
3.3 教学模式选择
在教学内容上,要力争突破过去那种教学项目内容枯燥的模式。可以将实用化和趣味化的项目引入到课程教学过程当中,将项目分解成一个个具有实际意义的设计模块,每个设计模块的实现必须解决多个疑点,将c语言教学的内容结合到每个疑点中,每次课内容就是由1至3个疑难点引出的c语言知识,当一个模块中所有的疑难点都解决了,相应设计模块也就实现了。在设计实现的同时可以启发学生进行多角度拓展和优化模块设计的训练,这样能让他们更多的掌握c语言编程的技能、技巧以及经验知识,如程序编写的可读性、可维护性、可拓展性以及工作人员的分工协作等,这些问题在设计实现企业产品的项目中都会遇到,通过这种模式可以实现教学内容职业化。
4 实习实训
在工学结合的实践当中,实习实训无疑是一个非常重要的环节。学校的实习实训方面可以更加灵活,突破以前2+1的模式,不仅仅只在第三年才安排实习,而是每学期的都按照课程进度安排相应的实习实训来检验教学成果,同时适应企业需求。
5 结束语
在高职计算机专业“c语言程序设计”课程的教学过程中,基于工学结合的理念,通过实际项目的制作,能使学生将所学知识转化为实际工作的能力,提高学生的实际工作水平、综合素质和就业竞争能力,为企业提供适用型的人才。
参考文献:
[1]汤旭慧, 宋荣, 唐建东.基于工学结合的高职电子类专c语言教学新模式的探索[j]. 中国职业技术教育,2008.
c语言程序设计论文范文5
关键词:机上考试;实践能力考核;累加式考试;课程考核体系
0 引言
近年来,与教学方法改革同步进行的考试方法改革引起各高校师生的广泛关注。很多学校实行重能力、求创新的累加式考试方法,这使得个别指望教师考前画重点、突击复习的学生没有了用武之地,“一张考卷定成绩”也逐渐淡出高校,成为历史。为什么要结束“一张考卷定成绩”呢?因为其弊端不言自明。有的教师几年甚至十几年出的试卷内容没有变化,学生摸清规律后直接找到以往试卷就轻而易举地考试过关;有的学生平时不认真听课甚至逃课,考前期望教师画重点,然后自己临时突击一下,就能轻松通过考试:还有的学生为了应试,把工夫都用在死记硬背的内容上,以获得高分……诸如此类的现象,显然与能力培养的初衷背道而驰,因此必须彻底废弃“一张考卷定成绩”的做法。
考试方法改革并非孤立,我们在大力推进教学方法改革的同时,必须使得考试方法改革能够与教学方法改革同步进行,因为二者本身就是相辅相成的关系。一方面,不从根本上改革教学方法,考试方法改革就是一句空谈。从根本上改变照本宣科的灌输式教学方法,实行启发式教学方法,才能实现从注重知识目标向注重能力目标的转化,是否达到这一目标需要通过与之相配套的累加式考试方法检验。另一方面,由于在一定程度上考试方法就是学生学习的“指挥棒”,因此实行累加式的考试方法可以促进教师教学方法和学生学习方法的转变,促使教师深入思考“教什么、如何教”的问题,同时引导学生的思想观念和学习方式从“要我学”转变为“我要学”。因此,实行教学方法和考试方法改革,对于提升教学质量和提高学生培养质量具有重要意义。
1 累加式考试方法的核心和目标
推行累加式考试方法的核心和目标是引导学生学会自主学习,通过自主学习激发创新意识,提升创新能力。累加式考试方法的实质并不仅仅是考试形式的变化,而是通过大作业、小论文、口试、笔试等多种考核方式综合考查学生的学习效果,让学生在完成大作业、小论文等的过程中自主学习。因此,推行累加式考试方法切不可舍本逐末,重形式而轻实质。
考试方法改革要求教师在贯彻和实践累加式考试方法的过程中,真正抓住累加式的实质,无论是大作业、小论文,还是结业考试,都应从引导学生自主学习和考查学生能力的目标出发,考试题目必须具有能够让学生自主创新和发散思维的空间,杜绝死记硬背。这就意味着设有“标准答案”的、死记硬背的题目在累加式考试制度下将不再有容身之地,取而代之的是真正有思考和研究价值的题目,重能力、求创新的考试题目不一定都是教师在课堂上教的。总之,学生掌握的知识和具备的能力,都不是教师在短短几十个学时的课堂上教出来的,而是在教师的引导下通过学生自主学习获取的。
2 目前累加式考试中存在的难点和误区
在实行累加式考试方法改革的过程中,经常听到学生说现在完成一个大作业不容易,要查好多资料;也会听到教师说现在给学生出一套考题很不容易,要考虑知识、能力、素质等方方面面的因素,还要尽量避免与历年的试题重复,出题和判卷都要花掉很多时间。不可否认,实行累加式考试显然比“一张考卷定成绩”难得多,它对教师提出了更高的要求。教师和学生都切身体会到“不容易”,而与“不容易”相伴而来的必定是重能力、求创新的累加式考试方法的不断推进与深入,是学生自主学习的主动性和综合实践能力的不断提升与拓展。为了引导学生自主学习,提高综合实践能力,我们必须下决心,深入推进重能力、求创新的累加式考试方法。
“一张考卷定乾坤”的时代早已过去,然而目前名目繁多的累加式考试就一定能真正客观、公正地考核学生的实际能力吗?累加式会不会重新演变为新形势下的“纸上谈兵”呢?其实解决问题的关键并不在于是否采用累加式。对于以实践为主的课程,显然学生的实践能力考核应该成为重中之重,然而考核学生实践能力的难点在于在现有条件下很难做到客观公正,一是因为目前缺少一些实用的机试自动评分软件,二是因为迄今为止我们还无法有效解决学生抄袭问题,反抄袭已成为当今教学中不可回避的问题,并且国外大学也同样存在作业抄袭问题。
2003年11月,美国Naval Postgraduate School的Peter Denning教授在CACM上发表的GreatPrinciples of Computing一文中除了介绍大学第一年计算机课程的构建、多学科的融合以及加强美国中小学学生抽象思维与写作能力的训练等问题外,还特别指出:在美国大学第一门计算机课程(主要指程序设计语言)的学习过程中,有35%-50%的学生中途放弃,另外还有不少学生通过抄袭或作弊的方式完成课程。可见,机试只能解决“知识、能力”教育相结合的问题,如果学生的抄袭行为不能得到有效抑制,那么“知识、能力、素质”教育相结合将无从谈起。因此,如何通过诚信、理想、道德和创新素质教育,提升课程教学的文化内涵,引导学生“学思融合、行知统一”,使学生不仅学会知识,还学会自己动手动脑,尤其是学会做人做事,这才是计算机课程教学真正需要研究和解决的问题。
综上所述,在推进累加式考试方法的过程中,应避免陷入以下两个误区:一是避免机械理解累加式的涵义,重形式轻实质;二是避免千“课”一律,照搬其他课程考试方法。只有避免这些误区,才能在考试方法改革中改出实效,真正将重能力、求创新的考试方法改革落到实处;只有坚定不移地推进累加式考试方法,才能培养出符合国家和社会需要的创新人才。显然,所有课程的考试方法改革不能都是一种模式,采用笔试、口试还是机试,应该根据课程本身的特点和性质决定,不可一概而论。同时,我们也不希望任何教学改革都要以增加教师的负担为代价,如何能在不增加甚至减轻教师工作量的前提下,依然达到“引导学生自主学习、提高综合实践能力”的目的,正是我们需要思索和研究的问题。
3 目前程序设计课程考试中普遍存在的问题
经我们研究分析,在程序设计考试中普遍存在的问题有以下几个方面:(1)对于程序设计课程而言,卷面笔试等于纸上谈兵,无法真正考核学生实践能力尤其是程序调试能力;(2)教师评阅试卷无法避免人情分,缺乏客观公正性,并且成绩统计周期长、效率低、易出错;(3)现有的机上考试系统往往仅测试运行结果,不考查程序的结构和语义,对程序输入输出限制严格,有语法错误的程序只能给0分,因此学生对主观编程题的评分满意度低;(4)教学与科研分离,教学资源建设低水平重复,无法支持教学和考试方法改革。
为解决上述问题,我们将教学改革的指导思想定位为:以学生为本,以提高学生的计算思维能力、实践动手能力和自主学习能力为目标,在该目标驱动下,借助精品资源和网络让教与学化繁为简,将课堂教学与网络教学相结合、课内教学与课外教学相结合、知识传授和能力培养与素质教育相结合,更新教学内容,改革教学方法和考试方法,变应试为应用,变被动为主动,激发学生的自主学习意识,实现“以教师为中心”向“以学生为中心”的转变。
4 建立以机试自动评分和实践能力考核为主的多重累加式成绩考核体系
针对c语言程序设计课程实践性较强的特点以及上述考试方法改革的基本思路,我们建立以机试自动评分和实践能力考核为主的多重累加式成绩考核体系,在校内率先完全取消卷面笔试。对于该课程而言,机上考试更能真实全面地考核学生对知识的灵活掌握和综合运用能力,尤其是程序调试能力,并且还能降低考试成本,更符合当今节约型社会对低碳环保的要求。
机上考试和自动阅卷评分的好处不言而喻。从实践的角度看,它将“上机实验”和考试很好地结合在一起,有利于更全面地考核学生的编程实践能力,提高学生上机编程的积极性,促进学生编程能力的提高。机器自动阅卷并实时给出评分,不仅能提高教师阅卷的效率,而且还能避免人情分,增加评分的透明度、公正性、准确性和实时性。从教师的角度看,采用机器自动阅卷代替人工阅卷,有利于减轻教师阅卷的负担,但程序设计课程实行机上考试的最大难点在于实现主观编程题的自动评分。
目前国内很多高校要么采用“机上考试+人工阅卷”方式,要么采用“机上考试+测试用例驱动的自动阅卷”方式。测试用例驱动的自动阅卷采用的是动态测试方法,系统根据教师给出的测试用例,通过运行学生程序后得到的结果评判程序的正确性。这种方法没有考虑程序是怎样实现编程任务的,也不能从程序文本的语法结构和语义角度衡量学生程序与正确答案的接近程度,对于有语法错误的编程题只能给0分,因此这种评分方法不符合教师人工阅卷的习惯。
为了克服该考试方法的缺陷,我们在国家自然科学基金项目的支持下,从分析理解程序源代码的角度,基于程序理解技术先后研制开发了基于c/s结构的c语言编程题自动评分系统和基于B/s结构的c语言编程题自动评分系统。从机器阅卷评分的效果看,这两套系统都能实现c语言编程题的机上考试和自动阅卷评分,不仅能对客观题自动评分,还能对c语言主观编程题自动评分,更重要的是评分时不仅能测试程序的运行结果,而且还能分析程序的结构和语义,衡量实现编程任务的正确程度,对于不完整和有语法错误的程序也能给出合理的分数,因此更符合教师人工阅卷的结果。此外,考试实时给出评分,有助于避免人情分;系统中增加反抄袭和查雷同的功能,使考试成绩的评定更加客观、合理和公正。
我们利用该系统改革了c语言程序设计课程的考试方法,以考带学,目的是激发学生上机编写和调试程序的积极性,同时改变传统的以“以人工评分为主”的主观评价体系。以机试自动评分和实践能力考核为主的c语言程序设计课程的多重累加式成绩考核体系如图1所示。
具体地,我们采取如下措施。
1)实行多元化的课程考核方式。
为了使成绩不是简单的累加,除了注重平时的分层、阶梯式的作业和实验成绩外,还包括分阶段的期中和期末两次机上考试成绩,此外还设置了一定比例的鼓励附加分。从“夯实基础、综合设计、创新应用”3个层次设计实验教学内容,实验有4种类型:仿写改写基础型、趣味设计巩固型、综合设计应用型、独立思考探索型。其中,综合设计应用型让学生从学生成绩管理系统V1.0到V6.0,通过多次实验逐步完成一个较大规模的系统编程。
全部作业和实验成绩均由基于Moodle开发的具有在线评测与雷同判定的网络教学平台的在线评测模块给出。机上考试成绩由期中和期末两次机考给出。考试不是目的,我们的目的是为学生提供“由考试发现自身不足,然后在考试后通过努力并在下次考试中提高成绩”的机会,通过考试引导学生多上机、多实践,进而提高编程实战能力。
附加分的取得有多种渠道。一方面,学生机试时完成具有一定难度的附加改错题,可以得到一定的附加分;另一方面,平时在网站论坛上积极发言的学生可以得到一定的自主学习鼓励附加分。此外,学生利用业余时间独立完成具有一定难度的独立思考探索型或创新型实验,也可以获得一定的创新实验附加分。
2)实行多重累加式的成绩评定方法。
课程最终的成绩由“学习过程相对分+机上考试成绩+附加分”累加得到。其中,学习过程相对分由“实验相对分+作业相对分”累加得到,机上考试成绩由“期中机考成绩十期末机考成绩”累加得到,附加分由“期末考试附加题附加分+课外创新实验附加分”累加得到。
3)实行以机试为主的评价体系。
利用C语言编程题自动评分系统使机上考试对主观编程题的自动阅卷评分更加客观、公正,不仅能根据程序测试结果进行评分,还能考查程序结构和语义,衡量实现编程任务的正确程度,并且对有语法错误的程序也能进行评分,同时加强了对考试全过程的监控,实时监测学生插拔U盘次数,禁用学生机的USB口并对学生插拔u盘次数进行报警,从以往的反抄袭转变为利用先进的手段防止学生作弊,使反抄袭不再成为“马后炮”。
5 多重累加式成绩考核体系的实践效果
2004年,我们利用基于C/S结构的C语言编程题自动评分系统V1.0,在学校的部分院系进行c语言程序设计课程的考试试点,2006年在全校范围内进行考试方法改革。自2012年春季开始,我们在全校c语言程序设计课程的考试中改用“基于B/S结构的C语言编程题考试自动评分和题库管理系统”。在图2所示的2012年春季的乐学网活跃课程排行榜中,位居前10的课程中有8位课程主讲教师(苏小红、郭萍、张卫、李希然、赵巍、张洪志、侯俊英、傅忠传)来自c语言课程组。
自2012年春季学期开始,笔者在实验和作业成绩考核中采用了多重累加式成绩考核体系,成绩统计分析结果表明成绩符合正态分布,成绩统计结果如图3所示。
自2006年以来,我们已经累计8年共16个学期在全校范围内实行C语言课程考试改革,每年参考人数约3000人。该考试系统先后推广到国内100多个教学单位试用,具有很好的应用前景。
6 结语
笔者提出的考试改革方案具有如下几个创新点。
(1)解决了以往程序设计考试纸上谈兵、笔试无法考核学生实际动手能力的问题,通过对学生上机编程实践能力尤其是错误程序调试能力的考核,更加全面客观地评价学生的实际编程能力和水平,避免高分低能。
(2)机试方式使得考生在提交试卷后能够实时获得机器的评分,提高了教师阅卷的效率,解决了人工评分易出现的人情分、易出错、周期长和效率低问题,而且相对于笔试而言节省了纸张,既降低了考试成本,又符合目前国家倡导的厉行节约、绿色低碳环保的理念。
(3)评分方法先进,准确实时。主观编程题是系统评分的难点问题,我们研制的c语言编程题自动评分系统的评分方法不同于国内现有的只考查程序运行结果的评分方法,该方法不仅能根据程序测试结果进行评分,还能考查程序结构和语义,衡量实现编程任务的正确程度,并且能对有语法错误的程序进行评分,使评分结果客观、公正,符合教师人工阅卷的结果。
(4)系统提供考试全程实时监控考生u盘作弊行为的功能,对于插拔u盘的考生能够准确定位并及时报警,有助于提高考试的公平性。
c语言程序设计论文范文6
[论文摘要]C程序设计语言作为大、中专学生入学后的首门计算机语言课程,也是重要的程序设计课程。对于学生来说,程序设计的思维方式和概念都是全新的,学生接受起来很困难,通过对C程序设计语言教学方法探讨,能收到较好的教学效果。
一、引言
《C程序设计语言》是计算机及相关专业中一门重要的计算机基础课程,由于其在当今系统软件和部分应用软件的开发中具有实用性强的特点,又与硬件和程序设计环境底层的联系紧密,是当今计算机软硬件工程师应该掌握的一种基本的、比较实用的程序设计语言。它作为学生入学后第一次系统地学习与高级程序设计语言和程序设计有关的内容的一门新课程,本身就比较难;再加上其内容的庞杂、语言描述的灵活,更让学生感觉难上加难。因此对于担任该课程的老师来说,如何教好这门课程,培养学生运用C程序设计语言分析问题、解决问题的能力,是这一门课程的目的和宗旨。
二、采用案例教学,培养学生的兴趣和积极性
C程序设计是应用性很强的一门课程它既有理论又有实践,既讲方法又讲动手能力。一般来说,教材中前几章都是先介绍C程序设计语言的一些概念和基础知识,然后才介绍程序的建立和运行。这些概念和基础知识,既枯燥又比较抽象难懂。在教学中,我们打破课本原有的顺序组织课堂教学的方式的逻辑结构体系,改用从案例入手,通过给学生演示、让学生模仿,在实际应用中去探究和领悟这些概念,并适时地加以归纳总结和概念的延伸,让学生在轻松愉快的气氛中学习新知识。
案例教学法打破了以教材为中心的传统教学模式,不按教材的顺序授课,而是以精选出的程序设计的案例为中心,把学习的重点放在具体案例的讲述上,把要学习的语法和概念融入到具体案例中来讲解。整个教学过程中强调在应用中学习,从而避免了枯燥的理论说教,不仅能增进学生的学习兴趣,而且对提高学生综合分析和解决实际问题的能力也大有帮助。那么该如何培养学生对C语言课程的兴趣呢?案例教学法是培养学生学习兴趣的有效途径一。
三、运用多媒体CAI课件教学,提供交互式学习环境
C语言的内容比较繁杂,我们把概念、定义等一些知识性的东西用幻灯的形式投影出来就会使课堂内容更加丰富,提高学生的注意力,节省老师板书的时间,让整堂课的效果改观。但是课堂上课件的演示也要适当,避免喧宾夺主,使学生更多地关注了形式的变化,而忽略了内容本身。相应的,课件在其他内容的处理上就要慎重了。比如算法、程序的设计,我们不是只注重给学生一个结果、一个程序,而更应该展示给学生的是一个过程,一个思想,也就是怎么样去解决这个问题。我们的重点在于教会学生掌握方法,即帮助学生学会自己解决问题,而不是帮助学生解决问题。即授人以渔,而非授人以鱼。因此在讲解这些内容的时候就不能是一张幻灯一个算法、一个程序,而应该重点介绍方法、思想,根据题目求解的过程,一步一步把结果“ 写” 出来。
多媒体CAI课件主要包括课程内容、算法演示、在线测试、在线讨论以及资源中心五部分功能。多媒体CAI课件可以提供交互式环境供学生学习,并自动根据操作过程进行实时评价。将多媒体CAI课件和教师课堂讲授有机地结合起来,能形成最佳教学任务的综合性手段与教学方案。
四、把握课堂教学方法,提高课堂教学质量
(一)注意“互动式教学”,切记不要“自演自说”。互动式教学就是要改变老师是课堂上唯一主体形式的状况,让学生也作为主体形式参与到课堂上来。互动式教学既可以提高学生的参与积极性,还可以避免学生上课疲劳,产生注意力不集中的现象。互动式教学在形式上有老师提问,让学生上黑板演算、上教师机操作,让学生讨论等,让学生进行正误判析,解决普遍性问题,或者请有独特思路的同学演示自己的方法或程序,对比各种方法的优缺点,鼓励大家再提出新方法。实践证明,这种教学方法效果显著,课堂活跃,学生的参与程度很高。但是我们在进行师生互动方面也要注意把握一个度的概念,让课堂既要有互动的活跃氛围,也要有好的课堂秩序,使得课堂互动有序有效进行。
(二)培养学生读程序的能力。程序是C语言的本质,读程序是学习C语言入门最快,也是最好的方法。要培养学生独立编程的能力,首先应该培养学生读程序的能力。学生读的程序越多,见识的编程的思想、方法、技巧也就越多,就能更加扩展自己的编程思路,还能在某些时候把别人的东西拿来归为己用。
在培养学生读程序方面要注意循序渐进,先给学生读一些简单的、只有几行的程序,然后逐渐增大程序的复杂度。
(三)采用问题驱动法。在C程序设计语言课程中,有一些概念之间的差别和程序的设计步骤如果只通过教师讲述,学生在字面上可以接受,但在理解深度上往往难以达到令人满意的效果,如果能设计出一系列问题,让学生在实践和解决问题的过程中自己去探究和体验,情况将完全是另一个样子。另外,采用一些有趣的问题来引入对某些语句结构的学习同样有相同的作用。
采用问题驱动法,一切都要求学生自己动手动脑设计,他们在操作过程中探究和解决问题的积极性和主动性得到
了调动,从而达到了我们的教学目标。
五、加强实验环节的教学设计,辅助理论教学
C程序设计语言是实践性很强的一门课,培养学生的实践能力是教学的首要目的。因此,在授课的同时,如何引导学生利用上机实验来加强实践也是教学中的一个重要环节。C程序设计语言实验教学的目的应是:1. 紧密配合理论教学,通过相关实验,帮助和加深对语句功能的理解;2. 通过实验可以将各门课程学到的知识融会贯通,思考利用C程序设计语言解决实际应用问题的有效方法,从而使学生分析和解决问题的能力得到锻炼和提高。依据实验教学的目的,考虑学生的个体差异,将实验设置成不同的类型:必做和选做实验:这两类实验都是结合相关课程的教学需要由授课教师设计的;前者目的在于帮助学生掌握基础知识和实验研究方法,后者则在于培养和鼓励学生的学习兴趣、扩大知识面以及培养学生的应用能力和创新意识。从而大大激发了学生的学习热情,为其今后的学习和工作打下良好的基础。
六、结束语
要教学好C 程序设计语言,关键在于教师要有效地组织教学,才能激发学生的学习兴趣,让学生主动、愉快地学习,满足他们的求知欲,这样才能取得良好的教学效果。
参考文献