小学计算机程序教学

2024-10-30

小学计算机程序教学(共12篇)

小学计算机程序教学 篇1

研究缘起

长期以来,我国的中小学程序设计教学更多定位于程序设计语言的学习,学生无法形成计算科学特有的理解问题和分析问题的思维方式,存在问题如下。

1.乏味的形式化教材体系,泯灭了学习的兴趣

计算机诞生于西方,因此程序设计语言都明显带有西方文化的演绎思维特征,如使用巴科斯范式或语法图等形式化的方式描述语法规则,并影响到了教材的编写。这种抽象的向学生灌输程序设计语言语法知识的教材编写方式,脱离了具体的生活情境,忽视了学生自身的学习特点,容易使他们丧失学习的兴趣。[1]

2.单一的演绎式教学策略,消磨了学习的能力

受教材的影响,无论是BASIC,还是Logo,中小学程序设计教学都是采用讲授式的教学方式,教师“灌”,学生“听”,学生只能处于被动接受的状态,几乎没有动手实践的机会,课堂上大多数时间都掌控在教师的手中。这种演绎式教学策略,让学生能够在较短的时间内掌握所学的知识,却不能使学生掌握获取知识的方法,以及进一步学习的能力。

3.文本的专业化编程环境,阻碍了学习的进程

程序设计离不开编程环境的支持,然而,各种专业的编程环境,包括面向儿童的编程语言Logo,都是基于文本和符号的编程方式,学生必须自己输入指令,各种各样的语法错误往往导致学生寸步难行,大大延长了程序设计学习的时间,影响了程序设计能力的提高。

思想的源泉

近年来,从学科思维层面构建课程结构和内容逐渐成为人们的共识[2]。这里所说的思维,是指科学思维,主要分为逻辑思维、实证思维和计算思维三类[3]。计算思维起源于计算科学,2006年,卡内基·梅隆大学周以真教授在计算机科学协会(ACM)年会报告中,首次明确提出计算思维的概念:“计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。它包括了涵盖计算机科学之广度的一系列思维活动。”她认为:“计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看起来困难的问题重新阐释成一个我们知道怎样解决的问题。”[4]

计算思维不是今天才有的,只是计算机出现后,计算思维才逐渐被认识和强化。当前,计算思维已经超越了传统的计算机环境,适用于信息技术渗透的每一个角落,但是程序设计仍然是理解计算思维的最佳途径。在设计问题求解方法时,会用到递推法、迭代法、递归法等;用计算机语言描述求解过程时,会涉及顺序、分支和循环三种基本结构;考虑如何响应和处理各种意外情况时,就要用到冗余、容错、纠错的方法;在维护和修正程序的过程中,要用到测试和调试的技术。这些技术都是计算思维中的核心概念[3]。

实践的历程

1.建设程序设计教学课程资源

现有的程序设计书籍都是基于演绎思维编写的,更多适用于成人学习。从2008年起,我们着手编写适合青少年需要的《程序设计应用》校本教材,努力使其成为小学生爱看、好读、易懂的程序设计书籍。主要从以下几个方面进行了尝试。

一是从教学出发选择工具,突破复杂编程环境的壁垒。从计算思维的角度看,程序设计语言是描述问题的工具,在设计程序之前,首先要选好工具。通过多年的探索与实践,我们认为BASIC语言仍然是适合小学生学习的程序设计语言。Free BASIC(简称FB)既保持了BASIC语言简单易学的传统,也提供了程序设计开发工具所应具备的输入、编辑和调试功能,菜单简洁、清晰,可以较好地突破复杂编程环境造成的学习壁垒。

二是将演绎与归纳相结合,促进知识的主动建构。人类的思维方式一般有两种:归纳与演绎。归纳是指从各种特殊事例中抽象概括出一般规律;而演绎则是从一般原理出发,通过推导得出个别结论。演绎法是西方文化的内涵,而归纳法反映了东方文化的内涵。受西方演绎思维框架的影响,目前的程序设计教材都是直接从语句的基本格式出发,展开到各个局部细节知识。这对一直接受东方文化熏陶的中国学生来说,理解上有一定的困难。为此,我们从两个方面采取措施,融合两种文化差异所带来的问题:一是用自然语言的体系结构类比程序设计语言的体系结构,首先让学生从整体上把握程序设计语言的结构,并由此过渡到具体内容的学习[6];二是对于基本语句,先通过一个学生学习和生活中典型问题的程序,归纳出它的基本格式或解决问题的基本规律,再将这些规则或规律应用于相似问题的解决,而不把所有的知识不分巨细都“嚼碎”了“喂”给学生。显然,这是一种基于计算思维的构造性思维方式,更符合中国学生的认知规律。

三是强化算法的分析,经历问题解决的全过程。用程序设计解决问题,关键是要找到解决问题的方法——算法。对于初学者来说,往往在看到问题后,粗粗一想就开始动手,很简单的问题却写出一大堆代码,自己也说不清解决问题的方法和过程。所以,对于每一个编程问题,我们都会从问题的分析和分解开始,首先找出解决问题的算法,再用FB语言编写程序、实现算法。[1]

程序设计具有很强的实践性,学习者只有通过大量的编程实践,才能比较牢固地掌握基本的编程知识和技能,进而编写出具有“实用”价值的程序。因此,我们为每章都配置了习题,并专门编写了配套的习题解析,对教材中的习题进行详细的分析和解答。同时,进一步补充了改错题、读程序题、程序填空题等。多数习题创设了贴近学生学习和生活的应用情境,以激发学习者在真实的情境中寻找解决问题的方法。为了检测学生编程解决问题的能力,我们还使用HUSTOJ系统架设了在线程序评测系统。学生提交的程序在服务器端运行,会有正确、答案错误、编译错误、格式错误等反馈信息,可以很好地指导学生调试程序。教师亦可很好地检查学生作业完成情况,并就存在的问题进行解答。

2.创新程序设计教学策略与方法

融入计算思维,不仅是内容和工具的改变,更应是教学方法、教学方式的改变。近年来,我们总结和归纳了系列的程序设计教学策略与方法。

一是采用案例教学,自主建构程序设计指令集。程序设计的学习主要围绕环境、语言和应用三个方面的知识和内容展开,语言的学习,其核心主要在于语言规则本身。传统的程序设计教学主要使用规例法介绍语言规则,即从语句的基本格式出发,详细讲解语句的各个要素,最后举例说明。我们则在程序设计教学中运用案例教学法,首先对典型程序进行模仿,归纳出语句基本格式或解决问题的基本规律,再将这些规则或规律应用于类似问题的解决。

案例1:定义过程

1.提出问题,呈现任务。分析“俄罗斯方块”游戏,发现共有七种基本方块,本节课的任务是学习用Logo语言绘制七种基本方块。

2.运行程序,分析过程。用定义好的“ZFX”过程示范绘制一个基本方块,对“过程”作初步讲解。

3.范例研习,提取指令。出示“ZFX”过程,为学生揭开教师演示的秘密。再出示“SJX”“WJX”两个过程,归纳出过程的一般格式。

4.定义过程,尝试使用。学生尝试定义绘制正方形的过程,调用过程绘制一种自己喜欢的基本俄罗斯方块。

5.创意设计,再用过程。从“多层柜”“幸运草”和“好运星”中选择自己喜欢的图形进行分析,并完成图形的绘制。也可以自己定义一个或者多个绘制基本图形的过程,设计出新的图形。

在程序设计学习伊始,为学生提供一个需要解决的生活中的具体任务,分析解决这个问题的“程序”,引导学生提取其中的指令,得到一组“指令集”,再将这组“指令集”应用于类似问题的解决,逐渐提高个人“指令集”的复杂程度,最终得到功能强大的指令集。显然,这种例规法教学更符合中国学生的认知规律。

二是面向计算参与,在创意和计算中学习编程。Scratch是一个可视化编程工具,学生只需要拖动图形就可以轻松创作出蕴涵着故事情节的游戏和故事等编程制品。然而,许多教师仍然采用传统的“编写代码”的教学思路,并没有充分发挥Scratch在创意计算上的优势。2012年,美国宾夕法尼亚大学教育研究生院的Yasmin B.Kafai教授提出了以“社会化转向”为特征的培养计算思维的新范式——计算参与,并从三个维度进行了描述:(1)从编写代码到创建应用;(2)从设计工具到促进社区;(3)从“白手起家”到再创作他人成果。传统的程序设计学习总是通过解决一些看似趣味、其实枯燥的数学题(如农夫过河等)来学习编程。基于“创建应用”的编程教学方式,学生不再只是编写代码,设计功能完整的应用程序成为学习编程的重要任务[8]。“我的Scratch画图程序”这节课就采用了“创建应用”程序设计教学方式。

案例2:我的Scratch画图程序

教师出示学生Scratch作品范例——“画一画”程序。(1)体验操作,并思考程序中有哪些角色,它们在程序中分别有什么功能。(2)观察“画笔工具”角色的主要动作,分析角色的脚本,完成“连一连”,将动作和对应脚本模块用直线相连。(3)两人一组,一人负责现有范例程序不变,另一人逐条删除“画笔”工具中的相应指令,比较、分析每一个指令的作用。

学生在创作我的“画图”程序的过程中,需要“仔细思考用户与应用程序互动的方式,以及根据意图实现功能的方式”,知识与技能的学习有机地融入到了设计有意义的“画图”程序中来。学生不再只是技术“消费者”,更多的是技术的“生产者”。此外,在他人的基础上学习编程,一个人也可以编写相对“复杂”的程序。使用——修改——创作是这种教学策略的基本思路,范例研习引领学生发现别人解决问题的方法,通过修改参数进行模仿设计,进一步理解技术的关键要点。在此基础上,尝试为游戏添加更多的功能,从而将学到的知识与技能应用到解决实际问题的过程中,使学习变得更加有趣。

三是运用关注点分离,降低问题解决的复杂度。在教学中采用关注点分离方法,就是将复杂问题进行合理的分解,控制问题的复杂性,提高可理解性,再分别仔细研究问题的不同侧面(关注点),最后综合各方面的结果,合成整体的解决方案[9]。“画组合图形”就采用了关注点分离的方法。

案例3:画组合图形

你会画组合图形吗?这个图形由哪几个图形组成?你准备先画哪个图形?小海龟出发时的角度是多少?绘制这个图形的命令是什么?画好该图形后,小海龟的位置在哪个点?你准备把第二个图形的起始位置确定在哪个点?小海龟出发时的角度是多少?绘制这个图形的命令是什么?

通过把复杂的组合图形拆分成两个简单图形——等边三角形和正方形,实现关注点的分离,也降低了绘制组合图形的难度,更易于学生理解。

四是基于模式建构,培养正确的程序设计思维方法。现代大型软件系统的开发中,工程化的开发控制是软件系统成功的保证。在我们程序设计教学中,“个性化”方法比较严重,同一个算法在不同问题中的描述往往是不同的,学生即使编写了“大量”的程序,也无法迁移到相似问题的解决过程之中。所谓模式,是指一种经验和规律,是对相似问题的一种通用解决方案,它是经过充分考验并证明是行之有效的,能够迁移并推广到更广泛的问题解决与应用中去[6]。以下就是基于模式建构的循环语句教学案例。

