程序教学法论文范文

2022-05-14

写论文没有思路的时候,经常查阅一些论文范文,小编为此精心准备了《程序教学法论文范文(精选3篇)》,供需要的小伙伴们查阅,希望能够帮助到大家。摘要:目前,面向对象语言Java已成为Internet上最受欢迎的开发语言之一,许多高校纷纷将Java列为程序设计的核心课程。在多年Java教学经验的基础上,就Java语言的教学,包括教材的选择、开发环境的选取、教学内容的筛选、教学方法的运用、教学实例的选用等问题进行了较为深入的探讨,给出了可行性思路。

第一篇:程序教学法论文范文

信息技术课程序设计教学

摘要:本文针对目前中学阶段程序设计教学“难教”和“难学”的问题,分析了程序设计教学过程中存在的一些问题,并结合教学实践,遵循教学的基本规律和基本原则,提出了相应的改进方法,并在实践中进行了尝试。

关键词:程序设计; 遵循规律和原则; 实践尝试

程序设计教学一直存在“难教”和“难学”的问题,长期以来一直是高中信息技术课教学的重点和难点之一。因为程序设计本身抽象、枯燥,逻辑思维性强,如何找到一条比较实效的教学方式,使学生通过学习既掌握高级编程语言的知识、又能灵活运用高级语言进行程序设计,一直是广大信息技术教师颇感兴趣的课题。本文结合实例和具体的课堂教学,就如何提高程序设计课程的教学质量、培养和提高学生分析问题、解决问题能力和创新能力等方面,谈谈在教学上的一些体会。

1 我们要明确在程序设计教学过程中要遵循的基本规律和基本原则

教学过程是教师根据教学的目的和任务以及学生身心发展的特点有计划地引导学生掌握知识、认识客观世界的过程,是通过知识的传授和掌握来促进学生身心全面发展的过程。而在教学过程中一定要按照教学规律,只有按照教学规律办事,才能提高教学质量,增强教学效果,并促进学生思维的拓展和能力的提高。教学原则是根据教学目的和教学过程的客观规律而制定的指导教学工作的基本要求和思想,是在总结教学实践经验基础上制定的、为教学工作所必须遵循的一般原理或准则。它既指导教师的教,也指导学生的学,应贯彻于教学过程的始终。遵循正确的教学原则可以帮助教师创造教学工作的有利条件,从而达到预定的教学目的并获得良好的教学效果。那么在实际的教学过程中我们应要遵循什么样的基本规律和基本原则呢?

1.1 教师在程序设计教学中应把间接经验和直接经验结合起来。

有一句话说得好“思想才是最重要的”。我们有些些教师在教学过程中只注重对语句、语法的教学,并不注重算法教学,其实我们应该将两者有机结合起来(笔者觉得在教学过程中画流程图、用自然语言描述算法是很重要的)。但是对于一些成熟并深奥的算法我们只需要求学生会用即可,不必要求他们掌握里面的深奥技巧。反过来,对于一些并不是很难然而却需要学生细心体会和品味的概念和技能,教师最好不要进行深入细致的讲解,非要一步一步解释清楚不可,而是要让学生自己去揣摩,自己去领悟,哪怕多花点时间,哪怕走点弯路也未尝不可。这样才能使学生获得比较完全的知识和灵活运用知识的能力,并能提高学生的创新能力和分析能力。

1.2 程序设计教学要注意发挥学生学习的主动性。

学生是学习和发展的主体,学生是课堂教学的主体,充分激发学生的主动意识和进取精神,有利于学生在感兴趣的自主活动中全面提高程序设计能力。课堂教学的效益不在于教师教了多少,而在于学生学到多少,而学生学到多少取决于学生参与课堂教学的热情和主动性。只有学生积极主动参与学习,充分地思考,教师的努力才能取得效果。要想使学生积极,认真负责地投入学习,我认为首要的是要发挥学生的主动性。教师在教学过程中要善于启发和诱导学生独立思考、积极思维,充分调动学生学习的自觉性和积极性,使学生融会贯通地掌握所学知识,提高分析问题和解决问题的能力。教师要重视培养学生的探索心理,鼓励学生积极思考和质疑。在教学过程中教师要充分发扬教学民主,建立民主平等的师生关系,师生之间要做到充分的交流和沟通,生动活泼地开展教学活动。

