360作文网

计算机函数入门教学范例(3篇)

栏目:工作范文

计算机函数入门教学范文篇1

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

0引言

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

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

随着应用系统的巨大化、复杂化,系统能力的重要性越来越凸显。而其中顶层设计能力至关重要,自顶向下的细化方法举足轻重,而具体实现可以放在次要位置。为了让学员在学习过程中提升系统能力,需要将授课内容从具体语法中解脱出来,以系统观的思想为指导,注重每个教学设计过程,从课程设计到课堂设计,优化教学内容,使内容更有层次感,更能体现系统设计的思想。计算思维强调将计算机科学方法与解决实际问题的具体方法相映射,而程序设计的很多具体知识点,如循环、数组、函数等,均能体现处理实际问题的方法。因此,对内容进行优化设计,可避免学员陷入具体语言的语法陷阱,而忽略理解掌握具有计算思维能力培养的思想性内容。计算机系统能力的培养虽然主要针对计算机专业学员[2],但对计算机系统能力的培养不应该局限于计算机专业学员。在实际开发应用系统时,开发人员不一定是纯粹的计算机专业人员,而缺乏计算机系统能力的非计算机专业人员在进行应用系统开发、维护和使用时,会面临诸如系统设计不合理等问题。因此,有必要在非计算机专业的课程中有目的地培养计算机系统能力。

2程序设计课程教学内容改革的具体方案

2.1课程标准修订

首先,根据本科程序设计课程的教学目标,课程标准不应依赖于具体的计算机语言,而是高度提炼程序设计的知识点、思想、方法,在使学员理解各知识点的内在关系的基础上,利用某种特定语言具体呈现,有时甚至可以使用多种语言实现同一知识点,以便使学员更好地理解知识点,并对比不同语言的特点。因此,如果课程标准中还存在依赖具体语言的标准内容,则必须进行修订。其次,课程标准中要指明该课程要进行系统能力和计算思维能力培养的宏观和微观目标,并在内容要求部分给出具体的能力培养要求。最后,在以上原则的指导下,从宏观上改进课程标准的内容,有效指导任教人员和学习者重视结构、思想和方法,降低陷入语法陷阱的可能。表1给出了两个课程标准知识点内容要求修订前后的对比。表1课程标准部分内容要求修订示例修订前要求修订后要求…掌握if、switch、for、while、dowhile语句的使用方法,理解while和dowhile的区别,掌握break、continue的使用,能够编写三种结构的简单程序……掌握顺序结构、选择结构、循环结构的特点,绘制三种程序结构的流程图,使用一种语言对三种结构进行具体实现……理解函数的基本概念,掌握C语言函数的定义、调用及返回的方法,理解C语言自定义函数参数的传递方式,掌握C语言函数的嵌套调用和递归调用……复述函数的概念,阐述函数引入的意义和作用,基于一种高级语言实现函数的定义和调用,编写带有参数和返回值的函数并进行调用…

2.2课程教学内容模块化重组

教学内容的模块化重组有利于教学人员在教学过程中宏观把握教学知识点,有利于学员理解课程的总体结构。遵循建构主义的原则,逐步提高学员的计算思维能力和系统能力。涉及到具体语法的部分,不应花费过多的课堂时间,可利用MOOC平台或微课视频给学员提供自主学习的平台。表2给出了课程模块化划分的结果。

2.3能力培养知识点整理

课程中适合培养系统能力和计算思维能力的知识点较多,进行科学的归纳整理,有利于教学人员在备课过程中进行有针对性的准备。表3给出了部分能力培养知识点的分布情况。

3教学案例

在教学实施过程中,要完成培养学员系统能力、计算思维能力的目的,必须根据教学内容、学员特点、教学条件等进行更加细致的设计,以达到最佳的能力训练效果。可以以“函数”一节的教学为例,给出具体的教学设计案例。

3.1教学内容和重难点确定

该节课的教学内容为函数,主要包括函数的概念、如何定义和调用函数。其中函数的概念部分是本节课的重点,主要包括什么是函数、为什么要引入函数、函数在整个程序中的作用和地位等。让学生理解并掌握形式参数和实际参数是该节课的难点。