案例4:循环语句

循环是程序设计最困难的部分之一,学生往往在这里开始出现分化。主要是由于在使用DO-LOOP语句时,必须自己实现循环的四个部分,这时经常会遗漏修正部分或修正不正确,或者检查条件设置不正确,造成死循环。应用模式进行循环语句的教学,则可以帮助学生建立起循环结构解决问题的基本模式:初始条件、检查条件、循环体、检查条件,学生在解决其他相似问题时,只需要根据具体问题,修改这个基本模式的相应部分即可。应用是无限的,但方法、原理、思想却是相对固定的,基于模式建构的程序设计学习,有助于学生建立良好的程序设计思维和方法。

3.探索基于机器人平台的程序设计教学

虽然Scratch采用了图形化的编程界面,但是编程的结果也只能呈现在屏幕上,基于机器人平台,学生则可以把程序下载到机器人里,即时看到编程的“物化”效果,再根据这些反馈修改程序,使程序设计的学习更具有知识性、实践性、趣味性和直观性。

例如,在机器人沿线(如黑线)行走的运动中,机器人是根据灰度传感器测得的黑白色灰度值来判断是否在线上。理论上来说,在机器人行走的过程中,灰度传感器测得的灰度值等于黑色灰度值,说明机器人在轨迹线上,测得的灰度值等于白色的灰度值,说明机器人在线下。然而,黑色轨迹线的颜色并不是绝对均匀的,可能也有小块的白色区域没涂上白色。因此,为了使机器人能够比较稳定地行走,应该允许识别黑白色的临界值有一定的差值。这样,学生在经历“思考—实践—再思考—再实践”的反复人机交互过程中,体验了在解决工程问题过程中,为满足系统的可实施性,而对系统设计中的技术、方案做出合理取舍的一种折衷思维[11]。

实践成果

至此,我们逐步建立了小学程序设计教学的课程体系。该体系主要由四个模块组成:把Scratch作为小学生首门程序设计课,学生在制作富有个性的互动媒体作品的过程中,形成信息化情境下解决问题的方法与策略;在用Logo指令控制计算机完成动作的过程中,理解人是如何通过程序指挥计算机解决问题的;通过机器人模块的学习,理解基于“工程-设计-管理”框架下的模块化、结构化、逐步求精、测试与调试等软件工程设计方法。通过FB程序设计课程的学习,学会从问题出发设计算法并编程实现,理解算法和程序设计在解决问题过程中的地位和作用。

作为最重要的计算思维原则之一,关注点分离法是处理复杂问题的一种普适系统方法和原则,在不同模块教学中都要运用这种思想方法。在基于计算参与的程序设计教学中,学生从使用、“摆弄”他人的编程制品开始学习编程,理解程序设计的基本思想。案例教学指向的思维品质正是计算思维的本质——抽象,用这种方法学习到的“程序设计”,不是陷在陌生的人工语言环境之中,依赖记指令、背结构的程序设计,而是面向贴近生活经验的、解决现实问题的程序设计。应用模式进行问题的分析与设计,有助于我们运用别人的经验,特别是专家的经验来分析、设计和描述问题,并最终解决问题。在实际的教学情境中,这几种教学方法之间是一种相互支持、互为补充的关系,我们应充分利用它们的优势,以促进学生的发展为原则来寻求一种最佳的搭配。

摘要:计算思维起源于计算科学,程序设计是理解计算思维的最佳途径。基于计算思维的小学程序设计教学,从学科思维层面重新建构了以Scratch和Logo为基础,以机器人和Free BASIC为拓展的小学程序设计课程体系,归纳和优选了关注点分离、计算参与、案例教学、模式建构等系列化的程序设计教学策略与方法,希望学生能够像计算机科学家一样去思考和解决问题,提高发现和解决问题的能力。

关键词:计算思维,程序设计,教学研究,教学实践

参考文献

[1][7]曹恒来,沈军.《程序设计与应用》校本课程开发的实践与思考[J].教育研究与评论,2015(3).

[2]李艺,钟柏昌.谈“核心素养”[J].教育研究,2015(9).

[3][5]李廉.计算思维--概念与挑战[J].中国大学教学,2012(1).

[4]Jeannette M.Wing.Computational Thinking[J].Communications of the ACM,2006(3).

[6][10]沈军.大学程序设计基础--系统化方法解析&Java描述[M].南京:东南大学出版社,2015.

[8]王旭卿.从计算思维到计算参与:美国中小学程序设计教学的社会化转向与启示[J].中国电化教育,2014(3).

[9]何明昕.关注点分离在计算思维和软件工程中的方法论意义[J].计算机科学,2009(4).

[11]钟柏昌,李艺.计算思维的科学涵义与社会价值解析[J].江汉学术,2016(2).

小学计算机程序教学 篇2

关键词:程序设计;计算思维;系统能力;教学内容改革

0引言

信息技术的不断发展对应用系统开发和维护人员的能力提出了越来越高的要求。ACM/IEEE公布的教学调整方案中,系统知识和系统能力的培养成为重点[1-2]。系统能力可以作为计算思维能力的一部分,而计算思维能力不仅适合开发、维护等专业人员,还适合各类人群,具有更加广泛的适用性[3]。作为本科阶段的第一门软件类课程,程序设计课程是一门非常适合培养系统能力和其他计算思维能力的课程,如果能够在课程教学过程中渗透计算思维能力的培养,将为提升学习者的后续能力奠定更好的基础。目前,该课程存在的主要问题是,很多学习者容易陷入对语法的强记硬背陷阱,无法真正提升其系统能力。为了解决这个问题,有必要改革课程的各个环节,其中教学内容的重新组合划分、优化选择、重难点界定等方面是基础性的环节。本文将以教学内容的改革为侧重点,探讨以能力培养为导向的程序设计课程教学改

1以能力培养为导向的程序设计课程教学内容改革的指导思想

小学计算机程序教学 篇3

关键词:计算机程序设计教学 案例教学 实践能力 创新能力

计算机程序设计类课程是计算机类专业的专业基础课程,在课程体系中占有重要的地位和作用。无论学生毕业后从事软件、硬件、网络等方向的工作,都离不开程序设计的基础。因而这类课程的教学就显得尤为重要。而案例教学法是经过长期的教学实践,形成的独具特色的教学方法,它已经在其它学科领域教学中取得了良好的效果。如何在计算机程序设计教学中引入案例教学法,发挥其作用值得每位从事该领域教学的教师的关注。

1 计算机程序设计教学的现状

高等院校最重要的社会职能就是培养专门人才。高校培养的计算机专业人才能否满足社会的需求?市场最有发言权。据我国的权威机构得出我国目前的计算机人才大体是:社会需要大量的计算机人才,但是学校培养的计算机人才达不到社会需要的技术要求,最终造成这种供与需的不协调矛盾,尤其是在今天网络飞速发展的时期,企业需要及时上岗的计算机人才,而高校培养的大部分是缺乏实践性。

虽然企业对高校计算机毕业生的认识角度不一定公正,但由此我们也可以看出些端倪:即我们的学生已经掌握了大量的基础知识理论,并有了一定的理论基础,但在我们在实际的动手能力上缺失缺乏动手能力,尤其是在利用计算网络独立实现程序的设计以及解决计算机问题还缺乏一定的不足,我们在对我们的学生进行理论知识的时候我们也要增强他们的创造能力,增强他们的程序设计观念,增强他们的社会实践性。作为老师我们要从我们的授课环节找出原因,我们细看我们的计算机授课我们不难发现我们大多数采用老师讲授学生听得简单的课堂模式,对于这些常规的授课模式我们发现它还存在着许多的问题:

1.1 以教为主的教学方式不能有效激发学生学习的主动性 以教为主的教学方式可以说已经严重的不能适应现代教育的理念,我们不能过重于老师的知识灌输,而是应该以学生为主体,因为我们现在的授课模式不利于学生的实践能力的培养,更不利于创新型人材的成长。虽然近年来教学中普遍采用了多媒体课件,提供了图文声像等更丰富的感官刺激,也使学生可以通过多媒体演示系统接收更多的信息量。但这只是灌输的方式发生了改变,即由“人灌”升级到“电灌”,师生交互、生生交互的匮乏使学生成了“接收器”,教师成了躲在拐角的“放映员”。

1.2 上机操作结果不理想 随着现在的高校硬件条件的提高,学生的上机机会也变大,这样对于学生的实践能力有了很大的提高,在一定的程度上促进了学生的设计技术水平,但是我国的计算机程序设计的上机效果还是不理想,因为现在的高校学生进行实践的课程都是对课本上的实验进行葫芦画个瓢的操作模式,这样就会缺少对于他们的创造性能力的培养。

2 案例教学的优势

案例教学就是老师根据教学的目标以及我们的大纲指导,利用我们设计出的实际案例结合我们的学习目标制定的学习内容。可以说案例教学能够引起学生的极大的学习动力,促进他们的主动性,增强他们的创新能力,因此我们在进行案例教学的时候我们一定要把理论学习与实践操作结合起来,加大对于学生的实践能力的培养。案例教学的目标定位正是当前在计算机程序设计教学领域的薄弱环节。

2.1 案例教学可以强化学生的知识,促进他们的实践能力 案例教学就是利用我们生活中的实际情况的素材,结合我们的知识,进行的理论学习,这样的学习方式可以说对于学生对于知识的掌握有着积极地推动作用,尤其是对于学生的知识转换有着至关重要的作用,这样也可以帮助学生及时的了解社会中的事件,使他们及时的接触社会的知识,缩短他们与社会的差距,从而最终提高学生的实际操作能力。

2.2 为学生提供团队工作方式,促进创新 案例教学法的授课方式是教师和学生一起,共同参与对实际案例的讨论和分析。通常,教师在课前将案例交给学生阅读,然后在课堂上组织学生讨论。创新是人类进步的源泉。创新能力的培养,是教育者孜孜追求的梦想。创新能力源自学生活跃的思维,思维通常总是开始于疑问或者问题(苏联心理学家斯坦)。正是案例这个情境化的问题,可以激发学生主动的思考和探究,寻找恰当的解决方案,从而激发学生创造力的产生。

3 计算机程序设计教学中案例教学法应用

通过以上分析,案例教学法可以解决一些在计算机程序设计教学中存在的不足。但是如何有效的用好这种教学模式,发挥其积极作用,还需要从如下方面着手:

3.1 案例库的建立 案例教学最为重点的就是案例质量的好坏,因为直接影响到案例教学的效果。一般情况下,程序设计教学案例要做到:①案例要新。教学案例要不断更新,与时俱进。②案例要实。要符合客观实际,体现教学目的、要求尽量选择离学员生活最近的案例,从而激发学员的兴趣。③案例要深。案例本身要有深度,这样才能形成见解纷呈,观点不一的案例教学应有的氛围,以促使学员积极思维,深入探讨,从而在较高层次上分析和解决问题。