1.3 程序设计教学应注重理论联系实际。

教学应该在理论与实际的结合过程中传授和学习基本知识,从而引导学生运用所掌握的知识去分析问题和解决问题,在动手实践中达到培养学生手脑并用能力的目的。程序设计是一项实践性很强的工作,因此程序设计教学不能采取纯理论解析的教学方法。除了进行一些必要的概念讲解之外,教师主要应该让学生通过上机实践的办法来掌握所学内容。一方面,通过上机实践可以加深对课堂理论内容的理解和掌握;另一方面,通过上机实践可以提高学生上机调试程序的能力,提高学生的编程能力,提高学生分析问题和解决问题的能力。

2 教学中的实践尝试

那么如何就针对现阶段程序设计教学中存在的普遍问题并结合程序设计教学要遵循的基本规律和基本原则有效开展高中程序设计课呢?笔者在对本届高一年级同学组织有关程序设计方面的课堂教学时,做了以下几点尝试:

2.1 提倡思维方式、程序算法的多样化,促进学生个性发展。

思维方式、程序算法的多样化,是指尊重学生的独立思考,鼓励学生探索不同的方法,而不是让学生一定要去掌握多种操作方法。在学生进行程序设计时,学生中往往会出现多种形式不同的程序清单。有的可能是判断条件不同,有的是变量的初值不同,有的是在语句先后顺序的略有变化等。我们不能就用一句“这是错了”来忽略这些不同形式的程序清单,而是要让学生在独立思考的基础上,再让学生发表自己的见解、观点。教师鼓励学生用已有的经验大胆思维,鼓励学生动手上机操作,在上机过程中会有各种问题发生,然后我们来分析问题的产生原因,寻求解决问题的有效途径,营造宽松活跃的课堂气氛。算法的多样化使学生变得聪明自信,在主动探索与合作交流中得到收获,并促进学生的个性发展。

2.2 创建开放式的网络教学模式。

因特网的高速发展和校园网的广泛普及为我们改革传统的教学模式提供了新的契机,我们可以以网络和现代教育技术为依托,多种教学媒体综合运用,创建一个开放式的网络教学模式。我们可以构建高质量、高容量的多媒体网络教学资源,培养学生在网络环境下进行高效率地互助的学习方式。比如我们可以设计一个《程序设计学习网站》,学生可以通过查找教师的电子教案,复习和巩固重、难点知识;学生可以通过习题库和自我测试题库,进行演练、考核,检验学习效果;学生可以通过答疑系统和网上BBS教学论坛,实现学生和老师、学生和学生之间的相互交流和帮助;学生可以通过学习成果展示平台,展示自己的学习成果。

程序设计课程在培养学生分析问题、解决问题的能力和培养学生创造性思维上起着非常重要的作用。程序设计是计算机这一现代工具为基础教育带来的一种培养逻辑思维能力的新方法和新手段。高中程序设计教学的主要目标是为了使同学们了解现代程序设计理论中的面向对象编程和结构化程序设计等基本思想,培养现代程序设计过程中所需要的一些基本能力。

参考文献

[1] 陈阳. 《程序设计教学的指导思想》

[2] 张敏霞. 《程序设计语言课程教学方法改革的探索与实践》

作者:贾文亚

第二篇:“Java程序设计”课程教学思考

摘 要: 目前,面向对象语言Java已成为Internet上最受欢迎的开发语言之一,许多高校纷纷将Java列为程序设计的核心课程。在多年Java教学经验的基础上,就Java语言的教学,包括教材的选择、开发环境的选取、教学内容的筛选、教学方法的运用、教学实例的选用等问题进行了较为深入的探讨,给出了可行性思路。

关键词: Java; 面向对象; 程序设计课程; 教学方法

Pondering over teaching of “java programming designing”

Lan Wenfei, Li Zimao

(School of Computer Science, South-central University of Nationalities, Wuhan, Hubei 430074, China)

Key words: Java; object-oriented; programming curriculum; teaching method

0 引言

在Java面世短短的十来年间,Java以其简单易学、安全可靠、面向对象、多线程及平台独立性等许多特点[1-3],被越来越多地推广和使用,它已成为Internet上最受欢迎的开发语言之一。