3.2教学目标和要求设定

通过该节课程的学习,使学员进一步建立模块化程序设计的思想,具有初步利用函数进行模块化程序设计的能力。具体来说,要求学员能够复述函数的概念,阐述函数引入的意义和作用,能够基于一种高级语言实现函数的定义和调用,能够编写带有参数和返回值的函数并进行调用。

3.3学员特点分析

学员在前面的学习过程中基本掌握了程序的3种基本结构,能够编写一些较复杂的程序,部分学员已经发现当程序较复杂时,往往会出现一些重复的代码。虽然他们了解过模块化程序设计的概念,但对如何实现模块化程序设计并没有直观的认识,对于“自顶向下,逐步细化”的认识更加模糊。

3.4课堂教学过程及内容设计要点

课堂开始阶段,为了让学员更容易理解引入函数的目的,采用现实生活或生产实际中的例子,如飞机制造与组装等,并让学员反思前面编写过的较复杂的程序中出现的代码重复现象,从而引出函数的概念,让学员更加轻松地接受函数这个新知识点。在这个过程中可采用视频、动画、图片等多媒体形式向学员展示生产生活中“模块化”组装的例子;可以通过讨论发言,让学员挖掘前面学习过的内容中有哪些可以进行模块化设计。随着讨论的深入,学员就会思考应该如何借助模块化思想解决程序设计中的问题,从而过渡到本节的第二个问题——函数的定义和调用。在开始具体讲解函数的定义和调用之前,为了突出“学为主体”的课堂特征,设定一系列的讨论问题,如函数应具有哪些要素等,便于引入函数形参和实参概念,并加深学员的理解。在这个过程中,可结合生产生活实例进行启发,结合学员小组讨论,建构出函数的定义和调用的机理。模块化组装的例子和函数的知识有不同之处,应该花少量时间讲解或讨论它们的不同之处,从而避免造成误解。在讲解完实参、形参的概念之后,利用具体的程序语言,如C语言,对函数的定义和调用进行代码实现,并向学员说明其他语言的实现是类似的,可结合微课资源向学员提供其他语言的实现例子。这里需要着重强调的是,以往的教学内容多以代码实例引出函数、形参、实参等概念,而这里采用的是类比理解概念、讨论引出概念、代码实现概念的顺序,学员理解层次更深,更适合学员在其他高级语言中实践,更有利于能力培养。本节课程结束阶段,师生共同总结函数的意义,使学员对模块化程序设计的理解进一步升华,系统能力得到真正的提高。

4结语

针对目前程序设计课程教学过程中,学员容易陷入程序设计语言的语法细节的问题,以提高学员对程序设计课程的理解、提升包括系统能力在内的计算思维能力为目的,以教学内容改革为主要方式,对程序设计课程进行了具体的改革设计与实践。实践结果表明,学员的计算思维能力,尤其是系统能力得到了较大的提高。教学内容改革也带动了教学模式与教学方法的改革,三者相互促进、相互补充,也为下一步的教学改革指明了方向。

作者:韩庆龙李瑛刘瑜单位:海军航空工程学院基础部

参考文献:

[1]ACM\puterScienceCurricula2013IronmanDraft(Version0.8)[EB/OL].[2013-03-26].ai.stanford.edu/users/sahami/CS2013/.

计算机函数入门教学范文

(一)传统教学模式、教学方法与程序设计

的学科特点不相适应多媒体课件以其生动性和方便性在高校计算机教学过程中被广泛应用。然而程序设计是逻辑性和实践性很强的一门课程,仅仅依靠投影大屏幕和多媒体课件的教学思路无法适应程序设计灵活多变的学科特点,不能对学生创造性思维和自学能力的培养起到积极的作用。还有一些教师过分依赖电子课件,教师变“照本宣科”为“照课件宣科”,容易挫伤学生的学习积极性。另外由于播放电子课件信息量大、速度快,学生没有得到思考的空间,学习效果并不理想,而且学生无法做到边听课边做笔记,印象较浅,容易遗忘。

(二)学生的动手实践能力较弱