要注意案例与举例不是同一概念。两者虽然都是通过一定的事例来说明一定的道理,都是为一定的教学目的服务的。但是案例在案例教学中占中心地位,而举例在一般教学活动中则居次要地位,是辅助教师说明问题的一种手段;案例教学中的案例比举例教学中的例子的涵盖面更加广泛、精致。因而在程序设计教学中,案例不宜过多,一般在学习了一个阶段后进行,甚至是在课程基本内容结束后的课程设计中引入。

程序设计类的案例教学的根本目的是使学生学会软件开发和软件设计。因而需要引入在实际的软件开发案例最为合适。当前各类资源上有大量的开发实例可供选择,但很多案例过于简单,流于形式。不能反映真实开发的全貌。所以,最好组织部分教师,对这些案例进行筛选,甚至是做出一定的修改,使其更贴近于实际,更利于案例教学的开展。同时,这也是对教师提高案例教学能力的一个有益帮助。

3.2 案例教学对教师的要求 案例教学不同于普通的授课,教师要介绍分析框架或工具,引导学生分析过程和步骤,对学生的不同观点进行梳理,对重要的理念给予提示。这都要求教师要熟悉案例,有广博的知识、较强的逻辑分析、要点概括和驾驭课堂的能力。这些能力的获得不是一朝一夕所得,需要教师花费很多的辛勤和努力。尤其是,大多数计算机程序设计教学的老师没有真正从事软件开发的经历,参加项目开发的经验也不够丰富,大多是大学毕业后任教,实践能力也未必强。对他们而言,既要提高自己的专业素养,尤其是实际的软件开发能力;又要学习案例教学法的基本方法,任重道远。

3.3 案例教学的操作程序和教学策略 案例教学的实施程序分为“理论准备-案例研讨-创造迁移”三个基本阶段。

理论准备阶段:由教师讲授程序设计必须具备程序设计理论基础(如程序结构、类、对象等)和语言的基础。针对较为复杂的内容,可以通过一些经典的小例子强化学生的理解。这里的教学方式可以是传统的方法,它是下一阶段的基础。

案例討论阶段:这是案例教学的关键阶段,它可分为以下环节:①呈现案例,激发动机。教师通过口头、幻灯、光盘等媒体形式把案例呈现给学生,尽可能的创设真实、丰富的情境。②以疑促思,全面讨论。教师引导学生进行全面分析,可以给出富有启发性和指向性的问题;可以组织学生分组讨论,然后公开发言。③创造迁移阶段。知识迁移是指可以运用已经学习过的知识来解决新的问题,通过前一阶段的学习,学生已经基本上可以解决案例问题了,这时候可以对案例进行扩展和扩充,提出新的问题。

案例教学在计算机程序设计教学中应用是案例教学法在新的领域的尝试,它的成功与否还有赖于多种因素的影响。无论如何,它是在促进以学生为主体的教学方向上的探索与实践,也为进一步提高计算机专业学生的实践能力和创新精神迈出了新的一步。

小学计算机程序教学 篇4

关键词:教学内容,课堂设计,教育教学

学生掌握编制计算机程序解决问题的知识与技能的过程, 能在V B工作环境中编写简单的计算机程序解决实际问题。体验程序设计的独特魅力。在分析问题的基础上, 感受算法的设计思想和算法描述。在完成算法设计的基础上, 体会编写程序、调试、运行和检测结果各环节的作用。

一、创设课堂情境, 引入新知课程

引入本节课的学习任务, 让学生通过的士费用计算器实例的学习, 了解程序设计的过程。从身边生活中常见的实例出发, 来引出需要解决的问题, 激发学生对程序设计的兴趣, 调动学生的主动性和积极性。

二、讲解传授新课, 生活案例分析

案例:设计一款出租车计价器。市内出租车收费标准如下:2公里以内, 收人民币6元;超出2公里后, 每公里1.8元。

(一) 界面设计

V B是一种可视化的编程工具, 其整个用户界面的设计都是基于“可视化操作”的, 这对于有一定的W indows操作基础的高一学生来说并不是一件难事。界面设计在V B程序设计中占有重要地位, 一个好的界面, 不但要令人感觉良好, 还要使程序方便易用。让学生熟练掌握V B界面的设计是进行V B程序设计的前提。V B界面的设计主要包括控件的绘制及各控件属性的设置两种工作。

任务:让学生设计的士费用计算器”的主界面。

目的:让学生了解掌握V B界面设计的方法。

“的士费用计算器”的主界面所用到的2个标签、2个命令按钮及2个文本框对应的属性如左下表所示。

(二) 编写事件代码

这是V B程序教学的重难点, 也是本节课教学的重难点之所在。教学中应把程序代码的编写重点放在算法 (解决问题的方法和步骤) 上面。为提高学生分析问题的能力, 我为学生总结出了一条V B编程的思路:根据题目要求, 先分析需要几个控件 (界面设计) , 接着分析要创建什么事件, 在每个事件中涉及到哪些控件的属性的变化, 还要考虑发生该事件前可能出现的情况 (编写代码) , 那么通过分析, V B代码的编写问题就能迎刃而解了。

提高中学生分析问题的能力是在中学开展程序设计课程的重要原因之一。因此, 让学生按照某种可行的思路来分析、解决问题, 无疑对提高他们分析问题的能力有很大帮助。

1. 编写代码前的分析 (以提问的方式让学生思考) 。

提问:根据案例的要求, 的士费用的计算按里程分为几段?

回答:3段。

依据数学知识, 建立数学模型, 分析每段的士费用的计算方法。设里程数为x, 的士费为Y。

提问:根据题目要求, 哪个对象作用能够计算出的士费?

回答:确定按钮 (Com m and1) 。

提问:确定按钮 (Com m and1) 的什么动作触发了计算?

回答:单击 (Click) 。

提问:Com m and1的Click事件涉及到什么的什么属性的变化?

回答:涉及到Text2控件的text属性变化。

总结:我们要创建com m and1的事件代码, 里面涉及到了text2的text属性的变化, 并应从text1的text属性中取得所输入的值, 还应考虑三种情况。

2. 编写代码。

让学生根据前面分析的结果编写代码。可以让每四个学生一组, 每位同学负责三种情况中任一种的代码编写, 最后再合起来成为完整的一部分。这样可以培养学生自主完成任务的能力, 初步培养学生分工合作完成一项任务的团队精神, 从而增加学生在解决问题的学习态度上的严谨客观性, 学生在课堂上的学习成就感也会油然而生。

(三) 清除按钮的代码编写

分析:清除按钮实际上是将程序恢复到初始化 (刚开始时) 的状态, 故只需将text1及text2的text属性改为原来的状态即可。

三、分析了解问题, 师生交流总结

对本节课所学内容进行简单总结, 对学生上机时出现的问题进行归纳、点评。通过让学生自主编制程序解决实际问题, 了解编制计算机程序解决实际问题的一般过程和方法。理解算法设计的思想, 初步掌握在V B环境中编写简单程序。激发学生的成就感, 培养学生的创新能力。

小学计算机程序教学 篇5

方法探讨

〔论文关键词」中职学校 计算机 程序设计 教学方法

〔论文摘要」计算机程序设计课程是中职学校计算机专业的主要课程之一,曾受到各中职学校的高度重视。但程序设计课程教学设计、教学目标及教学方法远远跟不上形势,怎样调动中职学生对程序设计语言的学习兴趣与提高他们的学习效率成为中职计算机教师们的共同关注的焦点。

程序设计课程作为计算机专业的一门基础课程,它有利于提高学生的思维能力,对学生深人学习计算机专业知识有很大的帮助。其目的就是通过学习程序设计语言的基本思想、语法知识和编程方法,提高学生的程序设计能力、分析解决实际问题的能力,并培养形成严密的逻辑思维能力。那么如何根据社会经济发展变化,对程序设计语言课程的教学内容、教学方法、考核方式进行相应的改革,实现培养高等技术应用型和高技能型计算机人才目标,已经成为广大中职教师普遍关注和重点研究的课题。

1程序设计语言教学中存在的问题

1.1教学课时少

目前我校计算机专业的学制2+1的模式,学校开设的程序设计语言课程的课时(包括理论课时和实践课时)较少,这就导致实际教学中存在理论课时和实践课时不够的情况,学生只能掌握最基础的程序设计知识,理解书本上现有的一些设计实例,而不能用该程序设计语言进行实际问题的处理。

1.2学生基础参差不齐,学习程序设计的信心、兴趣不足

因为学习程序设计需要较强的逻辑思维能力和较扎实的数学功底,而中职学校的学生普遍数学基础较薄弱,导致在学习程序设计时显得力不从心。由于缺乏对计算机本身解题的认识和了解,有些基础较差的学生还对计算机程序产生一种莫名其妙的神秘感和畏惧感,人为的给自己学习程序设计语言设置了一道门槛。学生对程序设计课程的学习兴趣不高,课堂教学中反常行为较多,如卜课睡觉、讲话、玩手机、不配合老师、不交作业等。学生普遍反映难学,提不起学习兴趣,感觉学不到知识或学的知识没用。

1.3学校对程序课程的重视程度不高

计算机程序设计课程注重对学生的思维能力的训练,这与图像处理,动画设计等培养学生动手能力的课程不同,不能立竿见影的看到学生的学习成果。这就导致一些领导对这门课程不够重视,从而使部分教师对这类课程的教学参与兴趣不浓厚,甚至有些学校以取消了程序设计语言的课程设置。

1.4教学方法落后

中职程序设计语言课程一般采用的教学方法是教师课上讲授加学生实验的形式,学生在上机实验时仅仅是对书本上现有的一些实例进行编辑调试,一旦调试成功就完成任务。这种教学方法实际上只是让学生掌握了一些程序设计的语法知识和调试技巧,而达不到培养学生利用该程序设计语言从一个实际问题人手分析问题、解决问题的能力。

1.5考核方式较简单不能全面检验学生的学习效果

目前的考试方式以试卷为主,无法全面检验学生的学习效果,对学生的实践能力考查无法体现学生的真正学习效果。

2间题分析

是什么原因造成了以上这些问题那?随着高中教育不断普及,中职生源及综合素质急剧下降。普遍特点是他们基础薄弱,尤其数学和英语,这是学好程序设计的最大障碍。教材不能适应中职教学的要求。现今中职程序设计语言教材存在的普遍问题是实践性教学和实训内容不足,没有体现教材的实用性和职业性,不能保证对学生实践能力的培养,不能体现技术应用型人才的培养要求,缺少中职教育特色。面对这些问题,我们不能望而却步,一味地去埋怨是起不到效果的,要真正想解决问题,最好就要去不断地摸索,寻找解决问题的突破点,探索适合学生发展的教学方法和教学内容,以充分调动他们的学生积极性和主观能动性。3解决间题的关键在于教育方法的创新