目前,许多高校已将“Java程序设计”列为程序设计的核心课程之一,肯定了它在培养计算机开发类人才中的地位和作用。

本人已连续多年担任高校计算机专业Java程序设计课程的主讲教师,针对Java教学中存在的问题,积累了一些教学经验,希望能与同仁共同探讨。

本文就Java语言的教学,包括教学时数的安排、教材的选择、开发环境的选取、教学内容的筛选、教学方法的运用、教学实例的选用等方面[4,5],给出了一些自己的做法,实践证明,这些方法是可行的。

1 教学准备环节

首先讨论Java程序设计课程教学的准备工作。

1.1 合理安排教学时数

我们授课的对象是软件工程实验班本科学生,该课程安排在大一第二学期,鉴于学生在大一第一学期已具备基本的计算机原理及专业基础知识,这样来安排教学计划是比较合理的。考虑到学生在大一已具备C/C++高级语言程序设计的基础,而多数学生在国内修完本科课程后会选择到国外继续深造学习,所以Java语言程序设计课程的教学设计必须考虑全方位,此外Java语言衍生自C++,它的基本语法同C语言,而其面向对象的基本特征同C++。鉴于此,我们将Java程序设计课程的上课时数设置为48个授课学时,18个实践学时,这样设置是比较合适的。

1.2 精选教材

选择合适的教材,是保证有效教学的重要手段之一[6]。合适的Java教材, 应具有较好的知识覆盖面,难度适中,适合学生的具体情况[4]。由于我们讲授的对象是实验班学生,需要使用全英文教学,此外,他们已具备一定的面向对象程序设计基础,所以诸如《Thinking in Java》、《Objects First with Java》、 《The Java Programming Language》等经典书籍都适合作为该课程的教材。

选择国外经典教材,能保证我们的教学内容与国外接轨[7]。学生在阅读英文原版教材的同时,可同时参考对应的中文翻译本,能使学生加强对所学知识的理解。

1.3 选择合适的实验环境

由于JDK(Java Development Kit)是命令行的编程环境,需要用编辑器建立Java源程序。如果选用Windows自带的记事本notepad来编辑程序,首先程序中若出现语法错误是很不容易被发现的;其次每次必须打开cmd窗口并输入一大堆命令,如编译命令、运行命令等;再就是对于applet小程序还要自编html文件,非常麻烦。但是,如果选用超智能、傻瓜型的集成开发环境,如JBuilder、NetBeans,因其耗内存,所以速度慢,慢到不能忍受;更重要的是不利于入门级的学生掌握Java的基本语法。因为Java上机实践的一个重要训练内容就是熟练使用Java编译器(java.exe)去检查语法错误,并能修改错误,这样做的目的是使学生能较快地掌握Java语法。

本文简要介绍一种既简单又方便入门者使用的Java编辑器TextPad。TextPad作为Java编辑器需要做简单配置,首先把TextPad装上(先装JDK),安装完毕就可按下面的方法配置:在菜单的Configure中选择Preference,选择Tools,点add下拉菜单,选择Java SDK commands。之后Tools中多了3项:Compile Java、Run Java Application、Run Java Applet。从这一点来看它确实比其他的Java编辑器更容易配置,如EditPlus。

按上述方法配置TextPad Java编辑器后,还可适当优化TextPad Java IDE环境,使它更适合编写、执行Java程序。优化环境方法在此省略,有兴趣的作者可参见文献[2]。

2 教学内容

根据多年的Java程序设计课程教学经验,我们认为讲授该课程的内容主要包括三个方面:一是Java语言基础;二是Java语言的新特性;三是在讲授上述内容时穿插介绍JDK类库的常用类。

Java语言基础包括:数据类型、表达式、基本语句、类和对象、继承和多态、异常处理机制、小程序、图形用户界面设计、输入/输出、多线程、网络编程和数据库编程。考虑到我们面授的学生已经掌握了C++面向对象程序设计基础内容,而且Java教学内容偏多、教学时数较少[8],因此对于衍生自C++的Java语言,它和C++类似的部分,包括数据类型和表达式、基本语句、类和对象、继承和多态及异常处理机制等,应讲授较少的学时数;而对于Java语言特有的部分,如小程序、图形用户界面设计、输入/输出、多线程、网络编程和数据库编程,则应讲授较多的学时数。由于篇幅有限,在此省去对每个章节学时数的具体编排。