很多高校在教学过程中更多地注重程序设计语言理论知识的学习而忽视了工程技能的培养。这样就会导致教师和学生偏重于编程语言语法的教学而对计算思维的培养和工程实践重视不够,导致重语法轻算法,实际工程开发能力薄弱。这就要求教师需要布置大量既包含基本知识点又有一定创新性和拓展性的上机实验,才能帮助学生实现从知识到技能的转换,巩固所学的理论知识。

二、程序设计教学方法改革的意义

不断探讨研究和推广新的教学方式,将更有效的新教学方式应用于计算机教学,是不断提高教学水平的好方法。程序设计课程的特点是理论与实践相辅相成,理论是基础,实践是手段,应用是目的。很多学生上课能听懂,但是自己动手编程时感到无所适从。传统的“在学中用”的教学方法,其重点往往局限于讲解基本概念、语句格式、语法等内容,学生往往会考试但解决实际问题的能力较差。若采用“在做中学”的教学方法,以一个应用实例为前导,例如讲授讲解程序设计时以找最大(小)值、素数、排序、求阶乘、求一元二次方程的根等案例形式导入知识点,这样学生就比较容易接受和掌握所学的知识和内容,实践技能也在做中得到了锻炼和培养。教学方法是在教学过程中教师和学生为了实现共同的教学目标,完成共同的教学任务,运用的行为方式与手段的总称。教学方法既是一门科学又是一门艺术,良好的教学教学方法对于学习兴趣的激发和学习效果有着明显的作用,尤其是程序设计教学方法对于培养工程实践能力和计算思维起着重要的作用。具体体现在:一是教师的教法不仅关系到教学效果,同时也影响着学生的学习方法,采用什么样的教学方法对于培养学生的思维模式和知识结构也具有重要的影响。二是程序设计教学法的研究与探索能够促进本学科教师的教学水平与教学能力,提高教学质量。三是程序设计教学方法的改进能够引发学生的学习兴趣和学习成就感,促进多种教学资源的合理使用,取得最佳教学效果。

三、程序设计常用教学方法

程序设计课程包括讲授法、翻转教学法、案例教学法、任务驱动教学法、演示教学法、情景模拟教学、基于问题的教学法、游戏教学法等。下面主要介绍3种常用程序设计教学方法。

(一)案例教学法

案例教学是根据教学目的和教学内容的要求,通过引入并分析各种案例来开展教学活动的教学方法。案例教学法教学过程是:案例设计—案例分析与讨论—案例实现—归纳总结知识点。案例教学法与传统的举例说明有着本质区别。传统的举例说明一般是用来验证教师讲授理论知识的正确性,举例是为理论服务的。而案例教学法最突出的特点是讲课开始于实例,从实例中提出问题,通过分析问题、发现规律、提炼理论,再从理论回到实践,应用理论去指导实践。在程序设计中首先引入案例,例如在选择结构这一章,设计一个猜数游戏,产生一个随机数,输入一个整数,与之比较,提示是大了、小了还是猜中了,这个案例涉及三个分支处理;基于同一个猜数案例,加深难度,引入循环,产生一个随机数,循环输入一个整数与之比较,提示大了、小了还是猜中了,直到猜中为止,涉及的if多分支语句、while循环语句、随机数函数rand在案例中也一并掌握了。另外,一般计算机理论课程教学采用的方式是先理论,后实际;先抽象,后具体;先一般,后个别。其实,对程序设计课程可以适当采用这样的方式:从实际到理论,从具体到抽象,从个别到一般,从零碎到系统。这样的教学方式更加符合人们对客观事物的认知发展规律。

(二)任务驱动教学法