古人云:“知之者不如好之者,好之者不如乐之者。”兴趣对学生的学习有着神奇的内驱动作用,能变无效为有效,化低效为高效。充分激发学生的学习兴趣是当前开展素质教育,优化课堂教学,减负提质的最根本、最有效的途径之一。兴趣的产生来源于兴趣源,兴趣源必须由教师来创造,并贯穿于教师授课全过程的各个环节中。针对程序设计这门课程的特点教师可采用以下一些方法提高学生的对本课程的兴趣。

(1)基于问题的教学。提出问题,以学生独立完成为主,教师只提供必要的辅导,培养学生探索问题和解决问题的能力,更有利于创新能力的培养。

(2)“项目驱动”教学。在理论教学中采用“项目驱动”教学法,整个课程教学围绕一个“工程项目”进行,通过逐步拓展的实训项目和设计,将每一阶段的学习进行小结性的贯穿与能力提高,将知识点都溶化到一个个实训项目的程序编写中。

(3)讨论教学法。在教学过程中,充分发挥学生的积极性与主动性是非常重要的一环。程序设计有一个最大的特点,一题多解。针对这个特点,教师在习题课的教学中,可以采用讨论式教学方法。在此过程中,学生们通过提问、答辩、论证、反驳、判断等激烈的讨论,互相启发、相互协作去分析问题、发现问题、解决问题,总结经验。不仅可以让学生获得课外的知识,同时也利于充分挖掘学生的学习潜力。

(4)归纳教学法编程语言有很多的定义、概念、语法规则,它们使用灵活、难以记忆,也特别容易出错。如果能够引导学生进行归纳,将会起到事半功倍的效果。编程语言的定义、概念、语法规则有许多相似的地方,例如:FOR „„TO„„与DO„„W HILE等命令,有很多语法规则是一样的,对它们进行归纳之后,学生只要记住其中一个,另一个自然就会使用了。

(5)分组教学法。注重培养团队精神,以“竞”求进上机编程实践是学好程序设计语言的关键。但上机实践过程中如果“各自为战”,或在教师的统一“指挥”下以完成不同题型的任务为实践内容,对于中职学生而言很容易失去上机兴趣,也很难达到上机实践之目的。因此,不妨针对中职学生的特点,适当转变上机实践的形式。以组建团队的形式上机实践,事前分配给每个学习小组不同的实践任务。组长负责本组学生利用课余时间去思考、收集资料,上机时各组先分别完成相应任务,然后相互演示成果,评判优劣,最后再进行任务交换,讨论编程心得。在此过程中教师主要充当协调者的角色,对确有疑难的地方可适当加以指导,主要过程可由学生自行解决,则学习能力强的学生自然会成为教师的助手。

(6)案例分析教学。对程序设计语言的教学,不仅仅是教程序设计语言知识,更重要的是让学生学会如何利用程序设计语言知识去编程,去应用于实际需求中。采用案例教学,可以实现课堂内外的有机结合,实现理论与实践相结合。结合学生自学,让学生带着疑问进行案例分析,教师在分析过程中穿插讲授专业理论知识,学生在分析案例的时候,一方面增长知识视野,丰富分析应用技巧;另一方面,在探索思考如何把知识运用于实践,从而及时有效地促进学生对知识的消化吸收,真正达到理论与实践相结合的目的。当然在案例的选择上应结合学生的专业实践,让学生能学以致用。

4结语

小学计算机程序教学 篇6

关键词 计算机;程序设计;课程;教学方法

中图分类号 G4 文献标识码 A 文章编号 1673-9671-(2010)082-0176-01

计算机程序就像人的大脑一样,起着总指挥的作用,如果计算机没有程序,将不会发出任何指令,什么也做不成,只是成为一个摆设。所以开展计算机程序设计课程的教学,是开发好计算机资源的关键点。对于我们目前接触的计算机程序设计课程是非常广泛的,有《VisualC++程序设计》、《C语言程序设计》、《VisualFoxpro程序设计》、《Java》、《PowerBuilder》等等方面。而目前学生对于学习计算机的程序设计总感到枯燥难学,学习显得很被动、机械,没有学习兴趣,甚至是畏惧。教师在计算机程序教学中,也感到难于教学,上课时往往采取填鸭式的教学方式,其结果是收效甚微。而对于职业学院的要求是培养应用性,市场性的综合性的人才是相违背的,教师只有在教学上不断改变教学方法,来培养学生更好的学习计算机程序设计的教学方式方法。

1 以“教师为主导、学生为主体”的计算机实际操作方式

以“教师为主导、学生为主体”的计算机实际操作教学,其一是让学生有更多自我学习的时间,让他们主动探索其知识的深奥点,从认识问题开始,到独立解决问题的过程,让学生感悟到理论知识的指导与实际操作的区别。其二是教师应该发挥主导作用的地位,教师在计算机程序设计方面的认识先于学生,并且高于学生。而很多学生在学习时是没有目标的学习,对于没有目标的学习是盲目的学习,所以教师应明确教学目标上起主导作用。在每一节课上,教师要根据教材和学生的实际制订合适的教学目标。并巧设训练题,和对重点、难点、疑点的知识进行主导作用的教学。如生产程序是用COBOL、BASIC這样的POL编制的,而在POL中一个指令序列是采用一条接着一条执行的,其中就会涉及到一组指令集。包括计算指令,数据传送指令,输入/输出指令,控制[判定和(或)转移]指令,格式语句等。学生在这些方面认识上就显得很肤浅,教师这时就要起到主导作用,引导学生在计算机上进行实际操作,并发现问题解决问题。让他们真正在学习东西,并且跟着自己的思维方式和爱好在进行。同时还能加深对一些指令的认识作用,例如记住“IF”语句来表示条件转移指令,“GOTO”语句来表示无条件转移指令,“END”语句终止程序的执行。

2 计算机实例教学方法

教师在进行计算机程序设计教学时,一定要注重实例的教学方法。如教师在教学《VisualFoxpro程序设计》时,首先面对的是课本中一系列的在程序设计中比较抽象难懂的概念,包括对象、对象的属性、方法和事件及VisualFoxpro语言基础等等知识。在把这一系列的概念让学生学习后,才进行程序的建立和运行的学习。这样学习不仅显得枯燥,而且学习吸收效果差,根本引不起学生的注意,培养不起学生的兴趣爱好。教师在引入这些知识时,应该是伴随着实例的教学进行,让学生看见通过一些程序的设计就会发现一些神奇的变化现象,让学生有想更深入的了解的欲望。例如设计一个为打开证券客户关系表,让其输入一个控制口令控制程序的执行,当其口令为1时,那么需要把“银行代码”为“001”的所有记录加上删除标记;当其口令为2时,那么需要把“银行代码”为“002”的所有记录加上删除标记;当其口令为3时,那么需要把“银行代码”为“003”的所有记录加上删除标记,也就是以此类推。这程序是:CLEAR,USE银行客户关系表BROWSELAST和EXCLUSIVE等。对于TOyhdm,DOCASE,yhdm=“1”,DELETEALLFOR证券代码=“001”,BROWSEALLFOR证券代码=“001”,RECALL,CASE,yhdm=“2”,DELETEALLFOR证券代码=“002”,BROWSEALLFOR证券代码=“002”,RECALL,CASE,yhdm=“3”,DELETEALLFOR证券代码=“003”,BROWSEALLFOR证券代码=“003”,RECALL,ENDCASE,BROWSE,USE。在这样操作后,让后再看这个程序设计的结果,同学就会发现在这样的代码和符号下,就会发现惊奇的变化是多么的欣喜若狂。会更加喜欢这样的程序设计教学课。

3 计算机程序设计的问题讨论教学

问题讨论教学更体现了一种发散思维的教学,在教师提出一个问题,让学生进行自由的讨论学习,学生可以根据自己的想法思维进行对问题的解决,并且全班同学在一起进行讨论学生,互相能够学习别的同学另类的思想和自己的不足,从而把教学推向了更深次的教学,把实践性学生融于到了教学中,使学生能够很好的融入到以后的学习工作中,更好的进行计算机程序设计的意义。如C语言中有这样一个题,让学生学习。其程序是#include,#defineN6,main(),{charc[N];inti=0;for(;i代表一个回车符:a,b,cdef。要求回答输入的结果,这就需要学生进行讨论,才能得到结果:*(*(a+i))。如果有同学得到a[p-a]或*(&a[i])或p[i]。这就需要进行分析,同学互相讨论出差的原因,这样更能促进学习的意义。

总而言之,教师的教学方法好坏,直接影响到学生学习的好坏,教师应该在工作中不断总结经验,不断创新其教学方法,让学生在计算机程序设计中能够学到东西,而且是愉快的学习。但是教师在创新教育教学的同时,还需要同学的配合,因为教学必定是双边过程,教师教学生一定要学,才能把教学开展好。

参考文献

[1]苗,金炳尧.支架式教学方法在计算机程序设计课中的应用研究[J].实验室研究与探索,2007,04.

[2]张冬云.程序设计语言.教学与专业课结合,培养学生计算机应用能力[J].广西大学学报(哲学社会科学版),2001,S1.

[3]肖潇.对普通高校计算机程序设计教学的思考与实践[J].电脑知识与技术(学术交流),2007,1.

[4]杨春.初学C语言程序设计的基本方法和技巧[J].人力资源管理,2010,01.

小学计算机程序教学 篇7

1 任务驱动模式

1.1 任务驱动模式的概念

任务驱动模式是建构主义学习理论支持之下构建的教学模式, 在教学的过程中, 根据教学目标设置相应的任务, 让学生通过自主学习或者合作学习来完成任务以实现教学目标。任务驱动模式的教学方法能够摆脱传统灌输式教学的枯燥性, 使学生报以极大的热情积极地参与到教学活动当中, 能够充分地提升学生的课堂参与程度, 大幅提高课堂教学的效率。

1.2 任务驱动模式的开展环节

任务驱动模式的开展环节包括包括创设情境、确定任务、自主/协同完成任务、效果评价4个方面。

(1) 创设情境。情境的创设是任务驱动教学方法同其他教学方法的重要区别。在其他教学方法中, 教师大多是在教学开始时直接开始讲述课堂内容, 学生难以感受到课堂内容与实际生活之间的联系。而任务驱动模式的教学过程中, 通常要先根据课堂内容设置一定的情景, 这些情景与学生的日常生活紧密相关, 能够将学生带入到课堂当中, 进而兴趣十足地开展学习。而教学情景的创设还能够使学生明白教学内容的实用性, 进而在具体的生活当中自主地使用这些学过的知识, 提高自己的实践水平。

(2) 确定任务。任务是任务驱动模式的关键部分, 同时也是学生学习过程中必须通过自身思考等来完成的部分, 是整个教学过程的核心。学习任务需要根据课堂内容的重点来确定, 同时, 任务既需要有一定的难度, 还需要保证学生根据自己所学的知识能够得以解决。因此, 任务的确定既是任务驱动模式的关键部分, 同时也是任务驱动模式的难点部分, 需要教师根据课堂内容、学生的水平等来准确把握。

