C语言程序设计教学模式

点赞:22662 浏览:104841 近期更新时间:2024-02-17 作者:网友分享原创网站原创

摘 要:本文从如何激发学生对课程的学习热情、实例渗透基本概念、启发式教学、引导学生互动等多个方面阐述C语言的有效教学模式,帮助学生更好地掌握C语言、提升编程能力.

关 键 词:C语言程序设计,实例教学,启发式教学,正反馈

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

一、背景

随着计算机技术的飞速发展和普及,计算机在各个领域中得到了广泛应用.为了适应时代需求,帮助大学生更好地利用计算机编程技术解决专业问题,在高校的本科教育中,计算机程序设计课程已成为大部分理工科专业的必修课或者选修课.而C语言作为最经典的编程语言之一,以其丰富的数据类型、清晰的语言结构和结构化编程思想,成为首选的程序设计课程.

本文结合笔者在高校多年从事C语言程序设计这门课程的教学经验,讨论C语言程序设计的教学模式,从而调动学生学习C语言的积极性,帮助学生更好地掌握C语言编程技能.

二、激发学生对课程的学习热情

大学生在修一门课程时通常会问:为什么要学这门课?这门课程有什么用处?如果问题得不到答案或者认为这门课程学了也没有用处,那么学生就会缺乏学习动力和积极性.在修C语言程序设计这门课程的时候,学生也会存在同样的疑问.所谓“磨刀不误砍柴工”,在开始正式讲述C语言理论知识之前,给学生阐明C语言的重要性和实用性是非常有必要的.只有这样,才能从一开始就激发学生学习的内在动力和.

那么,如何阐明C语言学习的重要性呢?作为老师,应该结合学生的兴趣点,让他们感受到C语言的重要性和学习意义.笔者在讲授C语言的第一节课时,通常会花一点时间给学生讲述这方面的知识.例如,Linux和Unix操作系统都是以C语言为主进行开发,Windows操作系统是以C++为主开发.手机内部的应用软件、游戏等很多都是采用C语言进行嵌入式开发的,例如推箱子、贪吃蛇等游戏.学生所熟知的游戏“仙剑奇侠传”,由WATCOMC/C++写的.而C语言是C++的基础,通常都是先学习C再学习C++,可见C语言的重要性.另外,在上课过程中,再穿插讲一些著名人士(如比尔盖茨、马克扎克伯格)的成功故事,则更有益于激励和提升学生对于计算机编程课程的学习热情.

三、实例教学渗透基本概念

很多学生在上C语言程序设计课程之前,未上过其他计算机语言课程,在刚接触这门课程时,通常怀着惴惴不安的心情,担心自己学不好.因此,在刚开始上课时,应该用简单的例题吸引学生,让学生感受到学习C语言并非想象的那么难.例如,在第一节课,可以先在屏幕上通过运行C程序显示一行信息:“ThisisaCprogram.”然后给学生显示该信息的C语言源代码:

voidmain()

{print("ThisisaCprogram.\n"),}

此时学生虽然还未学C语言编程,但是发现程序很简单,就比较容易接受这门课程.随后可以让学生仿照例题写程序显示“Iamanundergraduatestudent.”让学生动手写自己的第一个程序,内容也与他们自己有关,增强学生的参与性,无形中也会增加学生的学习热情.

最初的几堂课由于内容相对简单,学生感到新奇,因此学习积极性比较高.随着课程内容的深入,出现大量的语法规则时,往往会觉得枯燥乏味.因此,在讲解C语言的一些定义和语法规则时,最好避免按部就班,直接给出定义和语法规则再给出例题.相反,我们可先举若干例题,让学生从中发现规律和总结规则,再给出定义.一方面有利于激发学生的上课积极性和活跃思维,另一方面也有利于学生记住这些规则.毕竟,通过思考总结出来的规则比死记硬背的知识更让人印象深刻.在给出定义时,应对照着例题进行解释,这样有利于帮助学生记忆和理解.例如,我们在讲解for循环语句规则时,可以先给出以下两个简单的例题(例1和例2),并通过运行程序给出对应运行结果.让学生思考和猜测程序大致完成什么工作,再结合例题给出for循环的语法规则,并通过例题讲解for循环中各个表达式及语句的执行顺序.其解释过程如图1所示.学生对应示例理解规则,就能较快地掌握for语法规则.

在讲完语法规则以后,可趁热打铁让学生进行课堂练习,巩固刚学习的知识点.例如,在讲解完for语句规则以后,可以让学生模仿例2用for语句完成1到20的偶数之和,加深其对知识点的理解.

C语言程序设计教学模式参考属性评定
有关论文范文主题研究: 关于学生的论文例文 大学生适用: 在职论文、本科毕业论文
相关参考文献下载数量: 83 写作解决问题: 如何写
毕业论文开题报告: 文献综述、论文题目 职称论文适用: 刊物发表、初级职称
所属大学生专业类别: 如何写 论文题目推荐度: 优质选题