1996年Sun公司发布了JDK1.0,在短短的十年时间里,JDK从1.0版本升级到6.0版本。特别值得一提的是2004年发布的JDK5.0版本,它在旧版本的基础上增加了一些非常有意义的新特性,比如,泛型编程、增强的for循环、自动装包/拆包、类型安全的枚举、可变参数和静态导入等,使用这些特性有助于我们编写更加清晰、精悍、安全的Java代码。为了与时俱进,让学生掌握较新的Java特性,我们认为很有必要在课堂上向学生传授新技术,以拓宽学生的知识面。

一方面为了节约有限的学时数,另一方面为了鼓励学生在课余积极使用、查阅JDK帮助文档,我们不安排专门的章节介绍JDK类库的使用,而是在讲授Java程序例子时,将重点介绍一些重要类的使用,比如,在讲授图形用户界面这一章时,则会讲授一些重要包的使用,包括java.awt、java.awt.event、java.applet、javax.swing等,概述这些包的类层次结构。这样做既节约了时间,也使学生通过对例子的学习较好地掌握了一些常用类的使用。特别需要说明的是,容器类很重要,这些类在程序设计中会普遍使用到。

总之,在教学内容的选择上,我们推崇简化的原则,忽略一些不常用的知识点,如带标号的跳转语句、复杂的表达式运算规则、嵌套类等,这样做既节约了课时,也能充分引导学生编写简单、可读性好的程序代码[4]。

3 教学方法

充分利用多媒体教学设施,为上课讲述的例子做编译、运行演示。对于学生编程时常常出现的错误,在编辑程序时可设置类似的错误障碍,让学生修改错误,以杜决今后再出现此类错误,此外还能现场教会学生如何使用JDK TextPad开发环境。到了学期的中后期,鉴于学生们已基本掌握Java的语法,上课可适当减少演示例子的次数。

对于Java基本类库的授课,根据多年的Java开发经历和教学实践,我们认为学生应该对基本类库有个整体了解,要重点掌握 Java类库中的Java.lang和Java.util两个包,特别是容器类的应用是难点,需要结合实际例子阐述。这两个包提供的是Java编程要用到的基本类,学生需要清楚这些类或接口的继承关系、主要功能[5]。我们在授课时适当介绍JDK API文档的使用和阅读,提倡使用最新版本的英文API文档;在教学中注意总结相关类的联系和区别,如String和StringBuffer在使用上的区别,以及FileInputStream和RandomAccessFile在用于读文件时的区别。

在实施Java教学时,应注意Java和C++的区别。Java和C++都是面向对象的语言,而且Java衍生自C++,在基本语法及面向对象特征方面均有很多相同之处。比如,我们在讲授Java的数据类型、常量、变量、表达式、语句、类和对象、继承和多态等内容时,应着重指出它和C++的区别,简略细节知识。这样既能节约课时,也能使学生快速掌握Java的基本语法和面向对象特征。

在学生掌握了Java的基本语法及面向对象特征的基础上,我们会考虑将重点放在图形用户界面、多线程、网络编程和数据库编程上,以使学生能进行一般的Java应用编程。

如果课堂教学时数比较宽裕,则可介绍Java和UML、Java和设计模式相关的知识,强调软件开发新技术,特别是对于软件工程专业的学生,更应该这么做。

4 教学实例

可将程序例子分为非算法型和算法型两种类型。在介绍Java基本语法时,我们提倡用非算法型的例程,利于学生对例子程序的阅读和理解。而在讲授计算机典型问题,如排序、查找、递归时,则使用算法型的例程,以加强学生对一些典型问题的掌握。

在选择例程时,以例程中是否含有JDK类作为筛选原则,目的在于能让学生掌握更多的JDK类。