(3) 自主/协同完成任务。任务的完成是任务驱动教学模式的主体部分, 学生也是在任务完成的过程中实现课堂知识和内容的学习的。通过自主或者协同完成任务, 学生对于课堂的参与程度较高、兴趣度提升、学习效果也能够获得大幅的提升。在确定完成任务方式的过程中, 较简单的单一任务由学生自主学习来完成, 较难的复杂任务由多个学生分小组来协同完成, 这样, 能够最大化地提升课堂学习效率。

(4) 效果评价。效果评价既是任务驱动模式的评价环节, 同时又是其事后控制环节。通过进行效果评价, 教师能够对学生在任务完成过程中的表现情况 (包括自主思考情况、任务参与情况、结果提出情况) 进行评价, 还能够对任务完成情况与教学任务的匹配情况进行评价, 更重要的是, 教师需要根据评价结果来对任务驱动教学过程中的不完善情况进行发掘和弥补, 同时为下一次任务驱动模式教学的开展提供经验和参考。

1.3 任务驱动模式的特点

首先, 任务驱动模式以任务为中心。任务驱动模式是围绕着任务的提出、任务的完成以及任务的评价3个重要环节来开展的。因此, 任务就显得尤为重要, 在任务驱动模式中需要精心设置任务, 组织学生完成任务, 并且对任务的开展过程等进行全面的评价。

其次, 任务驱动模式强调对学生学习兴趣的调动。在传统的学习模式中, 教师的任务是完成课堂知识的由自己向学生的传授, 而不关心学生的学习兴趣, 这种教学方法的弊端在于, 学生的学习兴趣没有得到充分的激发, 因而对学习内容的关注程度较低, 导致学习效率不高。而在任务驱动模式的教学中, 学生学习兴趣的调动是非常重要的一部分内容。只有学生的学习兴趣被充分地调动, 学生才能够自主参与到教学过程当中, 完成目标任务。这样, 教师在任务驱动模式中关注的是学生的学习兴趣, 依靠不断地调动学生的学习兴趣来实现课堂教学目标。

最后, 任务驱动模式要求学生积极地参与到课堂当中。在传统的教学过程中, 学生对于课堂的参与程度较低, 其学生主体地位难以得到保障, 教师则为了向学生灌输知识而占据了课堂的主体地位, 不关注学生是否在听其讲述, 是否能听懂其讲述以及听懂了之后会否实际运用。而在任务驱动模式的教学过程当中, 教学任务需要学生通过自己思考、与他人合作等方式来完成和实现, 这样, 就大幅提升了学生的课堂参与程度, 能够有效地提升学生的课堂学习效率。

2 任务驱动模式在计算机程序语言教学中的实现

2.1 教学情景的创设

计算机程序语言本身较为枯燥, 同时也较为抽象, 跟实际生活距离较远, 给教学情景设置带来了一定的难度。这也从侧面说明了教学情景设置的必要性——必须要通过教学情境的设置才能够使学生更进一步地了解计算机程序语言的内容以及其利用范围。在具体的教学情境设计过程中, 可以将案例等融入进去来开展教学, 最终促进教学效果的大幅提升。如, 在JAVA的实际教学过程中, 可以根据教学内容, 在开头放一些简单的JAVA技术支持的小游戏, 让学生来模拟试玩。然后让学生说出自己的游戏体验, 找出游戏的缺点, 最后让学生推测游戏的编程方式等。这样, 在游戏的激发之下, 学生能够对计算机程序语言课堂产生浓厚的兴趣, 同时, 在不友好体验的刺激之下, 学生有动力来通过自己的思考以及与他人的合作等来完成游戏内容的探索。这样, 学生以后在打游戏的过程中, 遇到各种问题, 也能够自己动手解决和完善, 这样就实现了教学情景设计的提高学生实际应用能力的使命。

在教学情景设计的过程中, 一定要充分考虑到学生的兴趣爱好, 根据学生的兴趣爱好来进行相关情景内容的设计, 这样才能够充分激发学生的学习兴趣。同时, 教学情景的设计需要根据教学任务来进行, 这样, 学生才能够被带入到教学活动当中。

2.2 教学任务的确定

计算机程序语言中教学任务的确定有其自身的难度, 因此, 教师在教学任务确定的过程中, 需要对学生的学习基础有一定的把握, 同时, 需要对教学内容有一定程度的掌握, 这样, 才能够根据学生的学习基础设置出包含教学内容的, 学生通过自身学习能够实现的教学任务。首先, 教师可以根据学习的难度情况在上一节课程完成时就布置下一节课的学习任务, 这样, 学生就有充分的时间来查资料和进行其他准备。其次, 计算机程序语言课程中一般都有较为明显的重难点, 教师在进行教学任务确定的过程中, 需要囊括这些重难点, 如此, 学生在完成教学任务的过程中才能够实现对这些重难点的掌握。最后, 教学任务的难度设置应该适中, 这样, 学生才能够通过自己的努力来完成任务, 获得学习的成就感。

2.3 自主/协作学习过程

自主/协作学习过程是学生的任务完成过程, 对于任务驱动教学模式的目标实现有着至关重要的作用。其一, 根据任务的复杂程度来决定学生是采取自主学习还是协作学习的方式来开展学习。在单一程序语言的学习和运用中, 一般选择让学生通过自主学习来完成并提交学习任务, 而在较为复杂的多语言程序学习过程中, 则应该让学生通过协作学习的方式来开展学习。其二, 在学生学习的过程中, 教师对学生存在的难点进行指导, 帮助学生顺利完成学习任务。其三, 教师应该在学生学习的过程中对学生的学习行为进行认真的观察, 以为对学生进行评价做准备。

2.4 效果评价

任务驱动模式的效果评价应该包括以下几个方面的内容:任务完成态度的评价、任务完成方法的评价、任务完成结果的评价、个人成长性评价以及课堂参与程度的评价等。这些方面基本囊括了任务驱动模式的所有方面, 避免了学生在评价过程中参与程度低、不努力思考以及方法使用错误的情况。任务驱动模式的评价主体应该包括教师、学生自己以及同学之间的评价等, 这样, 才能够实现对学生的全面评价, 对学生形成有效的激励。

3 结语

综上所述, 任务驱动模式的教学有其自身的特点, 能够对学生的计算机程序语言学习有良好的促进和激励作用。因此, 我们在计算机程序语言的教学过程中, 应该根据教学内容的实际情况适当地采用任务驱动教学模式, 以实现学生学习效率的大幅提升。

参考文献

[1]戴挺, 童蔚苹.探究式教学法在计算机程序设计教学中的应用[J].电气电子教学学报, 2006 (2) .

计算机程序设计课程教学方法探讨 篇8

兴趣是最好的老师, 要想学生能够学好VB编程, 培养学生的兴趣就是关键。在《VB程序设计》课程教学中, 如何找到一条比较新颖、有效的解决程序设计枯燥、难懂的教学方式, 一直是从事计算机教学的教师不断探索和研究的方向。当学生对所学的课程知识产生兴趣和爱好时, 就会从内心发出向往和求知的强烈欲望, 产生积极、主动的学习动机, 那么学习过程也就不再是一种负担, 而是一种愉快的体验, 学习效果也会事半功倍。也就是说不管老师讲得多好, 如果学生对你所讲的内容不感兴趣、感觉没用, 他就不会努力学习这门课程, 你的教学肯定是不成功的。为了避免学生出现对VB这门课的误解, 对它失去兴趣。起初上课时, 我们不要讲授太多太深的理论知识, 但可结合学生所学专业, 演示几个用VB开发的相关程序, 让学生领悟到《VB程序设计》在今后专业岗位上的作用, 多讲一些VB在现实生活中的应用。例如让学生玩一些由VB开发设计的五子棋、俄罗斯方块等游戏, 或用各种计算器按要求计算求值, 通过实例的有效引入, 可以让学生了解VB的实用性, 培养学生的学习积极性。然后让学生亲自上机操作, 验证运行程序, 逐渐培养他们的兴趣, 树立学生学习VB的信心, 激起学生学习的兴趣。学生学习的积极性调动起来了, 这对教师来说, 就已经成功了一半。另外, 还可利用网络通讯工具和学生交流, 巩固学生已经树立起来的学习积极性, 如在网上论坛上设立留言板和讨论板, 学生可以向老师提出问题, 老师在网上解答学生的问题, 同时老师也可以在网上发布相关材料, 让同学展开讨论, 这样就极大地激发了学生的学习兴趣, 使得以往老师的满堂灌输的填鸭式教学变成学生自主学习。

2采用启发、引导的教学方法, 培养学生的实际应用能力

2.1设计教学的主要环节, 因“材”施教与因“需”施教相结合

《VB程序设计》课程的内涵十分丰富, 涉及的知识单元和知识点很多。因此在教学过程中, 不仅要培养学生程序设计的技能, 还要培养学生系统分析和系统开发的技能。实施VB的教学, 首先要选择合适的教材, 这样既有利于教师设计教学过程, 又有助于学生的学习。这里所讲的“材”是指以教材为纲, 按照教材的章节按部就班地讲授, 课堂教学中往往以教师讲课为主, 要求学生紧跟教师的思路, 但是教学方法极易造成教与学的脱节, 限制学生创造力的正常发挥。而“需”是紧扣教学大纲所确定的培养目标, 以应用为目的, 以必需够用为尺度, 打破课程界限, 将相关课程的知识点加以整合, 按照“实际、实用、实践”的原则重新组织教学内容, 这是VB教学方法的重要方面, 也为教师在讲课过程中提出了更高要求。另外, 程序设计是设计与实践并用的工作, 只听、看、读是学不会的, 只有让学生多动脑、多动手、多实践, 通过编写调试大量的程序, 才能使学生从中理解程序设计的思想方法、积累程序调试的经验, 体会成功的喜悦。因此, 在实验环节, 除了验证型实验外, 增加了设计型实验和综合型实验。为了解学生学习的具体情况, 提高教学效果, 授课教师要督促学生独立完成上机实验, 以提高学生的动手能力, 为学生创造性发展提供良好的条件。

2.2实例教学

《VB程序设计》是一门实用性很强的课程, 它既有理论又有实践, 既讲方法又讲动手能力。讲授《VB程序设计》, 像任何其他语言的程序设计一样, 教材中前几章多数都是先介绍对象、对象的属性、方法和事件及VB语言基础等等一系列的在程序设计中比较抽象难懂的概念, 然后才介绍程序的建立和运行。因此在教学中, 可适当打破课本原有以知识的逻辑结构体系为顺序组织课堂教学的方式, 改用从简单有趣的实例入手, 通过让学生观看、模仿, 在实际操作中去探究和领悟这些概念, 例如, 在一开始学习VB对象及对象的方法和事件的有关概念时, 我设计了一个求外语、教育学平均成绩的并打印平均成绩的程序实例, 让学生和教师一起做, 在当前打开的窗体内添加了三个命令按钮、三个文本框和两个标签, 设置好各对象的属性;并分别在三个命令按钮的单击事件过程中添加相应代码, 按功能键F5运行程序。在操作的过程当中, 教师开始只简单提示学生完成程序, 等学生完成任务后, 教师通过设问, 让学生思考:什么是对象的方法和事件?并让学生找出本实例中各对象的名称、不同对象的方法和事件过程名称, 教师再适当加以归纳和小结:窗体以及添加到窗体中的控件, 统称为对象;而方法却是VB提供的内置于对象的特殊子程序, 它可以直接调用, 如Print方法;而事件则是对象能够响应和识别的动作, 如单击鼠标触发Click事件等, 同时提醒学生注意观察在VB中方法与事件的区别。在此基础上, 再适当引导学生归纳总结出创建VB应用程序的基本步骤, 及如何在界面内添加对象、设置事件等等, 一切问题都迎刃而解。在讲解实例时, 教师当以精选出的具有代表性的程序实例, 把重点放在具体实例的分析和讲解上, 把要学习的语法和概念融入到具体实例中来讲解。