任务驱动法适合实施探究式教学,与简单的案例教学不同,它是采用项目化教学方式,即教师不是围绕知识点去设计每个单独的案例,而是针对课程教学内容设计一个项目,这个项目由若干模块组成,并能够覆盖课程的不同理论知识。任务驱动教学法有助于培养学生分析、解决问题的能力以及动手能力。任务驱动法的教学过程主要有(1)创设情景、提出任务;(2)分析任务、发现问题;(3)明确思路、把握重点;(4)自主探究、解决任务;(5)检查结果、总结经验。任务驱动教学法对教师的业务水平提出了更高要求,教师不仅要转变教学观念,而且对课程需要有很深的理解[8],不能单纯按学科体系安排教学内容,而是根据解决问题的思路,跳跃式地结合多种知识。软件开发是多种技术的综合体现,仅仅通过案例教学局部讲清楚每个知识点,学生的综合应用能力仍然不强。此时,教师通过创设、分析与解决任务必然能激发学习兴趣,取得满意的教学效果。在C语言程序设计课程中以计算学生成绩平均分为例,首先用一维数组和循环结构计算全班50人某一门课程的平均分,继续增加问题的复杂度,计算50个学生8门课程的平均分,这时需要采用50行8列的二维数组,再引出新问题和新任务,编写函数计算出每个学生的平均分,并把每位学生的平均分带回主函数输出,此时就要采用数组名或指针变量作函数参数,传递整个实参数组给函数进行处理,并引出函数如何带回多个返回值的问题。任务驱动法循序渐进、由浅入深地引入新知识点,在解决问题的过程中旧知识在此过程中也得到了巩固。

(三)演示教学法

演示教学法就是借助投影仪或网络教学管理软件等,直观地通过教师的示范性操作进行学习。这种教学方法是学习计算机软件使用方法和操作步骤的一种重要且而行之有效的教学方法,在程序设计教学中同样非常有用。教学中光是依靠PPT课件来分析和讲解程序和算法是远远不够的,而是要当堂编程并演示程序运行结果,让学生直观地看到程序运行的过程和效果。实践证明这种方法非常生动,能够有效地激发学生的学习兴趣,并且在现场编程过程中,高级语言程序设计的知识点、语法、算法也在这一过程中一并得到掌握,另外通过编译,分析和查找语法错误和逻辑错误,可以提高学生的分析能力,实现计算思维的培养。以C语言指针变量作函数参数为例,演示教学法可以分4步实施:(1)分析指针变量作函数参数的4种一般形式。(2)设计一个案例,例如编制一个函数fun,实现将一个数组的数组元素逆序交换,在主函数中输入数组元素,调用函数,最后在主函数中输出逆序交换后的数组元素。(3)现场编程分别演示实参、形参同为数组名;实参为数组名,形参为指针变量;实参为指针变量,形参为数组名;实参形式同为指针变量这4种情况。(4)归纳总结知识点,让学生举一反三编程实现其他功能的函数。

四、新型程序设计教学方法简介

从全球来看,在线教育已呈席卷之势。在线课程模式无疑将引发“学习的革命”,给高等教育人才培养和教学方式带来深刻变化。

(一)慕课教学法

“慕课”这一大规模在线课程始于2011年,有勇敢之城(Udacity)、课程时代(Coursera)与教育在线(edX)三大供应商。2013年7月上海交通大学加盟MOOCs三大平台之一的课程时代Coursera,成为加入Coursera的第一所中国内地高校,和耶鲁、MIT、斯坦福等世界一流大学共建、共享全球最大在线课程网络。“慕课”(MOOCs),顾名思义,“M”代表Massive(大规模),与传统课程只有几十个或几百个学生不同,一门MOOCs课程多达上万人;第二个字母“O”代表Open(开放),以兴趣导向,凡是想学习的,都可以进来学,不分国籍,只需一个邮箱,就可注册参与;第三个字母“O”代表Online(在线),学习在网上完成,不受时空限制,第四个字母“C”代表Course,即课程的意思[7]。MOOC以连通主义理论和网络化学习的开放教育学为基础。课程的范围不仅覆盖了广泛的科技学科,例如数学、统计、计算机科学、自然科学和工程学,也包括了社会科学和人文学科。在“慕课”的世界里,视频课程被切割成10min甚至更小的“微课程”,由许多个小问题穿插其中连贯而成,就像游戏里的通关设置,只有答对才能继续听课。利用“慕课”的平台,可以获取全球的优质课程,实现更大范围的资源共享。除了传统课堂上人们所惯常使用的录像资料、阅读材料和练习题外,“慕课”还会为网友提供互动的论坛,在师生之间搭建一个交流的平台。“慕课”不同于网络公开课,互动性更强,“慕课”的出现,为教学设计提供了一种改革的可能———教师可以将在线视频作为教学的线上环节,要求学生在课堂外先“听课”,课堂内侧重深入的分享、探讨和问题解决,真正实现“翻转课堂”。这一模式将促进教师对教学的反思,以及对教学模式的探索、研究,有助于推动教师角色转变,从一个讲授者、讲解者真正变为学习的激励者、启发者,学习也将变得更加有效。“慕课”课程所带来的是挑战、思考和实践,而不仅是课程的变化。在程序设计课程中将来也可以引入“慕课”模式,利用现代网络技术,开发针对不同知识点的程序设计教学视频,提供在线测试题、上机练习题,程序阅读题、在线提交与批改实验报告等,通过论坛实现师生之间、学生之间的与交流与互动,通过全方位的教学方式改变教学方法,共同提高教学质量。