此外,在期中阶段,可选择一两个游戏项目作为综合的例程,如用于Java学习的Robocode游戏实验项目。Robocode是IBM的一位工程师MatNelson用Java语言所创造的机器战斗仿真引擎,是一款专门为程序员设计的游戏半成品。利用该引擎,只要编写几行简单的代码,就可以创造出一个在屏幕上四处疾驰的机器人坦克,参加游戏对战[4]。这样能增强例子的实用性和趣味性,调动学生学习Java的积极性。在此基础上,再布置一个游戏项目,作为学生在课余时间的练兵题。

5 结束语

衍生于C++的Java语言,作为一种面世较晚的语言,它集中体现和充分利用了若干当代软件技术新成果,如面向对象、多线程、平台无关等[9],使其拥有众多优秀的特性,从而成为面向对象软件开发的首选语言。

出于“Java程序设计”这门课的重要性和教学中存在的问题,本文提出了“Java程序设计”教学实施的诸多方面,并在作者施教的班级进行了多次实践,实践表明,上述教学思路是可行的,能在一定程度上提高教学效果。

下一步我们将在“Java程序设计”实践教学和后续课程改革方面进行实践探讨。

作者多年从事Java教学和Java软件开发工作,积累了一些教学经验,本文将它提练总结,希望能给Java同仁一些启示。

参考文献:

[1] 秦学礼,汪迎,郑淑红.Java程序设计实用教程[M].清华大学出版社,2012.

[2] 刘正林等.Java技术基础(第2版)[M].华中科技大学出版社,2004:30-40

[3] 印旻.Java语言与面向对象程序设计(第二版)[M].清华大学出版社,2007.

[4] 叶恒舟.Java程序设计教学探讨[J].科技信息,2007.1:23-25

[5] 李纯玉,胡丽娜.Java语言程序设计教学中的几点思考[J].科技信息,2007.2:10-13

[6] 张延军,乔德军,温炎耿等.构建Java教学体系[J].邯郸学院学报,2007.17(9):41-44

[7] 蓝雯飞,郑波尽.高级语言程序设计课程建设思路[J].计算机教育,2012.6:30-32

[8] 陆萍.浅议Java程序设计教学改革[J].电脑知识与技术,2007.27:32-35

[9] 石瑞峰,边琦,冯小龙等.Java程序设计教程[M].清华大学出版社,2012.

作者:蓝雯飞 李子茂

第三篇:C语言程序设计课程教学探析

摘要:针对C语言程序设计课程难学和难教的问题,在学生学习目的不明确和学习内容不合理以及教学方式不完善三个方面存在问题的分析基础上,对C语言教学活动中的学习动机、理论和实践内容安排以及教学方式进行了分析,提出了激发学生学习兴趣、调动学生学习主动性和培养学生解决实际问题能力三个解决方法,在教学和实践中取得了良好的效果。

关键词:C语言;理论教学;实践教学

随着计算机学科和其他学科交叉应用的不断深入,高校都开设了程序设计课程,培养学生掌握和利用计算机分析解决问题的能力,同时提高学生的逻辑思维能力。要进行程序设计,必须掌握一门计算机语言作为编程工具,由于C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,它既有高级语言的优点,又有低级语言的许多特点,通过该课程可以很好地提高学生的编程能力,进一步为学习其他涉及到计算机知识的专业课程或者从事编程开发工作打下良好的基础,因此很多高校都把C语言程序设计作为一门基础的必修课进行开设[1]。然而通过调查发现,在教学过程学生普遍反应C语言难学而老师感觉难教,课程结束后很多学生对程序设计没有清醒的认识,更谈不上进行实际的应用开发[2]。如何解决C语言程序设计课程教学中普遍存在的问题,让学生对程序设计有一个完整的认识,进而培养和提高学生的综合素质,是值得每一位从事程序设计语言教学的教师去认真研究的课题。

一、存在的问题

高校C语言课程大都在一年级开设,由于大多数学生在高中时接触计算机编程较少,这就导致了学生在学习C语言的过程中,感觉其枯燥、抽象、难以掌握;对基本概念尚能理解,但当实际编程时,又感觉无从下手。这些问题跟教师讲课过程中过多注重语法等理论知识,对学生学习兴趣和解决实际问题的能力培养不够有很大关系,主要原因体现在以下几个方面。