2.3重视算法, 抓住核心

在教学中经常存在这样一种现象:很多学生对语法、结构等知识掌握得很好, 但一旦碰到实际问题就束手无策, 不知道如何用学到的知识解决实际问题, 其实这是算法能力欠缺的一种表现。教师经常注重于分析每条语句的含义, 却忽略了算法描述过程的展现, 造成学生知其然不知其所以然。其实, 在VB中, 算法设计是它的核心。如果学生掌握了良好的算法设计能力, 也就掌握了钓鱼的本领, 无论遇到什么问题都可以很好的解决。那么在教学中可以通过多种方法培养学生的算法设计能力: (1) 详细讲授常用的算法。算法有很多种, 学生一般只要掌握常用的就可以满足编写模块的需要。而与数据结构、软件工程相关联的算法则不做要求。 (2) 教师带领学生多阅读程序, 分析过程, 吸取他人的经验和成熟的算法, 使学生少走弯路或不走弯路。 (3) 开展实践性学习, 引导学生积极参与编程实践, 促进思维的飞跃, 比如让学生练习编辑班级学生档案管理软件等等。在这个过程中, 学生亲自动手解决具有一定难度的实际问题, 为之设计合适的算法, 经过实践去培养学生的创新意思、应用意识和探究能力。这些意识和能力一旦形成, 就会使学生利用VB解决实际问题能力得到很快的提高。

2.4培养学生综合运用知识及自己动手的能力

程序设计课程的实践性很强, “精讲多练”是程序设计课程教学的一大特点, 实验教学在程序设计教学中起着重要的作用, 学生只有通过自己编写程序、上机调试程序, 才能从中理解程序设计的思想方法、积累程序调试的经验, 体会成功的乐趣, 从而激发学生的学习兴趣, 学生只听不练根本达不到学习的目的。学生在完成课后习题时积极性不高, 兴趣不大, 甚至想抄作业应付老师。只有让学生动手编制他们感兴趣的程序, 学生才会有成就感, 才会对课程产生兴趣, 学起来才会从容自如。如在学生学会编写求1+2+…+N!=?的程序后, 即引导学生设计求N!的程序, 待学生设计出N!的程序后, 接着又让学生进一步设计求1!+2!+…+N!=?的程序。这种一环紧扣一环的探究式的动手实践练习, 以发展学生探索能力为主线来组织实践, 以培养探究性思维的方法为目标, 以基本的教材为内容, 使学生通过再发现的步骤进行主动实践的过程, 产生一种探索和发现的心理。因此如何让学生综合应用所学知识解决实际问题, 提高综合应用能力和动手操作能力, 激发学习兴趣也是我们需要加入课程设计的内容。课程设计时, 老师要重点设计选题, 使得选题既贴近实际需要, 又能够让学生感兴趣, 并且能够运用所学知识解决问题, 课程设计题目分为基本题和综合题。基本题按教学顺序设计, 尽量避免涉及后续章节的知识, 后续的课程设计题目尽量引用前面的课程设计内容, 以便加深对前面所学知识的理解;综合性题目是对一学期所学知识的总结和巩固, 应与实际生活或工作相关且具有一定规模, 可将其分成几个子项目, 由更多的学生参与, 分工合作, 以期进一步锻炼学生的动手能力, 从而进一步培养学生分析问题、解决问题、研究和探索问题的能力和团队协作精神。

3以学生学习内容为中心, 完善考核形式

考试是测试学生的知识与能力、评价教学质量的基本手段。是教学过程中的重要一环, 也是对一阶段教学工作的总结与检查, 也是检验学生学习效果、评价学生学习业绩的重要环节, 考试的形式对教学目标、教学过程有着相当大的影响。由于VB课程是一门实践性很强的编程基础课, 它不仅要求学生牢固掌握基础知识、基本概念, 而且更重视培养学生的实际编程能力。考试分理论考试与上机考试两种, 理论考试采用闭卷形式, 主要考查学生对基本知识的掌握程度以及阅读和编写程序的能力, 题目涉及选择、判断、简单概念填空、读程序写结果、根据给定的功能编写程序等, 可以比较全面地考查学生的理论水平。上机考试则更加侧重学生的实际应用能力, 重点考查学生阅读程序、编写程序、调试程序的综合能力。另外再加上该课程的平时成绩, 就可以对学生程序设计的综合能力进行评价。通过几年经验积累表明考核形式实施后, 学生的VB基础知识和基本技能比改革前有了明显的提高, 为计算机后续课程的学习打下了基础, 为学生通过VB等级考试积累了经验, 也为今后用计算机解决专业问题奠定了基础。

总之, VB作为一门重要的编程语言, 在高校的计算机基础教学中仍然占据重要位置, 教学方法在程序设计教学中的举足轻重制约着程序设计教学的效率。科学的教学方法一定会为学生提供良好的帮助。我们在教学过程中应以学生为主体, 教师为主导, 采用符合学生认知规律的、科学的教学方法, 充分调动学生学习的主动性, 同时, 采用综合评价学生的方式, 努力培养学生自主学习的兴趣, 提高学生实际应用能力, 从而使得VB课程的教学质量得到不断地提高。

参考文献

[1]张萍, 陆根书, 程文文.教学情景对大学生学习方式的影响[J].教学研究.2006, (4) .

小学计算机程序教学 篇9

Visual Basic程序设计课程是中职计算机专业学生必修的基础课程之一, 能否学好VB程序设计, 直接关系到学生计算机基本技能的形成。对大部分中职学生而言, 虽然知道这门学科很重要, 但由于程序设计的枯燥、难懂, 不少学生都对这门课产生了畏惧心理。大部分中职学生文化课基础并不乐观, 数学和英语知识背景不够扎实, 导致VB程序设计课程的学习出现困难。教师要探索出行之有效的教学方案, 激发学生VB程序设计的兴趣, 排除畏难情绪, 让学生在快乐中学习这门课程, 提高程序设计能力, 成为专业素质健全、职业技能完备的综合型计算机人才。

二、如何提高中职计算机VB程序设计课堂教学质量

(一) 按照学生的认知规律, 整合课堂教学

计算机VB程序设计课堂教学要遵循中职学生认知规律和学习水平, 按照学生的知识基础, 依照先易后难、先具体后抽象的原则, 循序渐进地开教学。

大部分VB程序设计教材都将《VB语言的基本语法》和《VB中对象的使用》这两部分知识分开来讲:先讲VB语言的基本语法, 后讲VB中对象的使用。实践教学发现, 任何一个完整的应用程序都不可能只用语法或者只用对象, 构建界面需要用到VB面向对象相关知识, 具体功能的实现需要编写代码。学生在只会语法或只会对象的知识背景下难以理解编程概念, 学得一头雾水, 挫伤了学习积极性。教师应根据学生实际水平以及教学需要, 将VB面向对象的程序设计方法和事件驱动的编程机制穿插讲解, 树立学生编程的信心。

教学过程中, 教师不必完全按照教材顺序进行授课, 可适当根据学生实际情况, 有策略地整合教学顺序。在组织课堂活动时, 基本概念不一定要先讲, 教师可以从实例入手, 让学生通过观看、理解、模仿来探究基本概念。相比起枯燥晦涩的概念知识, 学生对实例要敏感的多。先给出实例, 引导学生在探究实例的过程中总结基本概念, 能让学生在轻松愉快的氛围中学到知识, 降低学生理解新概念的难度, 更加契合学生的认知规律。

(二) 指导学生上机实验, 强化巩固知识

计算机VB程序设计是一门实践性很强的学科, “纸上谈兵终觉浅”, 教师要指导学生进行上机实验, 在实践操作中激发学生的学习兴趣。理论课上得太多, 学生难免感到单调, 教师要培养学生分析问题和解决问题的能力, 为学生提供课程设计内容, 让学生在实际操作中提高计算机水平。

例如, 在“VB.NET环境和可视化编程基础”这一内容教学过程中, 教师可以为学生布置上机操作的实验任务:尝试启动和退出VB.NET, 操作文本框、命令按钮、图片框等常用控件, 建立、编辑和运行VB.NET应用程序。在学生上机实验时, 教师要先为学生示范, 并注意从旁指导, 监督学生是否学会创建程序、左右移动文字、图片的缩小等基本内容。对于实验操作有困难的学生, 教师要针对学生问题重新示范, 发现普遍性错误还要在理论课上进行总结讲解。

学生上机实验的难度应逐渐增加, 在模仿阶段, 教师通过示范帮助学生在实践中领悟知识;在分层次阶段, 教师要根据学生掌握实验技能的不同水平, 为不同学生设计不同梯度的课程设计内容。比如, 编程基础完成较好的学生, 教师可以布置附加题, 让学生编写人民币与美元相互兑换的程序。通过上机操作, 学生能将所学理论知识应用到课程设计上去, 提高实践能力, 在活学活用中开拓编程思路。

(三) 小组合作学习模式, 使课堂“活”起来

新课程教学理念要求构建“学生为主体, 教师为主导”的课堂教学模式, 在中职计算机课堂上, 教师也应采用新颖多元的教学模式, 激发学生探究编程设计的兴趣。学生能否在课堂上完成教师安排的具体任务, 课堂组织起到很大作用。教师可以尝试小组合作学习的方式, 组织学生成立编程小组, 完成学习任务。

例如, 在VB.NET环境和可视化编程基础实验操作课上, 教师可将班级学生分为4人左右的小组, 每组选出一位任务完成度较高的学生为组长, 对小组成员进行实验指导。教师的精力毕竟有限, 班级学生人数众多, 并非每一位学生都能享受到一对一指导, 采用小组合作学习, 不仅可以让成绩好的学生升华计算机技能, 也能使基础差的学生享受到专业指导, 顺利完成学习任务。

VB程序设计对培养学生逻辑思维能力、创新思维能力具有重要意义, 能否学好这门课关系到计算机专业学生的就业前景。课堂教学过程中, 教师要围绕Visual Basic程序设计教学目标, 在保证学生学习积极性的前提下, 按照学生的认知规律组织教学。“教无定法”, 教师要结合中职学生的具体情况, 有策略地选择教学方法。

参考文献

