程序教学法
关键词:c语言 学习兴趣 趣味程序 实例
一、教学过程中存在的问题及产生问题的原因
1.绝大部分学生文化基础差,开始学习时经常会产生厌倦感
c程序设计这门课程,一般在新生入学的第一个学期或第二学期就开设了,是学生接触的计算机编程的入门课程。这门课程结合了语言、算法、数据结构和程序设计方法等方面的知识。学生对着这些知识相当陌生,而且很多内容跟他们所熟悉的知识内容不相同,使他们经常感觉这些内容很难理解,枯燥无味,从而产生厌倦感。
2.对编程语言的学习方法不能适应
大部分学生在开始学习这门编程语言时,还是沿用了之前旧的学习方法,而这门新课程的内容是需要很好去记忆和注意的,他们就没能很好地掌握起来。
3.学生上课注意力不集中,上机实践课缺乏积极主动性
在理论课教学中,学生面对着课本上大量抽象概念的理论内容,就会出现注意力不集中的现象。而到上机操作环节,教师要学生自己编写一道程序,学生往往需要很久才会编出来,并且如果一个小程序由于错误运行不出,就马上放弃编程。有的学生看到编程题,就提不起精神去编写,一旦没有动手解决问题的欲望,就经常偷偷地玩游戏。
二、c语言设计课程教学建议
要解决上面所遇到的三种情况,教师在学生开始学习的时候就要指导他们这是一门新课程,在学习上要用新的学习方式来学习。在教学方式上,教师要尽量降低c语言的难度,在讲解理论知识点的过程中,增加一些趣味性的程序,使学生能从中学到知识。
1.从教学语言上提高趣味性
在课堂教学上,教师要使用趣味幽默的语言,接近生活。这样既激发学生的学习兴趣,又能引发学生积极思考和制造轻松的气氛,也能让学生轻松地接受知识,增强学习的兴趣和学习动机,从而也使学生接受这位老师。
2.增加趣味练习,提高学生的学习兴趣
兴趣是一个人力求认识和趋向某种客体的积极态度的个性倾向。培养学生学习兴趣,是提高课堂教学效果的重要途径。怎么从枯燥的c语言中解脱出来,让学生提高兴趣去学习呢? 我们可通过编写小游戏程序或与生活相关的程序来提高它的趣味性,这样程序设计就像电脑游戏一样充满好奇,富有乐趣。
(2)随着学习的深入,我们还可以编写其他有趣的程序。传统的讲授型教学方法是灌输式的,是能较好地保证所讲授知识的系统性,但学生的学习思维和学习的积极性都处在被动状态,达不到理想的教学效果。
为了使学生能够学习掌握课本中相关的知识,对编程产生的兴趣,在教学过程中,教师要先从对学生有意义的问题出发,然后在讲解的过程中,把产生的问题与实际的例子结合起来,让学生能够发现并找到解决的方法。在这种方法中,我们可以将这些现实问题与计算机语言结合到一起,降低问题难度,使得学生对c语言有了印象,从而提高了学习的兴趣,使处于被动状态的学习转为主动的学习。例如我们可以给学生演示一些简单地用c语言编写的图形或让学生利通scanf()和printf()这两个标准输入出函数编写短小的程序。这样可以增强程序的趣味性,同时可以提高学生的兴趣,使学生觉得这种的编程比较有趣。从“简单”开始,慢慢再加大学习难度。
每一个人对一些比较有趣的事情都是非常感兴趣的。在教学讲解实例的时候,我们可以适当地加入一些生活的例子,充分利用学生的好奇心,增强了他们学习程序语言的积极性。比如我们讲解循环语句时可以利用这样的例子。有三对情侣举行婚礼,三个新郎为a,b,c,三个新娘为x,y,z。有人不知道他们谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:a说他将与x结婚;x说她的未婚夫是c;c说他将与z结婚。这人听后知道他们在开玩笑,全是假话。这里面,他到底谁跟谁结婚呢?
对于这样的问题,我们先把新郎a,b,c用1,2,3来表示。从题目的叙述中,我们可以得出下面的内容,a不与x结婚,即x≠1;x的未婚夫不是c,即x≠3;c不与z结婚,即z≠3;同时题意还隐含着x,y,z三个新娘不能结为配偶,则有:x≠y且x≠z且y≠z。
我们把问题变成普通的判断式,将式子写出来以后,可以利用列举法的推理运算列出所有可能出现的情况。
每一个循环表示每一个人都有三种可能性。在这所有的可能中,满足全部条件的两人即为情侣。这个例子既满足学生对问题的好奇心,又贴近生活,还能充分地说明c程序中循环结构,特别是多重循环的使用。这样既可以充分调动学生学习的积极性,将学生的从被动学习方式转换为主动学习方式,同时提高教学的质量,达到预期效果。这样的现象也叫自我效能感,让学生能够意识到计算机的编程语言是可以解决很多生活上的实际问题,因此也激发他们听课的兴趣。当然这样的例子还有很多,教师们要充分利用多媒体的功能,从不同的角度,不同的方面来提高教学的效果。
3.设计不同层次的编程实践环节,培养学生的动手能力
对于学生,要读懂一条程序并不是特别难,但是让他们自己根据问题来编写程序,很多学生就望而却步了。这时,我们就要根本学生的情况,设计编写一些适合他们的编程题目。比如说,我们在讲解条件分支语句时,我们可以利用生活中用来判定闰年的问题,来让学生自己分析判别的计算方法,找出判断方法后,用相应的语句来实现。分阶段地实现编程的内容,使得学生能品尝到阶段性的成功,增强学生攀登知识高峰的信心和勇气。
同时根据对学生知识掌握情况的了解,将学生进行搭配分组。在编写小规模程序时,学生自己可以通过相互间的讨论,对程序的每个部分进行分工,通力合作,最后完成整个程序的编写任务。这样促进不同层次学生的全面提高,也能培养学生如何将所学知识来应用到实际问题上,培养学生的互助互帮,团队合作的精神和集体观念。
《高级语言程序设计 (VB) 》是各高校开设的计算机公共基础课之一, 旨在提高非计算机专业学生计算机应用能力, 使用它开发应用程序简捷方便, 也可作为"网络编程"、"网站设计"等专业后续课程的语言基础, 因此学好这门语言课非常重要。然而实际教学中, 不少老师感到很棘手, 花费很多的时间备课, 但教学效果却不理想;很多学生也感觉该课程艰涩难懂, 尤其是上机实验, 学生一般是从书上抄些程序到电脑上, 动手能力很弱。针对此现状, 本文结合一线教学经验, 提出了一种新的教学方法--"案例驱动"+"程序侦探"教学法, 并将此方法运用到实际教学中进行验证。
2、程序设计教学现况分析
在计算机公共基础课教学中, 一般第一学期开设《计算机应用基础》, 该课程操作性强, 学生比较感兴趣, 学习积极性高, 掌握也比较快。而第二学期的计算机语言课程, 学生普遍感到语法枯燥, 知识应用似乎很遥远, 兴趣不高。
《高级语言程序设计 (VB) 》这门课内容多、课时少、知识面广、实践性强[1]。传统教学主要是在多媒体教室应用课件进行教学, 教师一边讲解, 一边进行演示, 需要讲授大量的基础知识基本概念, 而且还要讲授具体的应用和操作。这迫使很多教师在教学中采用"填鸭式"灌输。至于上机实验则是学生按实验辅导书进行操作、练习, 教师个别辅导, 也针对主要问题进行集体讲解。这种"以教师为中心"的模式, 不能充分调动学生的积极性, 造成学生缺乏学习兴趣。
要解决此问题需做到两点:首先向学生着重强调计算机语言及该课程学习的重要性和必要性。现今社会是网络信息时代, 计算机是网络时代的交流工具, 要充分利用计算机这个工具解决学习和工作中的实际问题就必须掌握一门计算机语言。在众多的计算机语言中, 可视化编程语言Visual Basic 6.0是目前世界上使用最广泛的编程开发工具之一。
第二点要注重培养学生的学习兴趣, 调动其学习的积极主动性, 从而提高其动手实践能力。学生主动学习意识不足、依赖性强, 部分学生仍未能摆脱高中应试教育的影响, 在整个学习过程中缺乏主动意识, 只是被动地去理解、记忆, 并不主动分析思考, 当自己动手编程时, 发现根本无从下手。
第一点容易做到, 但是第二点需要教师在课堂教学和上机实验教学过程中的不懈努力, 最重要的还需要一种行之有效的教学方法。对此提出一种新的教学方法--"案例驱动"+"程序侦探"教学法。
3、"案例驱动"+"程序侦探"教学法
"案例驱动"+"程序侦探"教学法包括两部分:在课堂教学中使用"案例驱动"教学, 激发学生的学习兴趣, 充分调动学生的积极性;在上机实验教学环节, 提出使用"程序侦探"的方法, 提高学生上机过程中主动动手实践学习的兴趣, 激发学生发挥创新实践能力。
3.1"案例驱动"教学
案例驱动教学法是一种传授知识与培养能力并重的教学方法, 教师在理论教学过程中, 有针对性地引入案例, 将学科知识分解到若干个有代表性的实际案例中, 将理论和案例融合在一起, 能够分散概念和难点, 引导学生运用基本理论对案例进行思考、分析、展开讨论, 帮助学生加深对理论知识的理解, 解决实践中的一些问题, 从而促使学生独立思考, 激发学生的学习兴趣, 有效提高学生发现、分析和解决问题的能力[2]。
案例教学效果在很大程度上取决于教师能否选择恰当的案例, 精选出的案例应当是典型的代表性、有趣味性的, 最能激发学生学习兴趣并揭示所学知识点的案例。选择与教学内容和教学目的密切相关的典型案例, 寓所教理论于案例之中[3]。因此在VB程序设计中的课程中, 首先演示一些简单的、有趣的程序, 例如交通信号灯程序、打字程序、计算器等吸引学生, 并使其了解他们以后也可以编出这些有趣的小程序。
另外案例的设计要由浅入深, 针对每一章节的特点。如给出一些简单的计算圆的面积, 帮助学生了解如何用VB开发应用程序, 然后让学生据此计算正方形或者长方形的面积, 让学生从自身的实践中感受到用VB编写程序并不难, 从而迎合了学生渴望成功的心理特点。
教学案例的讲解主要是借助案例分析, 引发学生发现问题, 介绍解决该问题所需要的理论。课堂教学主要以分析案例、精讲理论和少量讨论的形式开展。在案例分析中巧设问题, 引导学生独立思考, 通过对问题的分析, 一步步地验证所学理论知识。如在讲for循环程序设计时, 首先让学生在窗体上输出一个"*", 接着输出5个"*", 此时会自然想到使用for循环来输出;随后通过输出5行5个"*"来引入双重循环;最后让学生思考如何输出如图1和图2所示的图案, 或将图案换成数字输出"九九乘法表"和"数字金字塔"等。
采用案例驱动教学, 精选典型案例可以激发学生的好奇心和求知欲;然后通过分析案例的求解思路和实现方法;进而引出该案例中用到的知识点;再举一反三, 启发学生对案例进一步讨论、归纳, 对案例完善和扩展;最后达到知识的快速掌握和能力的培养。
利用"案例驱动"开展程序设计教学改革实践证明, 该教学方法能帮助学生深入理解所学内容, 提高学生利用VB程序设计语言分析和解决实际问题的能力, 有助于调动学生学习的积极性, 培养自学能力。
3.2"程序侦探"实验教学
《高级语言程序设计》是一门实践性很强的课程, 因此在程序设计教学中, 上机实验教学是提高教学质量的很重要环节。在学习VB语言过程中, 仅书面理解往往是不够全面的, 课堂上多数的教学内容, 学生需要通过上机实践才能真正理解消化, 纠正最初理解上的偏差并加深对VB程序设计语言的了解。
在传统教学的上机实验环节中, 随着课程的深入和知识的增多, 学生感觉困难、胆怯、枯燥, 只是简单照抄程序, 而且一有问题就找老师帮忙检查调试解决, 运行通过就算完成任务, 所以整个实验过程只是他们在练习打字而已。
针对这种现状, 实验课安排要因材施教, 分层次安排任务。从教学实践来看, 对于初学者, 如果一开始能成功完成编程、调试, 他们的学习积极性就会大增, 以后即使遇到困难时, 也能充满自信去解决困难。针对这种情况, 上机的练习题根据难度分成几个不同层次, 供不同层次的学生学习、模仿、尝试, 以便和学生各自学习能力相适应, 并不断鼓励学生向高层挑战[4]。
在此提出使用"程序侦探"实验教学法, 首先从时间、内容上将理论课和实验课衔接好, 然后根据课程安排有针对性地给学生提供一些有部分错误无法运行的程序, 让学生自己以侦探的角色去研究纠正修改程序, 从而让学生细致掌握语法, 鼓励学生独立思考, 学会查阅资料和文献, 独立解决问题, 以便形成自学意识、习惯, 建立自学的信心。而大量阅读一些结构良好的程序对学生今后的编程也有一个良好的示范作用。
更重要的是这种"程序侦探"实验教学法可大大提高学生的学习兴趣, 激发学生发挥创新能力, 从而提高计算机程序设计教学质量。在最初几次实验中, 学生的问题多, 教师应该耐心辅导, 启发他们如何做"侦探", 帮助鼓励他们对"侦探"过程中出现的问题进行分析总结, 鼓励学生自己动手解决问题, 让他们在逐步的成功体验中建立自信心和对VB程序设计课程的兴趣。当学生的胆怯感消除, 对编程环境适应后, 就会开始积极主动动手认真学习和实践, 逐步培养建立创新意识。
采用全新的"程序侦探"实验教学方法, 实验课中学生只是简单照抄程序, 而且一有问题就找老师帮忙调试的现象逐渐消失, 学生真正理解消化了理论知识, 加深了对VB程序设计语言的了解, 明显提高了教学质量和学生主动学习及运用所学知识解决实际问题能力以及知识综合运用能力等, 学生动手实践能力和创新学习意识加强了。
4、实验验证
通过多次教学实践来验证"案例驱动"+"程序侦探"教学法是否有效。首先选取计算机程度相似 (据其第一学期《计算机应用基础》课的成绩判定) 、专业相同 (保证其入学前程度相似, 课余时间相同) 、人数相同的甲乙两个班级来进行实验。在教学过程中, 甲班采用传统的教学方法, 而乙班采用"案例驱动"+"程序侦探"教学法。学期末两个班级进行了三次程序设计比赛, 比赛分笔试和机试两部分, 两班最终成绩 (三次求平均) 如表1所示。
由表知乙班比甲班笔试部分及格率提高了15.3%, 机试部分及格率提高22%, 特别是优秀率部分结果尤其令人满意, 乙班笔试、机试分别比甲班提高了8倍、7倍以上。
5、结论
本文通过教学方法的改革, 利用"案例驱动"开展VB程序设计课程教学能帮助学生深入理解所学内容, 提高学生利用VB程序设计语言分析和解决实际问题的能力, 有助于调动学生学习的积极性, 。采用全新的"程序侦探"实验教学方法, 明显提高了教学质量和学生动手实践能力、运用所学基本知识解决实际问题能力以及知识综合运用能力等。而实验结果也验证了采用"案例驱动"+"程序侦探"教学法比传统教学效果改善了, 确实有效可行。此方法同样适合其他高级语言程序设计、计算机应用教学。
摘要:针对程序设计教学中学生兴趣不高, 上机实验动手能力差的现状提出了一种新颖的教学方法-"案例驱动"+"程序侦探"教学法, 在教学过程中采用"案例驱动"提高学生的学习积极性, 上机实验采用"程序侦探"提高学生动手实践和创新思考能力, 该方法经实验验证切实有效可行。
关键词:VB高级语言程序设计,案例驱动,程序侦探
参考文献
[1].刘炳文.Visualbasic程序设计教程 (第三版) [M].北京:清华大学出版社, 2006
[2].朱文.案例教学方法研究.西南民族大学学报 (人文社科版) [J].2003 (10) :39-41.
[3].陈荣春, 薛立新.《VFP程序设计》课程案例教学的设计及实施.职业技术教育[J].2007.10.
一、质疑导读,全面感知
教师在备课中根据教学大纲、高考说明、教材和学生情况制定出一堂课的教学目标,然后按目标要求和教材顺序精心设计出一套“自学思考题”供学生自学。要求学生在规定的时间内(3~5分钟)看完规定的课文内容,全面感知。在读书看图的过程中,要以思考题作为线索和归宿,要求学生在书、图上注明符号,勾画出关键的词语。读书一般是自己看,必要时也可指定学生阅读,老师“点睛”,有的内容也可以集体朗读。这样不但可以防止学生的盲目性,做到有的放矢,而且有利于老师对课堂的控制。如在学习“锋面是影响天气的重要因素”时,拟定了以下的思考题:
1什么是锋?它与气团有何区别、联系?
2冷锋、暖锋过境时、过境后的天气有何变化?
3看冷锋、暖锋天气示意图,指出两个图像有哪些不同?
二、合议解惑,启迪思维
当学生在规定的时间内完成读书看图这一程序后,教师可以根据质疑的内容、层次,逐一要求学生思考、议论和回答,这样可以了解学生的认识程度和理解水平,以及直接运用教材相关知识回答问题的能力,为教师重点讲解、突破难点寻求论点和方法。紧接着教师应及时向学生进一步提出一些具有启发性、探索性和趣味性的问题,引发学生思考,使学生处于疑问一思考一解疑一新的质疑的思维活动中,以促进知识的迁移、深化,以求达到对重点、难点的理解和掌握。为此,可提出以下问题:1看图分析,为什么锋面以下总是冷气团,锋面以上总是暖气团?2为什么同是我国北方,夏季多暴雨,而冬、春多大风、沙暴天气?3凡是发生准静止锋的地区都下“梅雨”吗?为什么吗?举例说明。这个程序起到承上启下为下一程序教学做铺垫的作用。设计这个程序的好处是可以激发学生兴趣,启迪智慧,活跃课堂气氛。
三、精讲概括.深化理解
经过前面程序后,学生头脑中有关知识还比较零乱,容易遗忘,甚至有的学生还有疑问未解。那么教师就要根据合议解惑的深度和学生尚未解决的困惑以及本课终极目标对知识、能力的要求,一方面选择运用恰当的教学手段,重点讲解,突破难点。在讲的时候最好是边讲边画图,做到图文结合,图文转换,拓宽加深,注意把知识的内在联系、结构变化讲清,将静态的文字系统变成动态的图像系统,便于学生理解、掌握。
以“锋面”教学为例,在进入第三个程序的过程中,首先要学生跟着教师画出三种锋面的天气示意网,并要学生从图像中分析三个锋面图的相同点和不同点,以揭示它们的内在联系和区别,提高学生判断不同锋面图像的能力。接着教师在冷锋图和暖锋图上设点,请学生回答锋面过境时、过境后的天气变化;再比较冷锋和暖锋对天气的影响。
这个程序的教学,不仅是学生对书本知识的再认识,加深理解的过程,也是学生对知识分析、概括和综合的过程,更是教师将教法与学生学法融为一体,落实双基、培养能力的重要过程。
四、精练测试.巩固记忆
经过上述三个程序后,学生对本课知识的地理特征、因果关系、地理规律的理解、掌握、运用得如何,必须通过一定的检测来完成。检测题要精选,要有“精品意识”,不宜贪多求全、面面俱到,不宜过深过难,拓宽有“度”,做到检测题要有针对性、系统性和多样性、限时性。
一、1.指挥员带队进场,喊方号;(方号的口令为1、2、3、4都下达在左脚)2.指挥员指挥位置出列; 3.向右看齐,向前看;
4.报数、整理着装,停,立---正; 5.向首长报告
a.(跑步或齐步到距离首长5到7步),敬礼,等首长回礼后再礼毕; b.报告词:首长同志,一班四会教学法训练前集合完毕,实到xx人,请指示,指挥员某某某;
c.首长会说按计划进行,然后回答是,并敬礼,等首长回礼后再礼毕;
d.跑步或齐步回到指挥位置。(7步以内用齐步,7步以外用跑步)
二、紧接着开始四会教学
1.下达“稍息”口令,紧接着下达“课目”口令,听到“课目”口令后,队伍成“立正”姿势,说完“单个军人队列动作”后,接着说内容xxx,接着敬礼,礼毕,队伍保持立正姿势,再次下达“稍息”口令;
2.下达“目的:使同志们掌握停止间转发的动作要领以及组织训练方法,养成良好的军人姿势,”,队伍仍保持“稍息”姿势;
3.下达“方法:由我讲解示范,个人体会,分步训练,分组练习,考核验收”,队伍还是保持“稍息”姿势; 5.下达“要求”口令,队伍成“立正”姿势后,再次下达“稍息”口令并进行要求(第一,严守队列纪律,令行禁止;第二精神饱满,姿态端正,军容严整,动作迅速准确,第三,认真听讲,刻苦训练,迅速掌握动作要领),然后问一声“同志们能否做到”,此时队伍成员同时回答“能”并且成“立正”姿势;
6.再次下达“稍息”口令,接着说“停止间转法的口令下达为‘向左转’、‘向右转’、‘向后转’,下面我为大家进行示范,请同志们认真观察”,(然后自己下达口令并做动作,进行完整的动作示范)7.“以上就是停止间转法的完整动作,为了同志们能更好的掌握动作要领,下面我为大家进行边讲解边示范,请同志们认真学习”(然后就边讲解边示范)
8.“下面进行个人体会”,个人体会后,“停”,为了让同学们更好的掌握动作要领,下面进行动作的分解讲解........,“下面进行分解动作练习”
8.“为了了解同志们的对停止间转发的学习以及掌握程度,下面进行全体训练”,(全体练习结束后,要有一个小结:例如“同志们表现不错,大都能掌握停止间转法的基本要领,但是仍存在不足(指出哪些不足,至少三点)),为了使同志们克服自己的不足,下面进行分步练习(或者分组练习),希望同志们能拿出饱满的热情,较快的掌握停止间转发的动作要领以及组织训练方法” 最后检查验收,过一遍练习过的动作
9.(展示完毕)指挥员下达“稍息”口令,紧接着下达“讲评”口令,队员成“立正”姿势,然后指挥员“敬礼、礼毕”,再次下达“稍息”,进行讲评,讲评结束后,下达“讲评完毕”口令,其他人成“立正”姿势,然后再次“敬礼、礼毕”,最后一次下达“稍息、立正”口令;
三、向首长报告
a.敬礼,等首长回礼后再礼毕;
时间:2013年7月上旬
地点:综合大楼13楼演播厅
主持人:刘长霖
现场协调:沈明
资料收集整理:刘晓梅
参与人员:(15人左右)
焊接分厂5人:颜云、曾洪、唐代林、张震、黄玲 叶片分厂李开君机修分厂周红良隔板分厂肖斌斌 重型一分厂潘登表工所杨吉刚
工会刘军梅精益制造处彭永成宣传部:4人左右(彭嘉、刘利、刘晓梅)
议程:1、2、3、颜云(20分钟,管理型、创新型、效益型)曾洪(10分钟,技能型、和谐型)主讲 互动,主持人提问,班长回答。
设计问题:
1、在座班组长是如何理解五型班组精益化的?(每个班组
长回答)
2、你是如何理解精益制造与生产的关系,你们是如何来面
对、处理和协调的?(周红良、唐代林)
3、单机作业班组相对于集体作业班组的管理难度相对较
大,我想问一下:在五型班组建设中,单机作业班组的管理有哪些不同,困难又有哪些,你是怎么来解决的?(叶片李开君)
4、多机台的管理难度也是比较大,我想问一下:在五型班
组建设中,多机台班组的管理有哪些不同,困难又有哪些,你是怎么来解决的?(杨吉刚)
5、辅助班组与生产班组相比,在五型班组精益化建设中有
哪些不一样的特点,你是怎么做的?(黄玲)
6、我们知道,9C法则是机修分厂电工二班班组管理的特
色和亮点,下面请班组长周红良简单介绍一下。(周红良)
7、另外我们还知道,班组长值日制是隔板直焊式二班班组
管理的一大特色和亮点,能否请肖斌斌介绍一下?(肖斌斌)
8、我们知道,班组建设的两大基础阵地:看板和班前会。
作为班组长,你是如何看待看板管理的作用?(颜云)
9、除了看板,班前会的作用也是相当大的,你是如何看待的?(肖斌斌)
10、据我所知,公司五型班组精益化评价体系的标准已经在四
月份进行了发布,各个分厂也制定了各自的评价细则,我们班组长是如何看待新标准和新体系的?(从量化角度来
回答,张震)
11、创新型班组是五型班组建设的重要组成部分,来自于生
产一线员工的发明创造,它更直接、更快捷地解决生产一线的核心问题。我想了解一下在座的班组长有哪些发明专利?(唐代林)
12、随着精益制造项目的推进,对班组长水平的要求也有较
大提升,很多班组长都是通过竞聘上来的,请问在座有哪些班组长是竞聘上来的?在这段时间里,你们体会最深的是什么?(潘登、张震)
13、五型班组精益化推进之后,对班组和组员来说,带来了哪
些变化?(曾洪、颜云、杨吉刚、黄玲)
14、你认为成功推行五型班组精益化最关键的是什么?用一个
词或一句话来表述?(全体各一句话)
15、在座的各位班组,在五型班组精益化建设中都是走在公司
监利县实验高中
万平方
一、内容及其解析
本节内容是在学生学习了算法的概念的基础上进行的,学生知道“在数学中,算法通常是按照一定规则解决某一类问题的明确的和有限的步骤”.在算法概念的表述中,有范围限定词 “在数学中”,因此学习的内容均为数学中的问题.有一个有前缀限制的基本特征词“步骤”,前缀中,“按照一定规则” 指的是解决具体问题时的依据和表达方式,关注的是算法的基本逻辑结构(顺序、条件和循环),也表示算法具有有序性.“解决某一类问题”,强调的是算法适用对象的常态,突出算法的研究价值以及它的普遍适用性,也表明特殊问题的解题与一般问题的算法,存在联系又有区别.“明确和有限”,表示算法的每一步都是明确的、可执行的,总的步骤是有限的.在算法概念中,还特别指出,“算法通常可以编成计算机程序,让计算机执行并解决问题”.这对高中学习的算法提出了要求,也决定了高中算法学习的范围.即仅提出算法概念,认识算法基本逻辑结构是不够的,还必须学习计算机能执行的算法程序,能用程序表达算法,让计算机来验证我们解决问题的算法是否可行.在我们利用计算机解决问题的时候,首先要设计计算机程序,在设计计算机程序时我们首先要画出程序运行的流程图,使整个程序的执行过程直观化,使抽象的问题十分清晰和具体.有了这个流程图,再去设计程序就有了依据,从而就可以把整个程序用机器语言表述出来,因此程序框图是我们设计程序的基本和开端,也是使用计算机处理问题前的一个必要的步骤.算法有三种表达方法:算法的自然语言、程序框图和算法程序.算法的自然语言表达,即算法步骤,是与人的表达最接近算法表达方式;算法的程序表达是计算机可以识别的语言,但与人的表达距离较远;而算法的程序框图表达能直观、明确表达算法的基本逻辑结构,又能在前两种算法表达之间架设桥梁,形成编写程序的基础.由此可见,程序框图是算法的直观、准确的表达,是自然语言表达的延伸,也是后面学习算法基本语句的基础.程序框图的学习起着承上启下的作用.二、目标及其解析
[课程目标] 通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中,理解程序框图的三种基本逻辑结构:顺序、条件分支、循环.[教学目标] 理解程序框图的概念;会用通用的图形符号表示算法,掌握算法的顺序结构,了解算法的条件结构与循环结构;掌握画程序框图的基本规则.[目标解析] 1.知道用程序框图表达算法可以使算法的结构更直观、更条理、更明确,知道算法程序框图的设计顺序是先用自然语言表达算法步骤,再一一对应的翻译成程序框图,然后仔细推敲,使程序框图简化、细化和精确化.2.明确程序框图的基本要求,理解算法的顺序结构特征,会正确画出算法的顺序结构框图.3.通过模仿、操作、探索,经历通过设计算法的顺序结构解决问题的过程.4.认识到算法是数学及其应用的重要组成部分,是计算科学的重要基础,算法更强调思维的条理化、逻辑化和程序化,更注重问题解决的一般性,初步体会算法思想.5.通过程序框图画法规则的学习,体会程序化、规范化的算法思想,渗透对学生进行规范教育.6.了解算法的条件结构与循环结构.三、教学问题诊断分析
1.由于学生初次接触程序框图,可能会感到陌生,因此可以举生活中的例子,也可以举函数图像的例子,让学生感到程序框图并不神秘,让学生感觉到程序框图表达算法更直观、更条理、更明确.2.由于学生对算法思想没有深刻的认识,所以教学中要从学生熟悉的问题入手,让学生从算法的角度给熟悉的问题一个解决办法.但另一方面,学生可能会对很自然的、熟悉的问题不重视,因此要明确算法解决的是一类问题,算法是程序化的步骤,要强调算法适用对象的常态,突出算法的研究价值以及它的普遍适用性.3.由于程序框图是算法的一种新的表达形式,因此要明确算法的自然语言表达与程序框图表达的联系与区别,让学生掌握算法程序框图的设计顺序是先用自然语言表达算法步骤,再一一对应的翻译成程序框图,然后仔细推敲,使程序框图简化、细化和精确化.另外程序框图的符号表示可能学生一下子接受不了,需要给学生以消化的时空.4.由于学生没有上机操作,学生可能会对设计的程序框图是否正确心存疑虑.因此,教学上要强调程序框图只是把算法步骤的自然语言表达翻译成了程序框图表达,并不神秘,只要我们能把一类问题的解题步骤程序化,再按照规范操作就不会出错.四、教法与学法分析
《普通高中数学课程标准》指出,课程算法是高中数学课程中新内容,其思想是非常重要的,但并不神秘.算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法.为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成程序框图;为了能在计算机上实现,还需要将自然语言或程序框图翻译成计算机语言.学习算法的主要目的是使学生体会算法的思想,提高逻辑思维能力.不要将此部分内容简单处理成程序语言的学习和程序设计.因此,教学中首先要让学生明确学生程序框图的目的,列举生活中与函数的例子,增强学生学习的信心与兴趣.由于算法程序框图的设计顺序是先用自然语言表达算法步骤,再一一对应的翻译成程序框图,然后仔细推敲,使程序框图简化、细化和精确化.所以教学中必须通过实例进行,通过算法的自然语言表达与程序框图表达的对照学习,在解决具体问题的过程中学习一些基本逻辑结构和语句.至于学法,《课程标准》说的也很明确,那就是通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.要激发学生的学习兴趣和创新潜能,为学生形成积极主动的、多样的学习方式创造有利的条件.以帮助学生养成独立思考,积极探索的习惯.五、教学过程设计
复习提问:什么是算法?算法可以怎么表示?想过这样表示有什么缺点没有? 问题1.1:我们在高一学习过函数,请问函数的表达方法有几种? [设计意图]
比较迁移.教师说明:比较一下,我们可以将自然语言描述的算法看作“列表法”,那么算法的“图像法”有是什么呢?这就是我们要学习的程序框图.程序框图并不陌生,刚才我们进教室看到实验高中新生报名流程图就是例子.问题1.2:你能感觉流程图有什么优点吗? [设计意图] 初步感受流程图的优点.问题2.1: 上节我们学习了“判断整数n2是否为质数”的算法,还记得是哪些步骤吗?它用图形怎样表示呢?
[设计意图] 学生画出程序框图,培养学生的动手能力.初步感受流程图是算法的直观的、准确的表达.先整体认识,后面再局面分析.问题2.2: 观察所给的流程图,看看它们有哪些不同的几何形状? [设计意图] 促进对前面算法自然语言表达的理解,为程序框图的定义的得出打下基础.培养观察分析归纳能力,初步感受算法的程序框图.问题2.3:对照课本程序框图表自制作表格并填写,包括各程序框、名称、功能.[设计意图] 培养自学能力和识记能力,掌握各个图形的形状、作用及使用规则.认识程序框图里出现的基本图形符号,并且能很好地掌握他们,是接下来学习程序框图的前提,所以在学习用程序框图来描述算法之前,必须先了解这些符号所代表的意义,那样才能让后面的学习更加顺利.问题3.1: 观察所给的程序框图,说明什么是程序框图? 程序框图又叫流程图,是一种用程序框、流程线及文字说明来表示算法的图形.[设计意图] 通过观察,培养分析归纳能力.问题3.2:程序框图是怎么表示算法的? 在程序框图中,一个或几个程序框表示算法的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.[设计意图] 感受程序框图是建立在算法自然语言表达基础上的图形表示.将新知识纳入到原来认知系统中.练习1:1.流程图的判断框,有一个入口和n个出口,则n的值为()(A)1
(B)2
(C)3
(D)4 2.下列图形符号表示输入输出框的是()
(A)矩形框
(B)平行四边形框
(C)圆角矩形框
(D)菱形框 3.下列图形符号表示处理数据或计算框的是()
(A)矩形框
(B)平行四边形框
(C)圆角矩形框
(D)菱形框 [设计意图] 让学生熟悉程序框图的符号.问题4: “判断整数n2是否为质数”的程序框图有哪几种逻辑结构? [设计意图] 初步向学生们介绍在程序框图里存在的三种不同的基本逻辑结构.由于这部分知识是学生新接触到的内容,所以主要由老师引导学生一同找出图中存在的三种不同的逻辑结构,根据它们各自所呈现的不同特点总结出它们的特征,之后由老师说出它们的名称.这里对逻辑结构的初步认识,也是为后面对它们的深入探究打下基础.教师说明:(1)三者的特点:①顺序结构在程序框图中的体现是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤;
②条件结构在程序框图中是用判断框来表示,判断框内写上条件,两个出口分别对应着条件满足和条件不满足时所执行的不同指令;
③循环结构在程序框图中是利用判断框来表示,判断框内写上条件,两个出口分别对应着条件成立和条件不成立时所执行的不同指令,其中一个要指向循环体,然后再从循环体回到判断框的入口处.(2)条件结构与循环结构的区别与联系
区别:循环结构有重复性,条件结构具有选择性、不重复;
联系:循环结构中必定包含一个条件结构,用以判断循环的条件.问题5: 已知一个三角形的三边长分别为a,b,c,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.[设计意图] 例题选自课本的例3,它针对的只是顺序结构.在题目里涉及到一个学生不熟悉的概念,那就是海伦公式,所以首先要让学生们了解那是什么,否则将无从解题.之后就引导学生分析算法,这个过程可以培养学生积极思考的能力.然后由学生自己作出这道题的程序框图,锻炼学生的动手能力,加深对顺序结构的理解.练习2:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积,并画出程序框图表示.[设计意图] 这是对课本第5页的练习第1题提出的新要求,旨在让学生体会算法的两种表达方法的联系,进一步体会设计程序框图的步骤.问题6: 写出下面程序框图的运行结果.[设计意图] 培养学生读图的能力,进一步理解算法的顺序框图.练习3: 根据右边的程序框图所表示的算法,输出的结果是______.
答案 2
解析 该算法的第1步分别将X,Y,Z赋于1,2,3三个数,第2步使X取Y的值,即X 取值变成2,第3步使Y取X的值,即Y的值也是2,第4步让Z取Y的值,即Z取值也是2,从而第5步输出时,Z的值是2.[设计意图] 培养学生读图的能力,初步感受赋值的含义
.问题6: 本节课你有哪些收获?还有哪里疑问?
[设计意图] 让学生小结本节课所学知识.1.程序框图的概念与意义.2.顺序结构的程序框图的基本特征:(1)必须有两个起止框,穿插输入、输出框和处理框,没有判断框.(2)各程序框从上到下用流程线依次连接.(3)处理框按计算机执行顺序沿流程线依次排列.3.条件结构与循环结构在后面学习.作业:
1.画出今天学习的程序框图.2.已知x=4,y=2,画出计算w=3x+4y的值的程序框图.(这是一道要求作出具有顺序结构的程序框图题,很基础,一般的学生都能独立完成)
计算机程序设计教学是计算机专业课中公认的难点,这也是由程序设计自身的特点决定的,所以学生在学习的过程中有一定的难度,而职业中学的学生基础薄弱,他们的认识能力和逻辑思维水平都比较差,教学的难度相对就更大了,为使学生在较为枯燥的计算机语言知识的学习中体验到程序设计的乐趣,取得较好的学习效果,在程序设计的教学中,教师应合理的运用教学策略,以达到事半功倍的效果。
2 激发学生兴趣
兴趣是培养学生程序设计能力的前提,很多研究表明,让学生在娱乐中学习将更有利于新知识的获得。在学生刚刚介入新知识的学习时,一般会从心理上产生一种新奇感,这是学生在接触新事物时的一般反应。然而随着知识难度的加深,学生的学习积极性很可能有所下降,甚至产生对那些较为枯燥的程序设计的抵触和畏难情绪。因此,教师应该通过运用策略使学生保持初学阶段的兴趣和积极情绪。在课堂教学中,教师可采用展示“新奇”的手段,来激发学生的兴趣。比如:通过程序设计的方式来展示一些趣味内容(如:用VB制作滚动的字幕、点子时钟、绘图等),让学生知道程序设计机所具有的奇特功能,激发学生的兴趣并引导他们去研究,去实践,去创新。还可以利用教学视频、参观等多样化的教学方式,让学生了解程序设计强大功能,开阔学生视野,激发学生学习计算机知识的兴趣。
3 重视示范引导的作用
采用以实例作为知识的载体,追踪学生的兴趣和问题,由实例去操纵学生自己主动发现、分析和处理问题.注意通过一系列问题的引动,来激发学生的学习主动性和加深对一些概念的理解。在程序设计的教学中,教师要根据实际情况,先选择合适的教学实例,然后对例题进行细致的剖析,并在此过程中循循善诱地让学生进行模仿,启发学生思考,指导学生掌握程序的设计方法。如:学生在日常上网操作中经常会遇到登录操作,在学习文本框和按钮功能时,就要求设计一个用户登录窗口,要求输入用户名和密码后,单击“登录”按钮,程序会和预先设计的用户名、密码进行核对(用户名和密码最多只能输入三次,输错三次,则自动结束程序)。若输入的用户名和密码都正确,才能进入其它窗口。这样的实例与实际应用结合,不但使学生掌握了文本框和按钮的应用,也强化对了IF判断语句的学习理解。在设计的过程中为学生剖析,正确引导,使学生学会思考,在操作过程中探究和解决问题的积极性、学习的主观能动性得到了调动,进而提高学习效果。教师还应引导学生把注意力放到看懂各种类型程序的整体思路上,而不要过分关注语句的细节。当然,对于一部分学生而言,程序设计的确存在困难,所以教师的指导任务还应该包括鼓励学生克服心理上的障碍,逐步引导他们走出程序设计中的困境,帮助他们获得成功。
4 多给学生提供上机实践和自主尝试编程的机会
程序设计是一个具体实践的过程,这一特点决定了在教学中必须给予学生足够的上机操作时间,使学生在自己操作的过程中把知识进行内化。上机实践除了能使学生熟练的掌握基本的操作技能外,还能使学生注意到编程中的细小问题,培养一种严密的思维,比如上机运行编写的程序时,计算机会对出错的语句以及标点的使用给予提示,这就会使学生在脱机编写程序时对计算机曾经提示有误的地方加以注意。同时便于学生掌握修改、运行的方法。
给学生提供自主尝试的机会不仅可以使学生在操作方面更加熟练,更重要的是能够培养学生的逻辑思维能力、系统分析能力、探究能力以及创新能力,这也是程序设计教学的关键所在。所以,对于一些较为简单的程序编写任务,教师可以让学生通过自己的分析、探索来完成;而对于略有难度的程序设计,教师可以采用先让学生自主探究、尝试或与其他学生讨论的方式来进行编写,通过上机操作验证程序的对错,然后再由教师对难点问题加以详细讲解,排除学生自主分析时遇到的困难。
经过自主尝试和实践,学生不但对知识能牢固掌握,其思维也在日趋完善,自学、探究能力也得到了进一步的加强。
5 因材施教,培养学生特长
对于职业中学来说,重点培养初中级人才,有一部分学生在学习的时候的确有难度,为使大部分同学掌握所教授的内容,程序设计在课堂中只能讲授初步的基础知识,不能进行深入讲解。根据因材施教的原则,为满足对程序设计有兴趣的同学学习的需要,教师可以在课余时间通过组织兴趣活动小组,开展第二课堂活动,培养这部分学生的特长。比如:开展程序设计比赛,让学生展示自己程序设计方面的成果,这样做既有利于学生之间设计方法、技巧等方面的交流,也有利于学生享受成功的喜悦,进一步激发设计的兴趣,并要在今后的设计中改进方式方法,求新创新。通过比赛,老师可以辅导这些学生学习书本外的知识或深入讲解课本相关知识,从而提高这些学生的程序设计水平,同时也培养出了一部分程序设计的学习尖子,让这些学生在上机实训课或平时学习中帮助其他同学,以便提高教学效果。
以上几点是我在VB程序设计教学实践过程中的一点心得和体会。诚然教学策略对教学效果来说是至关重要的,但不是绝对的,有了好的教学策略,还要有一个合理的实施过程,在这个过程中,师生情感的交流对教学效果的影响也是不可忽视的,增进师生间的情感交流是教师上好计算机专业课不可轻视的一个环节。总而言之,我们要做到与时俱进,开拓创新,提高教学质量。
参考文献
[1]周敦.中小学信息技术教材教法[M].北京:人民教育出版社,2003.
[2]薛维明,王振灿,金健舟.中学计算机教学法[M].北京:清华大学出版社,1999.
关键词:程序设计;教学法;问题;对策
中图分类号:TP311文献标识码: B文章编号:1673-8454(2012)19-0061-03
程序设计课在教育技术学专业非常重要,笔者认为程序设计课除了让学生掌握基本的语法知识外,更重要的是让学生掌握算法的基本思想,能够解决实际生活中的程序设计问题。
一、程序设计课教学现状
1.教学过程中存在的问题
通过查阅大量资料,笔者发现程序设计课教学总体上过分注重计算机语言知识的讲解、机械式训练,缺乏对学生语言运用能力的培养,课程内容与实际的生活联系不够紧密。教学中忽视对学生提取信息和处理信息能力的培养,忽视对学生分析问题、解决问题能力的培养,单一的、“满堂灌”的教学方法和被动的学习方式难以形成综合的语言运用能力,难以开发学生的思维能力和分析问题、解决问题的能力。[1]
通过多年的《C程序设计教程》[2]、《Visual Basic 程序设计》[3]及《Java 程序设计》[4]的教学实践,笔者发现了教学过程中的一些实际问题,例如:教师上课PPT用的多,讲授的内容多,学生难以理解;学生听的多,做的少,下课后面对众多的内容无从下手,学习热情慢慢减弱。很多学生在实践课上不动脑筋,纯粹是验证程序,有些学生甚至在没有理解的情况下就算完成调试任务,课后不会自主学习,同学间缺少合作。
2.存在问题形成的原因分析
(1)课程本身的原因
程序设计课,学生在初高中阶段接触少,入门难。
程序设计课本身难度大、综合性强,要求学生有较好的逻辑思维能力。
程序设计课注重算法思想的形成和实际问题的解决能力。而原来初高中知识以识记和理解为主,两者之间学习模式不一样。
(2)教师方面的原因
教师为了让学生掌握程序设计知识,过于注重细节和语法规则,而忽略了算法思想的形成、思维能力的培养以及解决问题能力的培养。另外,教师在每节课教学内容的安排上,由于受课程内容和教学时间的双重限制,造成每节课内容太多,对学生来说就会产生一定的认知负荷。
(3)学生方面的原因
学生学程序设计不应该像学数理化课程一样死记语法规则和公式,而应该把握程序设计的核心思想——算法。学生自身受初高中学习习惯的影响,不会自主学习,事事都要依赖老师。而学习计算机语言要多学多练多看,程序是编出来的,不是老师上几节课就能教出来的;同学之间也需要养成协作学习的好习惯。
二教师在程序设计课程中的对策与方法探析
1.以系统科学理论为研究方法,科学安排教学过程
系统科学理论要求把事物当作一个整体或系统来研究,并用数学模型去描述和确定系统的结构和行为。系统论强调整体与局部、局部与局部、系统本身与外部环境之间互为依存、相互影响和制约的关系,具有目的性、动态性、有序性三大基本特征。[5]
这些理论用在教学过程中可以指导教师的教学和学生的学习。在教学过程中,教师布置任务要适度,既不能太难,也不能太容易,要做到让学生跳起来摘桃子;对待学生更不能一刀切,要对学生模底,因材施教;学生分组进行课题研究,需要学生之间分工协作,统筹安排。因此学生学会了自主学习和协作学习。例如,我们针对学生的实际情况,在设计项目的时候按照学生基础不同、兴趣爱好不同、技术基础不同对Visual Basic 程序设计课程中的学生进行分组,分为:游戏组、教学开发组、社会服务组等项目组。改变了教学方法后,课程的教学质量明显提升,教学效率明显提高。
2.不断创新教学方法,提升教学质量
在程序设计课中如何创新教学方法,笔者认为提升教学质量是关键因素。
(1)项目引导、任务驱动
项目教学以“项目引导、任务驱动”为主要形式,将实践项目贯穿于教学的始终,用实践任务进行新知识的引入,激发学生学习的原动力。[6]
笔者把原来每节课的任务驱动转换成课程的综合设计——项目引导、任务驱动模式。比如,在上Visual Basic程序设计课的时候,课程一开始,就给学生设计了若干项目:《试题自动抽取系统的开发》及《学生成绩管理系统的开发》等项目,并说明这些系统开发过程中要用到Visual Basic的相关知识,从界面的设计到过程的调用,从菜单的开发到数据库的调用,几乎每个知识点都用得上,这样学生就有了明确的学习目标,在学习每一部分知识的时候就会留意该怎么用上去。学生在学习过程中,既能把握整体知识又能掌握各个知识点,这种教学效果很好。学生在交作业时,开发出了很多实用的系统。《试题自动抽取系统》(如图1所示)已经用在各门课的试题库建设中,《学生成绩管理系统》也已经部分试运行,《汽车销售系统》已初步成形,可供其他单位使用。一些游戏软件稍加修改,就可供游戏爱好者使用。
(2)综合利用媒体资源,创新教学模式
C语言教学采用的教学方法是“多媒体+板书+上机调试”的形式,这一教学方法的使用,提高了教学效率,丰富了教学手段。
在Java课堂教学中,我们尝试了用QQ工具进行教学。例如在Java程序设计课的教授过程中,让同学们安装Java开发机,教师把软件包准备好,放在QQ共享中,学生下载安装就可以了。安装过程中学生看不清路径,教师直接就在QQ 群中通过即时消息框把路径发给学生。在多媒体制作课程教学中,遇到文件扩展名不一致的问题,教师引导学生从网上下载“格式工厂”,学生很快就掌握了转换方法,把多媒体制作学会了,还能举一反三到其它知识的学习中。因此,综合利用媒体资源进行教学,也是程序设计课教师创新教学模式不可或缺的一部分。
(3)改变课程评价方法,促进教学质量提升
我们在教学过程中对考试模式进行了修改,由原来的教师出题考试变成了试题库,而且可具体到每一章节,试题实现自动抽取(如图2所示),[7]这样学生可以随时检验自己的学习效果,便于及时发现问题、解决问题,使其学习效果得到极大提高。
(4)肯定学生能力,挖掘学生潜力
在上Visual Basic程序设计课时,当教师给学生设计项目时,学生几乎还没开始学习这些课,学生们担心在期末时,根本无法完成老师布置的任务。这时,老师一定要给学生足够的信心,通过梳理以前的知识,找出学生可用知识和需补充知识,还需给学生明确几本实用的参考书,这个过程教师一定要精心组织、认真安排、循循善诱,决不能布置下任务就算完事。例如:在Visual Basic程序设计教学开始之时,我们就给出了两本参考书,并划出需参考的章节,这样学生就可一边学一边做,既培养了学生的自主学习能力,又教会了学生开发系统的方法,为其以后走向社会打下了坚实的知识基础和技术基础。
三学生在程序设计课中的对策探析
1.培养学习兴趣
学生在刚开始接触课程时,需要有一个入门的过程,因此要着意培养他们的学习兴趣。具体应从以下几方面着手:
(1)明确学习目标,激发学习动机
学生有了明确的学习目标,学习过程中才会有的放矢,才能持之以恒,否则就会得过且过。比如:C语言程序设计是其它语言和计算机软件的基础,C语言程序设计掌握了,Java语言学习有了好的基础,Flash中的结构控制就容易理解了,同样网页制作中的控制结构就好理解了;如果C语言程序设计学不好,后续课程的学习将会很困难。只有让学生知道了C语言程序设计课的重要性,明确了学习目标,才会激发他们的学习动机。
(2)与实际生活结合,引起学习兴趣
不管是C语言还是Visual Basic程序设计,都是为解决实际问题而学习的。学生在学习时,一定要从实际生活中找问题、解决问题。从简单问题入手,从实际问题出发,才能引起学习兴趣。例如:对数的排序,不仅可以解决比赛排序问题、成绩排序问题,甚至还可以解决图书资料的排序问题以及试题提取中试题的排序问题。这样从实际生活的需要出发,学生的学习兴趣就会越来越大。
2.学会循序渐进
万丈高楼平地起。其实学程序设计语言没什么诀窍,除了多看、多想、多练、多编,没什么好的捷径。这就要求学生要学会在教师引导下循序渐进。从基础开始,先编顺序结构、再练选择结构和循环结构,当这些基础打牢了,再学数组、函数和指针就容易多了。
3.改变学习方法
在初高中学习阶段,教师的主导地位比较明显,不管什么课,教师都会反复多遍讲解以促进学生的理解和记忆,而大学教育,学习的内容多,知识量大,教师不可能像高中学习阶段那样一个知识点讲很多遍,学生必须改变学习方法,适应大学教育。大学有很多的网络课程和论坛供学生学习和讨论,学生要学会自主学习和协作学习,教师在教学过程中起主导作用,学生除了被动的接受学习外,还要学会自主学习、协作学习和发现学习。
4.认真做好课程设计
每一门程序设计课程的学习,最终结果都要体现在课程设计中。比如:C语言课程会让学生统计本学期班级成绩和排序,学生只有认真做好课程设计,才能掌握程序设计方法。Visual Basic程序设计,学生要开发《试题自动提取系统》、《成绩管理系统》等项目,而Java程序设计课,学生要设计基于Java程序设计的网站开发和数据库利用,学生只有把这些课程设计做好了,学习的知识才能得到应用和巩固,如果仅限于课本知识,程序设计语言是学不好的。因此学生一定要开发设计系统才能把计算机语言学活用好。
四小结
本文通过对程序设计课的探析,总结了教学过程中存在的问题,并针对存在的问题,从教师教学和学生学习两方面提出了相应的对策,对教师的教学和学生的学习有一定的参考价值。?
参考文献:
[1]马学梅.《C程序设计》课堂教学探讨与反思[J].科技经济市场,2008(10).
[2]谭浩强.C程序设计教程[M].北京:清华大学出版社,2007.
[3]余华,何玉香.Visual Basic程序设计[M].北京:北京理工大学出版社,2005.
[4]刘宝林.Java程序设计与案例[M].北京:高等教育出版社,2004.
[5]戈.老三论·新三论[J].教育发展研究,1987(1).
[6]童克波.“项目引导、任务驱动”型教材编写创新研究[J].实验科学与技术,2011(4).
[7]康桂珍.试题自动取系统的设计与实现[J].现代教育技术,2012(1):103-106.
【程序教学法】推荐阅读:
算法与程序设计教学思想10-28
崇尚程序正义教学设计11-30
《C程序设计》课程教学大纲10-19
《算法与程序设计》选修课教学实践09-24
《程序设计语言强化课程设计》教学大纲12-09
启发式在《程序设计》课程教学中的实践11-02
排课程序05-27
发展团员程序06-03