四、启发式教学提高学习积极性

在学习过程中,提高学生主动学习的积极性非常重要.只有学生发自内心想学,主动思考,学习效果才会更好.因此,在课堂教学过程中,老师应避免直接陈述知识点,而应积极引导学生思考.理工科的学生,逻辑思维能力较强,让他们通过例题分析去总结知识点,更利于他们的学习和记忆.例如,在讲解while和dowhile语句差异时,可以先给出以下两个例题(例3和例4).在不运行程序的前提下让学生思考k等于1和k等于11时两个例题的结果,然后运行程序给出例题运行结果(k等于1,例3和4的结果都为sum等于55.k等于11,例3的结果为sum等于0,例4的结果为sum等于55).对于理解while和dowhile循环的同学,在写出答案的时已经领悟出while和dowhile两者的差异,而对于不理解while和dowhile差异的同学,则让他们对比程序运行结果,思考两者差异.最后,再由老师解释两者差异:“while语句先判断,后执行循环体,dowhile先执行循环体再做判断.当while判断表达式第一次的值为‘真’时,两种循环结果相同,否则不相同.”通过例题对比思考,可加深学生对知识点的理解.

除了通过对比让学生加深思考以外,也可故意在程序中制造一些错误,使程序编译报错或者编译通过但无法实现预期目标,让学生从老师给出的程序中找bug,在程序调试过程中解决问题并加深对知识点的掌握.例如,给出例5,该程序的本意是计算1到10之和,运行程序后屏幕上没有任何运行结果,再让学生思考为什么得不到想要的结果.学生通过观察可以发现,“while(i<,等于10),”中的分号代表while循环体为空,i的值始终为1,导致程序陷入死循环.要想完成计算1到10之和,只需将“while(i<,等于10),”中的分号删除.此例题也体现出对于C语言而言,“失之毫厘,谬以千里”,从而让学生在编程过程中关注细节.五、引导学生积极参与课堂互动

著名的《本科教育实践七原则》一书中指出,本科教育的前两个原则为:(1)加强师生交流,(2)引导学生间开展互惠合作.可见,在教学过程中,加强师生交流以及学生与学生之间的交流是非常重要的.一方面,老师应该通过课堂提问等方式加强师生互动.另一方面,老师也应该积极引导学生与学生之间开展互动.例如,在课堂练习时,可将学生分成若干小组,给出题目由学生在小组内通过讨论给出答案.受竞赛获胜心理的驱使,使得学生通力协作,积极思考.另外,由于不同学生的思维模式不一样,对于同一题目,不同组往往给出不同的解题方式,实现了“一题多解”的课堂教学.


除了在上课期间分组讨论以外,在实验课也应鼓励学生之间互相讨论.实验课是学生真正亲自动手的阶段,在实践过程中难免会遇到各种问题.有些学生担心向老师求助会被老师认为上课没有认真听讲,所以不敢问老师.如果鼓励学生之间讨论,学生可以没有思想负担地向其他同学请教,回答问题的学生则从学生的角度帮助提问的学生解答问题,更有利于学生对知识点的理解.另外,在学生A向老师求助时,老师也可以让学生B分析学生A编程中存在的问题,鼓励学生积极思考.如果学生B发现问题所在,则会有一定的成就感,从而更喜欢这门课程,如果学生B无法找到学生A程序中的问题,则可以同时给学生A和B讲解这一知识点,帮助两位同学解决问题,这样也有利于学生更好的掌握C语言编程技能.

六、形式多样的正反馈

在上课期间,老师通常鼓励学生不懂就立即提问.但是,不同学生喜欢和老师沟通的方式不一样,有的同学可能因为害羞不喜欢课堂提问,所以应该鼓励学生通过其他方式与老师沟通.例如,让学生在作业本上写出完成作业时遇到的问题,或者通过、等方式寻求老师的帮助,老师也应及时给学生回馈.例如,学生在编程过程中遇到问题,通过向老师求助,隔了几天还没有收到老师的回复,那么学生会认为老师让学生提问只是流于形式,下次再遇到问题时,也就没有再与老师沟通的积极性,也影响了学生的学习积极性.相反,老师若能立刻给学生回馈或在课堂上分析讲解,学生则会认为老师重视自己的问题,学习积极性也因此提高.

另外,无论学生提什么样的问题,都应给予正回馈,而不是对学生进行批评教育.事实上,学生向老师提问前会有各种顾虑,通常需要很大的勇气才敢提问.所以,学生提问本身勇气可嘉,这一点就值得表扬.如果学生提问遭到批评,学生以后再不敢也不愿提问,直接影响其学习积极性.

七、结语

本文从如何激发学生学习热情、开展启发式教学、引导学生参与课堂互动、给予学生正反馈等多个角度探讨C语言课程教学模式.相信通过以上方法,可以帮助学生更好地掌握这门课程.同时,笔者认为本文所提的教学模式也可以推广到理工科其他课程,尤其是偏重实践的课程教学中.