(二)翻转教学法

利用视频来实施教学在多年以前人们就进行过探索,当今网络技术发达,计算机教学也可以通过网络向外扩展,如开展网络教学和将教学视频上传网络等,供学生在校外学习。如2006年创立的可汗学院、2009年创立的点对点大学、2010年创立的人人学院等。他们都是与慕课相类似的组织。美国的耶鲁等大学已经开始进行这样的尝试,并且已经获得很好的效果。所谓翻转课堂,就是教师创建视频,学生在家中或课外观看视频中教师的讲解,回到课堂上师生面对面交流和完成作业的这样一种教学形态。“翻转课堂”特点有:第一,教学视频短小精悍,通过网络的视频,具有暂停、回放等多种功能,可以自我控制,有利于学生的自主学习。第二,教学信息清晰明确,把内容集中在屏幕上,配合讲解的画外音。每一个视频都针对一个特定的问题,有较强的针对性,查找起来也比较方便;视频的长度控制在在学生注意力能比较集中的时间范围内,符合学生身心发展特征。第三,重新建构学习流程。老师提供了视频,在课前对学生进行“信息传递”,在课堂上通过互动来完成“吸收内化”,教师在课堂上给予有效的辅导,教师更多的责任是去理解学生的问题和引导学生去运用知识,同学之间的相互交流更有助于促进学生知识的吸收内化过程。第四,复习检测方便快捷,学生观看了教学视频之后,是否理解了学习的内容,视频后面紧跟着的四到五个小问题,可以帮助学生及时进行检测,并对自己的学习情况作出判断。由于程序设计知识点繁杂,概念抽象,视频教学和翻转教学也特别适合程序设计的教学。有效实施翻转教学法的前提是根据教学内容和教学大纲,划分出各个章节的知识点,如if语句、switch语句、for循环语句、while循环语句、数组、函数、指针等,将每个知识及其典型案例用屏幕录像软件录制成10min左右的微视频,上课前提前给学生在课外观看,上课时通过师生互动辅导学生完成上机编程作业,解答学生在编程中遇到的问题。先看录像后讲课,这是“翻转课堂”的教学视频与传统的教学录像最大的不同之处。一个最显著的变化将是,翻转课堂,从以教师为中心真正转变为以学生为中心,这实际上是一种传统与现代的结合体,但其效果远好于传统教学。

五、程序设计教学方法的合理选择与思考