[1]孙秀.VB教学方法改革的探索与实践[J].辽宁师专学报, 2005 (2) .

小学计算机程序教学 篇10

关键词:程序性知识,陈述性知识,计算机教学

1 教育心理学中对知识类型的阐述

知识内容分为陈述性知识和程序性知识。陈述性知识是指需要学生有意识地回忆出来的知识,包括符号表征、概念、命题;程序性知识意即概念和规则的运用,包括智慧技能和认知策略。

程序性知识是个人具有的有关“怎么办”的知识。关于程序性知识的类型,按加涅的智慧技能层次论,把智慧技能分为:辨别、具体概念、定义概念、规则和高级规则。按J·R·安德森的说法,是模式识别和动作序列。模式识别就是对事物分类,实际上也就是概念的运用;动作序列就是根据符号进行一系列运算或操作,也就是规则应用。可见程序性知识主要涉及概念和规则的应用。程序性知识是由“如果..则..”式的陈述所组成的知识,包括模式识别和操作步骤。程序性知识中的操作步骤,不但要识别模式,而且还要执行一系列行动。

陈述性知识的学习可以分成3个阶段:(1)新信息进入短时记忆,与长时记忆中被激活的相关知识建立联系,从而出现新的意义的建构;(2)新建构的意义存储于长时记忆中,如果没有复习或新的学习,这些意义会随着时间的延长而出现遗忘;(3)意义的提取和运用。

程序性知识的学习也分为3个阶段:(1)与陈述性知识的学习相同;(2)通过应用规则的变式练习,使规则的陈述性形式向程序性形式转化;(3)程序性知识发展的最高阶段,规则完全支配人的行为,技能达到相对自动化的程度。

2 计算机学科的特点

计算机学科是一门理论和操作并重的学科,对于学生不仅要有一定的理论基础,而且要有较强的动手操作能力,能利用计算机解决一定的实际问题。中国计算机教育专家谭浩强同志曾经讲述过学习计算机的问题,他说:“计算机对于绝大部分人重在使用,对于它的软、硬件理论部分,非专业人员可以不必要求”。计算机教学中应注意学生与教师之间的交互性和计算机教育的层次性,所以程序性知识教学在计算机教学中显得尤为重要。

3 程序性知识在计算机教学中的应用

学习知识的目的应该是应用,而知识的应用必须建立在知识的理解之上,也就是说程序性知识要依赖于陈述性知识。操作目标主要是针对学生的操作能力和解决问题的能力,即程序性知识。所以对于教学,要融入到一定的学习资源当中,或通过一定的检测手段,或通过交流讨论等教学组织手段让学生了解或进行强化记忆。陈述性知识不应是教师课堂教学的主要任务,教师课堂教学的主要任务应在程序性知识。

根据程序性知识的特点,结合程序性知识,在进行计算机教学设计时应考虑:

(1)教学目标———培养应用概念和规则办事的能力。程序性知识不同于陈述性知识,它的教学目标不是仅仅让学生回忆知识,而是在此基础上能够运用概念和规则进行实际的运算和操作,并且,经过充分练习,使有关技能达到相对自动化的程度。检验这种能力的行为指标不是学生能告诉我们学到了什么,而是在面对各种必须应用学过的概念与规则的情境时,能顺利进行运算和操作。在教学中,要引导学生从不同方向利用其他学科的理论,开阔思路,找出解决问题的多种方法。然后在众多的解法中,经过归纳、判断和比较,最终得出一个最优化的结论。例如笔者在教学生如何灵活进行文字编辑时,学生要思考用几种软件把文字进行编辑,是WORD2000中,还是记事本中,或是窗口画图中等问题,这时,学生充分发挥了发散思维、思维活跃,思考着究竟用哪一种方法比较好呢?笔者这时抓紧时机运用学生已有的知识进行讲解,然后让学生自己进行文字编辑。这种教学方法,经过课后的检验,学生掌握得很好,能深刻地、高水平地掌握知识,并能把这些知识广泛应用到学习新知识的过程中,举一反三,提高了对知识的理解能力,使学习活动顺利进行。

(2)教学过程的设计──如何经过充分练习,使学生技能达到相对自动化。如前所述,程序性知识第一阶段的学习与陈述性知识相同。第二阶段是通过应用规则的变式练习,使规则的陈述性形式向程序性形式转化,因此教学设计中必须给予学生充分的变式练习。

如在“计算机结构化程序设计”教学中,结构化程序设计分为顺序结构、分支结构、循环结构。对于循环结构又有for语句、do-while语句、until语句等,我们可以用不同的语句完成同一个问题。在教学中,可以举一个1+2+3+…+100的例子,分别使用for语句、do-while语句、until语句来完成它。分析、辨别它们之间的区别,归纳出它们的异同点。

如在“基本语言程序设计”教学中,设计一些易出错的程序,让学生自己对这些程序进行分析,找出其中的错误,进一步完善程序的功能,从而开启学生的思维,培养学生的创新能力。

如在“计算机语言程序的基本概念元素”教学时,练习时应该注意正反例的运用,强化学生对变量的定义,使用运算符的优先级等概念的理解,从而给以后的学习打好扎实的基础。

呈现正例有助于概括和迁移,呈现反例有助于辨别,使概念更加精确。规则也有正反例,所以应引导学生将新习得的规则广泛运用于新的情境中,做到一见到适当的条件,便能立即做出反应。

(3)程序性知识发展的最高阶段———技能达到相对自动化。任何一个行业的专业技能都必须经过相当长时期的训练才能达到熟练的程度,所以教学中程序性知识(或技能)学习应留有充分的练习时间和机会。对于那些系列较长的程序性知识教学,还应该考虑练习时间的分散与集中和部分与整体的关系,先练习局部技能,再进行整体练习。如在(计算机程序设计)教学时,每节课必须布置一些相类似的习题,概念题有助于学生加深理解;编程题,让学生模仿课堂实例编写一些简单的应用程序或实例。深刻掌握理解程序的算法,语句的写法和程序的运行过程。如在“word”等操作性较强的教学时,笔者采用“模块化”、“任务式”的办法。“模块化”就是每学完一个模块,就进行一次测试或上机作业。如文字录入、画图、图文混排、制表格等都可以作为一个独立的模块。但模块设置不宜过大。“任务式”就是根据学生所学相应的模块知识,让学生独立完成一项“任务”。如制作一张贺卡、制一张课程表等都可以作为一个独立的“任务”进行练习。当该应用程序所有知识点都学完后,笔者把一个班的50个学生分组10个组,分别要求完成一期班报,内容自定,要求主题突出,美观大方,用一张A4打印。又如在Powerpoint幻灯片制作教学中,笔者把简单的电子文稿的演示逐渐转入电子动画的创作,让学生结合自己学过的电子绘画,电子音乐进行创作,运用多种电教手段充分发挥他们的想象力,定期展示学生们的动画作品。

4 结束语

在实践中,笔者深深地感觉到,程序性知识教学,为培养学生的创新精神和创新能力提供了新思路、新途径。在计算机教学中,我们应充分运用程序性知识教学,培养学生的操作能力、创新能力,为全面深化素质教育,为学生将来发展成为创新型人才奠定坚实的基础。

参考文献

[1]皮连生.教育心理学(第三版)[M].上海:上海教育出版社,2004.

[2]J·R.安德森.认知心理学[M].长春:吉林教育出版社,1989.

小学计算机程序教学 篇11

【关键词】高职院校 计算机 语言程序教学方法

如何在教学过程中针对高等职业学院学生的特点,充分调动学生的学习积极性,最大限度地挖掘学生潜能,激发学生的创新思维,培养面向生产、服务、管理第一线的开放型、外向型、实用型人才,是摆在从事计算机语言类课程教学教师面前亟待解决的问题。

一、理论课教学方法的改革

1.合理安排教学内容。教师在组织教学过程中,应该合理安排教学内容,将一些枯燥乏味的内容尽可能注入通俗有趣、与他们生活息息相关的实例中去,这样既可以使学生掌握基本知识,又增强了他们解决问题的能力。

2.实施任务教学法。任务教学是以明确的任务作为课堂主要教学目标,在学生实践任务过程中,培养学生自我分析、解决、总结问题能力的教学模式。在实施任务教学法的过程中,教师必须根据教学进度、学生所关心的问题,针对某一阶段的教学内容和技能要求,设计一个包含相关知识点的综合性任务,使学生在真实的问题下应用旧知识,探索新知识,使所学知识得到巩固、加深和迁移。

3.实施问题教学法。高职高专学生的基础较差,在学习中表现理解能力差的特点,因此,在理论教学过程中,要结合计算机语言类课程和高职高专学生的特点,改变传统教学模式,将以往教师帮助学生解答疑惑转变为教师寻找、发现与理论知识和学生生活相关的实际问题,使学生在思考、解答问题中增强理解,培养学生进行创造性思维的能力,充分调动高职高专学生的学习积极性,使学生在解决问题的过程中获取新知识,新理论。

4.改变授课模式。教师是教学的主体,学生是学习的主体,教师的教学效果要通过学生的主动理解掌握来实现。因此,应采用交流式、对话式、讨论式等多种互动的模式,让学生积极地参与到课堂教学中来,充分调动学生的主观能动性,发挥每个学生的聪明才智,让课堂变为教师和学生的共同课堂。

5.使用多媒体授课,课堂渗透实践。计算机语言类课程是理论与实践结合非常密切的课程,在讲授理论知识时经常会遇到一些抽象的、难以理解的概念、理论和算法,教师使用多媒体对它们进行演示、模拟,使抽象、复杂的问题简单化,从而使学生便于理解和掌握,同时也更能激发学生学习计算机语言课程的兴趣和求知欲望。

二、实践课教学方法的改革

职业教育要以“应用”为主,培养学生适度、够用的专业理论和扎实的专业技能,实践教学要在以下几方面进行:

1.精心设计实践内容。教师既要善于营造热烈的群体氛围,又必须给学生留有冷静的独立思考的空间。在设计实践内容的过程中,应着重做好以下三个方面。一是要结合学生的实际情况。尽量体现知识性、趣味性、实用性,激发高职高专学生的灵感和创造欲,使学生对实验内容感兴趣,产生上机一试的愿望。这样,就可以充分挖掘高职高专学生潜能,调动学生的学习积极性,使学生乐于思考,善于创新,通过上机实践,完成实践内容,增强高职高专学生的自豪感和成就感,把高职高专学生从枯燥的程序设计中解脱出来;二是要注重实践课与理论课相适应。实践课对于培养学生创造力、检验学生理论知识掌握程度具有非常重要的指导作用,因此设计实践课内容时应做到内容和时间与理论课教学内容相适应,这样才能够加深高职高专学生对基本理论、基本知识的理解和掌握;三是注重尺度的把握。在设计实践内容时,难易程度和工作量的大小是教师要考虑的内容。对于工作量小题目可以一人一组,但对于工作量较大题目,一个学生在一次实践中无法完成,那么就要开设小组来设计,使学生从接触这门课开始就能够养成良好的协作精神。对于一些有一定难度的实验内容,教师在实践前给出解决问题的总体框架,把理论课教学知识点密切相关的、并且是容易出现问题的地方留给学生,要求学生在理解问题的总体框架下完成相关问题的设计,从而既培养了学生对待实际问题的总体设计能力,同时又达到了巩固基本理论和基本知识的目的。