(1)学习目的不明确。一些学生不清楚程序课程的学习目的和意义,认为就是学习语法规则,学习内容抽象并且晦涩难懂,没有实用价值,学习只是为了考试及格,认为大一开设的课程是基础课,和专业课联系不大,对自己的就业没有影响。一些非计算机专业学生学习该课程目的甚至只是为能通过计算机等级考试拿到证书。

(2)学习内容不合理。许多老师在讲授课程内容时往往都是先给出一般的语法格式,然后介绍语句的语法规则,最后讲解语法要点和例题,没有易于理解和能够提高学习的案例,由于书本内容死板枯燥且和实际问题脱节,无法满足学生的认识水平,也不能调动学生学习的兴趣。在进行上机实验时,试验内容往往是书本上的或是老师上课时所讲的案例,由于内容的选择不恰当,上机实践很大一部分情况下都变成了打字练习,或者只会验证性地做一些修改对错、得出程序运行结果的实验,一旦要求功能改进,不能进行算法和语法结构的调整,最后学生总会觉得出C语言难学的结论[3]。

(3)教学方式不完善。部分老师的教学仍然采用理论讲授在先、上机实验验证、最后布置作业巩固的传统教学模式,在教学过程中过多强调学习语法格式等理论知识,重点分析程序和算法的运行过程,而不是讲解根据问题如何分析和设计算法和程序,从而致使学生的程序设计能力不强。这种教学模式培养出的学生虽然理论知识学得很好,考试的时候也可以拿到高分,但在真正要求解决实际问题的时候,往往没有编写程序的思路,不知如何下手。由于经常解决不了问题,不能体会到计算机编程在解决实际问题时带来的便捷以及没有编程的成就感,久而久之,学生也就失去了学习计算机编程的动力。

二、解决方法

(1)激发学生学习兴趣。兴趣是最好的老师,能够使人产生愉快的心理状态,并对学习过程产生积极的影响。研究证明学习者只要对学习有兴趣,就可使人脑处于开放状态,学习者对于学习的兴趣越浓,信息在传输过程中受到的干扰就越小,信息接受量就越大。从教育心理学的角度来说,兴趣是一个人倾向于认识研究获得某种知识的心理特征,是推动人们求知的一种内在力量。人的注意力、观察力、思维能力、记忆力乃至想象力都和兴趣紧密相连,兴趣能使人的认识理解记忆处于最佳状态,思维能力最为主动和活跃[4]。有了学习兴趣,学生才有可能有意识地去思考和解决问题,因此在C语言教学的过程中要注重激发学生的学习兴趣。

比如,在讲解变量值交换时,有位老师就问一个比较调皮的学生,如何把桌上的两瓶水互换,这个学生不假思索地说,把一瓶水喝了,再把另一瓶水倒进来,这时老师就问那个空瓶子的水呢,学生很不好意思,就说再吐出来,全班大笑。这时,老师就因势利导地说,对了,在变量值交换的时候,一定要记得找一个人来喝水,然后再吐出来,然后就讲解变量值交换的过程。由于学生觉得当时的情况十分有趣,因此对交换变量值的过程就记忆深刻。再比如,C语言中指针是非常抽象的概念,老师在讲解的时候就问学生,如何让某一个同学起立来回答问题,学生往往就会回答,叫他名字,老师又问如果不知道那个学生的名字呢?学生就会回答叫第几排的第几个同学。这时,老师就讲解假如学生的名字相当于变量名,如果我要让某个学生回答问题,叫名字就是通过变量名来访问,叫第几排的第几个就是通过指针来访问,这只是方式不一样,但都是同一个人,教室有多少个座位相当于计算机内存有多大,第几排第几个相当于座位编号就是指针变量的地址,这时学生就会很容易地理解变量、指针及其地址。

(2)调动学生学习主动性。人有一个特点就是希望做事情有成就感,能够体现自我价值并受人尊重,当其有成就感时,往往能够以更大的精力和主观能动性投入到工作中去。成就感是一种主观感受,有两方面的来源,一是自身的价值观念,二是他人给予的肯定评价。一个人如果自身有一个价值判断,而且能够不管别人的看法,坚持这个判断,那么只要他自己认为自己所做的事情是有价值的。当他尽自己的努力,哪怕有一些错误,却有人关注,能够对他进行好的评价,他就能感受到成就感[5]。因此在C语言的教学过程中应及时鼓励学生表扬其优点,使其有学习C语言的成就感,从而调动学生的学习积极性。