课堂教学中并非独立地应用一种教学方法,而是在不同的教学阶段,根据教学内容,教学对象的不同,选用适合的教学方法进行教学,让学生在“做中学”,使每一位学生收到最好的学习效果。采用讲授法讲解时,还要布置一些课堂或课后练习,避免光听不练,理论与实践脱节。例如介绍完递归函数的思想后,再布置编程题用递归函数实现将十进制整数转换成八、十六进制,这样既使用了编程技术又掌握了数制转换的方法,可谓一举两得。三种基本的程序结构、数组、函数等概念通常是通过案例教学法来讲解,在采用“案例教学”法教学时还要注重知识的脉络,讲清楚知识的结构和教学主线。期末应当布置课程大作业,例如编写学生信息管理系统,让学生将各章的知识融合在一起,体现链表、结构体、文件等章节知识的综合应用。指针是C语言的重点和难点。数组、指针、函数三者又是密切联系的。多种“分散跳跃式”的知识特别适合采用“任务驱动法”,设计一个任务,在解决任务的过程中综合运用数组、指针、函数等,使学生抓住用指针作函数参数,传递数组元素这一教学主线,就可以突破指针这一教学难点。慕课、微课程、翻转课程等在线课程模式,以及线上、线下结合的课程模式无疑将引发“学习的革命”,给高等教育人才培养和教学方式带来深刻变化。程序设计课程如何运用这一模式,改变教学方法,提高教学质量,需要更多的思考和实践。以“慕课”冲击为契机,加快大学教学、管理的根本变革,实现两者的融合才是更好的姿态。计算机技术更新极快,学生的自学能力才是最重要的能力,在程序设计的教学中不能只满足于教会学生编程技能,还要注重创新能力的培养,创新能力本质是提高学生创造性地分析、解决问题的能力。因此教师还要教给学生归纳总结、触类旁通的学习方法。例如,编程语言都有顺序、选择、循环三种基本程序结构,都有数据类型、运算符与表达式、数组、函数等概念;教会学生归纳和总结,在多门编程课程中触类旁通,将会使学生在将来的工作中立于不败之地。

六、结束语

计算机函数入门教学范文

关键词C语言;中等职业教育;计算机专业

中图分类号:G712文献标识码:B

文章编号:1671-489X(2015)23-0083-02

1前言

《教育部关于进一步深化中等职业教育教学改革的若干意见》(教职成〔2008〕8号)明确提出,中职教育要坚持以人为本,关注学生职业生涯持续发展的实际需要,培养他们具有良好的职业道德,掌握必要的文化知识和熟练的职业技能,成为德、智、体、美全面发展的具有中国特色社会主义事业的建设者和接班人。随着社会对中职学生的要求关注度逐渐提高,中职教育面临的问题也日益突出,尤其是学生质量的下降与社会的高期望值之间的差距,对从事中职教育的老师提出了更高的要求。如果教与学的问题解决不好,就会影响技术技能型人才的培养质量,继而影响整个社会经济的发展。

2中职学校计算机专业开设编程语言课的必要性

自1987年起,国家教育部就开始了中职毕业生直接上大学(普通高校)的探索。目前,国家每年都有部分普通高校本科和专科对口单独招录中等职业学校毕业生,这为中等职业教育的发展提供了有利条件,拓宽了中职学生继续学习的渠道。中职学生升入高一级学校,继续学习计算机相关专业,编程语言课的学习是必然的,因此在中职阶段提前开设相关编程语言课的学习就很必要,它会为学生今后拓展专业知识奠定有利的基础。

3中职计算机专业学生现状

1)学生普遍阅读能力差,抓不住重点,遇到题目不明其意。

2)逻辑推理能力差,缺乏全局统筹安排意识,遇到问题不知如何解决,加之中职配套教材例题又多以数学问题为主,学生初中阶段甚至是小学阶段的数学知识欠缺,直接导致现阶段问题突出。

3)英文界面的操作有难度,关键字不能借助英语知识记忆。

4)变通能力差,不会举一反三。

5)学习惰性强、缺乏自信,遇到困难不愿自行解决、认为也解决不了。

6)主观意识中排斥编程类课程的学习,认为没有实际用途。

4教学思考与对策

目前,中职学校编程语言主要开设VF和C两门课程,VF的学习相对容易一些,可视化的界面直观形象操作也很简单,同时VF作为高考对接考试中的考试科目,学生主观上更重视一些,无论是老师的教还是学生的学问题不突出。而C语言前几年曾经是考试科目之一,近两年被取消,目前有些中职学校又在重新开设,具有一定教学难度。教师考虑到学生今后的学习需要,这门课就是让学生理解计算机在解决问题时所采用的思路、方法,让学生逐步形成解决问题、统筹布局的能力,要合理安排这门课程的教学难度,提高学生的学习兴趣。

科学合理安排教材内容学校现在所用的是高等教育出版社编写的《C语言程序设计教程》,从第一章到第十章内容分别是概述、数据类型和运算、基本输入与输出、流程控制、函数、数组、指针、结构与联合、编译预处理、文件、对外接口、图形、汉字处理、用户界面技术。