2.主动指导。在传统的实践教学中,教师总是等学生问问题,这种被动指导存在着许多弊端,特别对刚接触这门课程的学生来说显得尤为突出,因为学生刚接触编程,实践过程存在很多问题,有时学生碍面子或缺乏自信心,即使有很多不懂的问题,宁可不做也不问教师。这样一来使学生从课程学习的一开始就害怕上机,因此要改变这种指导方法,作为任课教师要变被动为主动,主动发现问题,对于学生普遍存在的问题要进行集中演示,引导学生主动完成实践内容。

3.注重实践过程。指导教师在实践教学过程中只注重实践结果,把实践内容布置给学生,学生交上机报告,教师认真批改报告,至于报告中的结果是怎样来的,具体实现过程是什么,作为教师却全然不知,因此教师要全身心地投入到实践的全过程中去,只有这样,教师才能真正掌握学生的实际情况,发现问题,及时解决问题。

4.加强实践课讲评总结。作为计算机语言类课程的教学绝对不能忽视实践教学中讲评这一重要环节。以往教师只对理论课上布置的作业所存在的问题进行讲评,忽视实践课的讲评。实践课是检验学生基本知识、基本理论、基本技能掌握情况的一把尺子,不注重实践课讲评,结果使实践课教学效果越来越差,从而影响整个课程的教学质量。

三、其他方面的改革

1.及时总结教学经验。教学艺术无止境,不善于总结自己在教学中经验的教师不能算是称职的教师,相同的教学方法针对不同的教学对象、教学内容应有所不同。对于不同专业、不同层次学生绝不能从一而终,一成不变。我们应该在教学过程中经常總结自己的教学经验,对它进行分析,不断改进教学的方式、方法。

2.课程考试考核方法。对于高职高专学生来说,计算机语言类课程学习目的就是为了应用,因此,对于计算机语言类课程的考核应将重点放在实践性教学环节上,只有学生真正能够应用所学语言解决实际问题,才能说明学生掌握了这门语言。所以要改变以往以理论为主的考核方法。

小学计算机程序教学 篇12

关键词:计算机,程序设计,教学探讨,互动教学

目前, 全国各高等院校对绝大部分专业的学生都开设了计算机程序设计基础类课程, 但实际取得的教学效果却不是很尽如人意。本文将基于已有的教学经验及观察思考, 对计算机程序设计基础类课程在教学过程中存在的问题及教师教学活动进行了探讨, 以期与同行们进行交流、学习, 达到共同进步的目的。

一、计算机程序设计基础类课程概述

语言是交流、沟通的媒介, 计算机语言自然也就成为了人与计算机之间进行交流的媒介。计算机的每一个动作, 都是根据计算机语言编好的程序来执行。程序是计算机执行的指令集合, 因此程序设计的实质就是把分析问题和解决问题的思维过程转化成有限的、可控制的有序步骤, 然后借助于某种计算机所能理解的语言表达出来。

目前在计算机程序设计基础类课程教学中, 主要讲授高级语言, 当前较为流行的包括vb、vc、foxpro、delphi等, 这些语言的语法、命令格式都各不相同。无论采用哪种教学语言, 最为关键的是通过对计算机程序设计基础课程的学习, 应当使学生掌握程序设计的思想和方法 (这是共性的, 跨语言的) , 初步具备在各自领域进行程序设计的能力。

二、计算机程序设计基础类课程在教学中存在的问题分析

目前, 计算机程序设计基础类课程所获得的教学效果并非很理想, 具体反映就是“高分低能”。对于该问题的产生, 本文认为其原因主要来源于课程本身特点、学生学习、教师教学方法这三个方面, 以下将逐一展开分析:

(一) 计算机程序设计基础类课程具有抽象性强、灵活性高、创造性大等特点。

计算机程序设计课程在开始之初, 绝大部分学生没有任何基础且没有接触过, 其中的很多概念, 如数组、结构体、指针, 类, 对象等都是高度抽象的, 这些抽象的概念对学生来说很难找到一个实际中的落脚点去理解。计算机语言中, 虽然语法并非很多, 但是灵活度却很高, 例如变量的作用范围、指针的引用等, 这种灵活度会让初学者产生混淆、逾学愈糊涂、难以驾驭的感觉。与此同时, 计算机程序设计的创造性也很大, 对于同一个问题, 往往会有多种不同的解决方案, 这些方案之间看待问题的角度, 执行的效率都会不同, 这必然要求学生具有一定的解决问题的创造能力。

(二) 学生畏难情绪高, 往往会知难而退。

学生在开始学习计算机语言时, 往往是揣着神秘、兴奋的心情, 他们认为学完就可以编写软件。随着教学内容的深入, 难度不断加大, 学生们开始普遍感觉吃力, 此时畏难情绪开始产生并蔓延, 随着课程的进一步深入, 越来越多的学生开始放弃, 对这门课由最初的神秘、兴奋感逐渐过渡为枯燥、厌烦。

(三) 部分教师在对学生积极引导、教学内容重难点把握、教学方法、教学策略恰当运用等方面缺乏深入钻研。

有的教师平时在教学活动中与学生缺乏交流, 对课堂上学生的表现也缺少观察, 这样就会忽视学生的学习感受, 在学生刚开始产生畏难心理时未能给予及时的疏导, 导致学生最后彻底的放弃, 难以挽回。有的教师在教学过程中, 为了使学生在最终考试时获得较好的卷面成绩, 侧重了语法知识的讲解而忽视了对学生程序设计思想和方法这种无形的、最重要的能力的培养。还有的教师忽视了教学方法、教学策略的作用, 认为只要按照自己的理解、思路, 认真讲课即可, 最终导致了教学效果的下降。

三、计算机程序设计基础类课程教师教学活动的探讨

上文从课程特点、学生、教师等三个方面分析了计算机程序设计基础类课程在教学中存在的问题, 以下将从教师的角度对该类课程在教学活动中应该注意的问题进行几点探讨。

(一) 注重与学生的沟通, 充分发挥教师的积极引导作用, 提高学生学习的信心。

作为教师, 我们深知计算机程序设计类课程对学生具有较大的学习难度, 学生容易产生畏难心理, 因此在教学过程中, 教师应该充分注重与学生的沟通。通过学生在理论课堂上的反应, 通过实践课堂上的指导交流, 通过课后作业的完成情况等方式来了解学生对知识点的掌握状况;通过课下的交流来掌握学生对这门课程的思想动态。一旦发现多数学生对相关知识点掌握状况较差, 则应该立即将其解决, 否则会严重影响后续内容的学习, 且严重滋生学生的畏难情绪;一旦发现学生出现畏难情绪, 则应该立即进行正面的引导和鼓励, 提振学生的学习信心, 否则随着畏难情绪的大面积蔓延和积累, 学生就容易产生放弃学习的念头, 那时就很难挽回了。

(二) 合理淡化语法的讲解, 注重学生程序设计思维和方法的培养、知识讲解做到深入浅出。

程序设计思维和方法是共性的、跨语言的, 是程序设计的核心;语法是随着语言变化的。对于学生来说, 最难学的就是程序设计的思维和方法, 而语法, 除了部分重要性高, 难度大的以外, 其余的是完全可以自学的。鉴于此, 就需要教师在课堂讲解时合理地淡化语法的讲解, 不必专门地花费大量精力, 面面俱到地讲授, 这样非但可以避免学生产生枯燥无味感, 而且可以节省本身就很宝贵的授课时间。在教学过程中, 对于晦涩难懂、抽象的概念, 需要教师认真思考, 给出形象, 直观的解释, 例如, 在讲解“类”这个概念时, 教师可以解释:“类”可以理解为类别的意思, 是一类事物的总称, 如汽车、水果就可以作为“类”;作为一个“类”, 自然会有描述该“类”区别于其他、它“类”的属性标识, 如汽车有车轮数、载重量、最高时速、发动机型号等属性, 水果就会有味道、重量、颜色、形状等属性;作为一个“类”, 也自然会有描述该“类”与其他、它“类”相区别的行为、用途, 如汽车能够运输, 水果可以吃等。如果教师能够很好地做到深入浅出, 则自然会获得非常好的教学效果。

(三) 注重互动教学, 充分调动学生的积极性。

对于程序设计思维和方法的培养, 需要教师在讲解时引入大量精心准备的实例。对于实例的讲解, 若教师只是按照事先准备好的分析思路一味填鸭式的塞给学生, 虽然学生能够理解, 可很难理解为什么这样做;若教师积极地引导学生参与, 鼓励其发表各自的见解, 然后教师通过现场的逐步分析, 引导学生将原始的见解转化为计算机可执行的程序, 这样做不但使学生知其然, 而且知其所以然, 同时亦极大地调动了学生主动参与的热情。

(四) 充分注重实践教学, 适当引入程序设计竞赛。

程序设计是一门实践性很强的课程, 最终的目的是培养学生能够借助计算机语言解决实际问题, 因此, 上机操作实践是程序设计教学中必不可少的重要环节。实践教学为学生提供了理论与实践相结合的机会, 通过编写、运行、调试、修改自己的程序, 学生不但可以加深对书本知识的理解, 增强了感性认识, 而且也获得了极大地成就感, 提高了学习的积极性和自信心。作为教师, 一定要十分重视实践教学环节, 非但要精心设计学生的实践内容, 而且要在实践活动中, 及时认真地指导每位学生所遇到的问题, 鼓励其多动手、多分析、多思考。此外, 教师也可以通过适当地开展程序设计竞赛来提高学生的编程水平, 让学生在竞赛中成长起来, 使程序设计教学课堂的气氛更加活跃, 进而拓宽学生们的编程思路, 提高学生学习的积极性。

四、结语

本文从程序设计基础类课程本身特点、学生学习活动、教师教学活动三个方面分析了该类课程在教学中存在的问题。与此同时, 从教师教学的角度给出了注重与学生的沟通, 充分发挥教师的积极引导作用, 提高学生学习信心;合理淡化语法的讲解, 注重学生程序设计思维和方法的培养、知识讲解做到深入浅出;注重互动教学, 充分调动学生的积极性;充分注重实践教学, 适当引入程序设计竞赛等几点提高教学效果的建议。撰文目的就是将平时的教学经验及观察思考展示给同行, 以便于相互探讨、学习, 以期共同进步, 提升教学效果。

参考文献

[1].董晓莹.计算机语言类课程的特点和课程改革[J].理论界, 2005

[2].兰红, 李淑芝.基于“以学生为中心”的计算机语言类课程改革探索[J].中国电力教育, 2010

[3].杨帆.C语言程序设计课的教学角度[J].计算机教育, 2008

上一篇:新课程模式下一篇:金属检测器系统