当前位置:首页 > 专题范文 > 公文范文 > 试论C语言实验教学、第二课堂中培养学生能力的方法

试论C语言实验教学、第二课堂中培养学生能力的方法

发布时间:2022-10-21 09:55:03 来源:网友投稿

文章编号:1672-5913(2008)18-0013-01

摘要:本文结合作者近几年指导本科生C语言实验的一些经验,探讨了如何在C语言实验教学中提高学生的综合实践能力;并就如何在第二课堂培养IT人才,提出了合理有效地利用ACM、开源软件、网络论坛等多种国外先进教学手段进行培养的观点。

关键词:C语言;实验教学;第二课堂;ACM;开源软件

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

目前C语言程序设计课程是高等院校的重点课程之一,是众多计算机和软件专业的学生接触的第一门专业基础课,所以编程能力的培养显得尤为重要。

1在实验教学中培养学生能力

1.1培养学生独立思考的能力

教师应避免直接回答学生提出的问题,而是给出必要的提示,引导他们去查阅教材和笔记,去认真思考与分析,找出错误的原因。记得一次C语言上机实验中,有同学问了这样一个问题:“通常函数参数的个数都是固定的,但我们最常用到的printf、scanf这些函数的参数个数可以是不固定的,这在C语言里是如何实现的?”由此可看出这个同学在问这个问题之前,独立进行了思考,可能也查阅了很多参考资料。这种经过深思熟虑而提出的问题是非常有价值的,相信他会得到真正的提高。

1.2培养学生动手调试的能力

计算机是一门需要实践的学科,多动手、多动脑是学好语言所必须的,在C语言实验中,对于程序中出现的问题要自己多动手、多调试,尽量来自己解决,因为有些问题看似简单,实则包含着很多内容,再简单的程序都要结合语言的自身特点,以一种最优化的结构去表达,不能忽视任何小问题。比如有这样一个小程序求两个数之和。

main1()

{

int a, b, s;

scanf(“a=%d, b=%d”,a, b);

s=a + b;

printf(“s = %d”, s);

}

对于初学者来说,写出这样的程序还是很好的,无论从语法上还是语义上都没有错,可是上机运行时就会发现不能得出结果,通过调试会发现scanf函数实际上还有许多约束。动脑写程序和动手调试程序都是学习计算机必备的能力,因为编译通过,不等于程序正确;一种输入正确,不等于所有的输入都正确;一次运行正确,不等于次次运行都正确。程序总会出一些莫名其妙的错误,想解决这些错误,唯一的手段就是调试。调试不仅是解决程序问题的重要手段,也是学习的好工具。实验指导教师一定要并引导学生通过调试而不是对着屏幕干看来寻找程序的错误。同学们去调试程序不仅可以发现程序中存在的问题,同时还可以更好地相互交流学习,可使同学们的编程能力得到迅速提高。

1.3培养学生自己发现问题和解决问题的能力

在指导实验过程中实验教师要引导为主,传授为辅。既不能只指而不导,为图省事给学生包办代替、什么都替学生去做,又不能放任自流、对学生不闻不问。一定要通过启发等方式来引导学生自己解决遇到的问题。教师要鼓励学生通过个人实践来获得判别能力。在这个过程中,学生不可避免地会犯各种错误,甚至会面对失败,但失败的经验也是学生积累的最宝贵的财富。这样可以让学生充分地感受自己发现问题、独立解决问题的乐趣,提高他们的动手能力和分析问题、解决问题的综合能力。

1.4培养学生创新的能力

创新是对未知的探索与求解,教学不仅要向学生传授知识和技能,还要创造必要的条件,培养学生的独立创造的个性品质,培养他们的创新素质。

具体为同一问题可让学生设计出不同的解决方案,给他们无限的发挥空间。如一个简单问题:猴子吃桃问题,猴子第一天摘下若干只桃子,当即吃了一半零一个,第二天又吃了剩余桃子的一半零一个,以后每天都吃前一天剩余桃子的一半零一个,到第十天想吃时,发现只剩下一个桃子了,求第一天猴子共摘了多少桃子。大多数同学都用循环结构程序设计的方法来编程,可实际上还可以用递归等方法来编,教师不应给出题目的解决办法和思路,至多只能提示一下思考方向,完全让学生通过自己的能力来解决问题,对在此过程中出现的失误和失败,也要肯定学生的探索精神。这样学生在纠正缺点弥补不足的过程中就已经使自己的实践能力得以提高,每位同学的创新思维也大大加强了。

2在第二课堂上培养学生

2.1利用ACM提高学生的编程能力

ACM国际性大学生程序设计竞赛自1970年开始,其宗旨是使大学生能通过计算机充分展示自己分析问题和解决问题的能力。参加本项比赛的选手至少需要掌握计算机科学的常用算法,基本的计算理论(如离散数学,具体数学,组合数学基础),数据结构基础,程序设计语言(规定是C/C++或者是Java)。在本项比赛中考察学生的不仅仅是能够完成指定任务的程序,更要求在完成程序的功能的基础之上提高程序的运行效率与空间占用率。时时刻刻都应当去考虑如何去最大限度的优化,改善你的程序结构,以达到用最小的空间,最优的算法实现程序的功能。从数学角度考虑,题目主要的方向集中在工程数学,一般题目都会给出要求和几组输入和输出作为程序设计的参考,也是检验程序正确性的标准之一。现在很多大学都有ACM在线答题系统,同学们课余只要有时间,就可以在线做题,见识到各种各样的题型,编程能力自然得到提高。

2.2充分利用互联网、利用开源软件

我们可以查看、研究开源软件的源代码,并且可以在遵从一定规则的前提下使用这些源代码开发新的软件。

网络论坛通常是一个很大的网站,在这个网站上注册有成百上千甚至数万个正在开发的开源软件项目,每个人都可以注册自己的项目,也可以想办法参加自己感兴趣的项目的开发。参与这样的项目开发,不仅能锻炼技术、还能锻炼英语以及沟通的能力,更重要的是能开拓眼界,知道世界上其他国家的计算机专业的学生们都在做什么。当学生们在使用某个开源软件的过程中发现了不足,就可以其进行改进,并把改进的结果回馈给开源社区,并慢慢地真正融入这个社区当中。当学生们慢慢地在这个社区当中成长了,也许就可以慢慢地创建自己的项目了。

2.3效仿国外Linux社区,举办各种实践活动

有许多同学想学习一下Linux,因为Linux和Windows差别很大,学生们碰到的第一个问题往往是不会安装。因此可效仿国外Linux社区的做法,搞一次小型的Linux Install Festival,即让Linux高手帮助新手们安装Linux系统。这既让新手们提高了能力,也给校内的同学们一个相互交流的机会。

3结束语

通过以上活动,同学们能够在实验教学中提高综合实践能力。在今后学习离散数学、数据结构、算法、组合数学、人工智能、计算机组成原理、汇编语言、操作系统、数据库原理、计算机网络、编译原理等专业课和其他基础课的过程中,如果同学们尝试着多做一些实践,那么学习效果一定会事半功倍。

参 考 文 献

[1] 朱清时. 什么样的基础课教材是最好的[J]. 中国大学教学,2006,(8).

[2] 谭浩强. C程序设计[M]. 北京:清华大学出版社,2002:120.

版权所有:袖书文档网 2002-2024 未经授权禁止复制或建立镜像[袖书文档网]所有资源完全免费共享

Powered by 袖书文档网 © All Rights Reserved.。备案号:鲁ICP备20026461号-1