按照以往的教学经验和往届学生的学习效果,再结合学生的认知结构,笔者将第二章数据类型及运算的知识点结构做了些微调整,即先讲数据类型,然后将整型、实型、字符型数据类型又分为相应的变量和常量,常量讲各种表示方法,变量讲标示符命名规则、讲不同的定义形式、讲初始化和赋值方式。第三章基本输入的知识点也做了相应的调整,调整为先讲单个字符的输出与输入函数,再讲格式化输出与输入函数,而字符串的输出与输入等到学完数组和指针后再讲。C中的图形和文本部分,界面效果相比较适合,但程序相对大,函数、指针的运用比较多,程序有相当的难度,所以这几章内容我在课堂上不讲解,但会建议感兴趣的学生自行上机调试,看程序界面和前几章的有何不同,为学生今后的继续学习留一些空间。

适当降低教学难度并调整讲课进度在每节课的例题中精选一些学生容易掌握的、有特点的例题进行讲解,并对其举一反三、变换对比程序,让学生每节课学得少而精。

不同章节选用不同的教学方法同时注意将上机环境融入到课堂讲授中,让学生直观的认识程序的调试、运行、结果的必然联系和关系,引导学生发现课堂分析程序与上机调试程序存在的区别,这样有利于学生课后自学,逐步提高学生的自学能力。

1)讲函数的定义时,可将之前学过的程序代码(主函数中实现相应功能的程序语句)改写到自定义函数体中,然后为该自定义函数加上相应的变量说明、输出语句等,使之形成完整的自定义函数。然后再让学生反复练习,将改写的程序变成自定义函数。

2)讲函数的调用时,接触到的程序中一般含有多个函数,因此先教学生将大程序分成小模块(每一函数就是一个模块),然后结合上机过程,采用F7键进行单步调试,每次点按F7,程序从主函数进入后会单步顺序走一条语句,直到碰到调用语句时,程序会跳转到相应的自定义函数定义处,接着再按F7键,程序会从自定义函数定义处顺序执行,遇到return语句时程序又会返回到调用位置处。结合上机过程讲解这节内容,程序的走向、函数的调用、函数的返回过程清晰明了,相比较课堂的讲解效果好许多。

3)讲解变量的存储类型和作用域时,也可采用上述的将程序划分模块的方法,引导学生将程序分成若干源文件、若干函数,接着在函数外找到外部变量和外部静态变量,在函数内部找到局部变量和局部静态变量,最后告知学生每一种变量的作用域和特点,这节内容上机调试程序时,教学生利用监视器窗口对每种变量添加监视,仔细观察每种变量的初值、变化情况以及最终值的保留情况(即作用域的长短)。

课后作业控制难度多年的教学发现,课堂上学生跟着老师能较顺利地完成程序代码的分析,得到正确的运行结果,但是独立完成作业时,却问题很多,这说明学生对课堂内容没有完全掌握,独立解决问题的能力不够,所以课后的作业难度要降低,作业可以以小组(3~5人)的名义上交,交作业的最终目的是检验学生对课堂内容的掌握情况,促进相互学习,这样既锻炼了学生,又增进了他们之间的感情,还能体验成功的乐趣,增强他们的自信心。

注重和其他专业课程的衔接如和VF课程的衔接。编程语言都有相通之处,VF和C就是这样,在处理有些问题时,只是两种语言的表示方法不同而已,让学生对比学习,效果会更好。

5结语

语言类的教学会有这样的瓶颈,教得浅了,学生学得容易,但实际编写代码的能力不高;教得深了,学生学起来难度太大,提不起学习积极性,反而会打击学习热情。笔者认为语言类的教学尤其是C语言对学生的帮助短期内可能看不到明显的效果,它更多是思维上的潜移默化的影响,比如考虑问题的角度、解决的步骤、是否考虑到多个方面等。

参考文献

[1]谭浩强.C语言程序设计[M].北京:清华大学出版社,

2001.

[2]徐维祥.C语言程序设计教程[M].北京:高等教育出版社,2004.

  • 上一篇:年高一班主任工作总结(5篇)
  • 下一篇:小学三年级语文日记字[](4篇)
  • 相关文章

    推荐文章

    本站专题