比如在学习过程中对学生中出现的与众不同的新颖的程序设计方法和思路要及时宣讲并公开表扬,以鼓励这种有创意的学风[6];对编写的程序不符合规范的学生,也要从中找出值得肯定的地方,不能因程序编写中存在的问题而一概否定。在讲授循环的教学环节中,有一个题目叫求水仙花数,大部分同学根据教材思想从100开始到999单循环,分别求出变量的个位数、十位数和百位数,三次方后相加,如果求和与变量本身相等就输出。有一个同学则是使用三重循环,对三个循环变量进行三次方后相加,如果求得的和与三个变量按顺序组成的三位数相等则输出。由于该同学使用了不同的算法思想,老师对其大加赞扬,结果该同学的学习主动性空前提高,后来参加全国数学建模大赛并取得了很好的成绩。

(3)培养学生解决实际问题能力。在理论与实践的辩证关系中,实践是理论的基础,又是理论的出发点和归宿,实践对理论起决定作用;理论必须与实践紧密结合,接受实践的检验,为实践服务,并随着实践的发展而发展。高等教育培养的人才,既要有用社会实践指导的理论功底,又要有在实践中运用和发展理论知识的能力[7]。C语言课程的教学目的是要求学生熟练掌握程序设计的知识,为以后结合专业学习计算机技术以及进行相关的专业“课程设计”和“毕业设计”打下良好的基础。掌握基本语法和程序设计的基本思想、熟悉常用的算法与编程技巧,具备初步的编程解决实际问题的能力[8]。学生如果只会纸上谈兵,没有解决实际问题能力,也就失去了开设该课程的意义。因此在C语言的教学过程中,除了对基本的语法和语句等理论知识进行传授外,还应该注重对算法的教学,培养学生利用编程解决实际问题的能力。

比如,在讲解输入一个成绩输出其等级的问题时应该有效性判断,如果输入的成绩大于100或者小于0则为无效成绩。教师在讲授该环节时一般都会告诉学生,有效性判断是为了防止输入误操作,在实际编程中要加上条件判断语句,不满足时要重新输入。但是在实际应用时,却并非如此,因为在输入的操作过程中,很有可能第一次输入错误,第二次还是错误,以此类推,因此采用条件判断的分支语句在第二次输入错误时程序已不能运行,根本不能解决实际问题。

三、结语

对于大学生来说,学习C语言程序设计的目的是在掌握理论的基础上,通过实践,培养使用计算机编程来解决各种实际问题的能力,达到学以致用。对教师而言则应改进教学方式,使学生在学习过程中体验快乐,提高学习的积极性和主动性。课堂教学是一门艺术,教学方法探讨永无止境,只要能够符合教学内容,激发学生的学习热情和兴趣,就可以实现教学目标。文中所述的问题以及解决方法是根据实际教学情况分析得出,并已在C语言课程教学和实践中运用,并取得了良好的教学效果。当然,在具体的教学环节中,新问题层出不穷,需要我们不断探索和改进,努力使C语言课程教学日趋完善,让C语言程序设计真正成为学生喜欢的课程。

参考文献:

[1]陈一昌.C语言程序教学新探[J].科技经济市场,2011,(9):107.

[2]刘志宏,刘舟荷,张雯晖,等.项目教学法在C语言教学中的实践与研究[J].中国成人教育,2010,(4):139.

[3]万丽华,夏侯贇.C语言项目教学法在非计算机专业学生中的教学体会[J].电脑知识与技术,2011,(7):5968-5969.

[4]常丁.程序设计教学中如何提问题[J].山西师大学报(社会科学版)研究生论文专刊,2010,(37):197.

[5]赖小科.关于“成就感”的思考[J].体验,2010,(7):52.

[6]徐晓伟.《C语言程序设计》教学方法改革探析[J].软件导刊,2008,(7):207-208.

[7]甄阜铭.理论教学与实践教学的同构关系[J].现代教育科学,2011,(5):79.

[8]贾宗璞,许合利.C语言程序设计[M].北京:人民邮电出版社,2010.

作者:王国伟

上一篇:心血管疾病论文范文下一篇:全语言教育论文范文