摘要:C语言程序设计课程是一门公共基础课,也是一门实践性很强的课程。旧有的教学教学方法和手段已不能适应学生的需要, 我们在C 语言程序设计课程的教学中引入改革措施,提出案例教学、师生互动、合理使用多媒体等一系列的改革措施, 得到了较好的效果。

关键词:《C语言程序设计》;教学改革;案例教学;师生互动;多媒体

中图分类号:G642文献标识码:A文章编号:1009-3044(2009)25-7182-02

Practicing on Teaching of "C Programming"

QIAO Zheng-hong

(Sci. & Tech., Institute of Science, PLA University, Nanjing 211101, China)

Abstract: C Programming is a basic course in public, it is also a practical course with highly experimental demand. Old measure of teaching in C do not adapt the student' s need, the measure of reforming teaching is introducted, such as Case Study, Teacher-student interaction, Rational use of multimedia, which gets rather good response.

Key words: C Programming; reform of teaching; case study; Teacher-student interaction; multimedia

1 引言

我校为非计算机专业的学生设置了两门计算机公共基础课程:一是“大学计算机基础”,二是“计算机程序设计基础”,要求所有学生必须选修。其中“计算机程序设计基础”课程选用目前流行的C语言作为教学语言。

C语言是我校学生学习程序设计的入门语言,学生分析问题、解决问题的能力和程序设计思想的形成都与C语言有着密切的联系。C语言既具有高级语言的优点,又具有低级语言的许多特点,既可以用来编写系统软件,又可以用来编写应用软件。C语言语法限制不严格,程序设计自由度大,在使用时会出现一些“副作用”,再加上现行在教学过程中存在的一些弊端,所以在学习中学生普遍反映“难学”、“不懂”、“没兴趣”,这也是在C语言教学中普遍遇到的问题。

2 现行教学过程中存在的问题

2.1 以书本为中心,忽视学生能力的培养

以书本为中心的教学模式,采用从概念到概念的注入式教学,偏重于C语言语法知识的详细讲解,而对程序设计思想、程序设计方法和程序设计风格的介绍很少,对编程能力的培养不足,导致学生学不深、学不透、学不精,不会编写和调试程序,不会测试程序的正确性,编写的程序可读性很差,遇到稍微复杂的程序就读不懂,更不用说运用学到的概念去解决实际问题了。

2.2 以教师为主体,忽视学生的能动作用

以教师为主体的教学方法中,由于片面强调和突出教师的主导作用,忽视和压抑了学生的能动作用;片面地强调知识的传授和灌输,忽视了学生创新能力的培养;注重“知识型”人才,忽略了“智能型”人才的培养。在教学的过程中,教师只注重讲解概念、语法和程序,不注意调动学生的学习热情,学生被动接受灌输的知识,学习热情低,即使掌握了这些内容,也不能灵活运用,达不到举一反三的目的。

2.3 多媒体教学过分强调表现形式,忽略了内容本身

在现代化的教学过程中,利用投影仪、计算机、网络等现代设备开展多媒体辅助教学,具有较好的教学效果。但是在课件制作上过分强调表现形式,忽略了内容本身,往往造成喧宾夺主,达不到预期的效果;另外在课堂上,教师过分依赖课件演示,忽视与学生沟通,影响学生参与教学活动的积极性。

针对以上存在的不足,我们在对C 语言教学过程中,开展了一系列的教学改革,在教学中采用案例教学法,强化师生互动,积极培养学生学习兴趣,并合理使用现代教育手段,取得了良好的教学效果。

3 教学改革方法

3.1 采用实例教学,突出能力培养

为了改变以书本为中的注入式教学方式,我们探索采用了实例教学法,以程序设计的需要带动语言知识的学习,在每个知识点上以引例开头,激发学生的好奇心和求知欲,从而促进学生成为教学主体,引导学生进行自主学习、合作学习、研究性学习,增强学生的综合应用能力,从而提高了教学质量,取得了良好的效果。

在实际教学实施过程中,我们采用了项目递进驱动教学法,改变满堂灌的做法,将学生的眼手脑全部调动起来。精心设计实例,给学生一个比较实际的切入点,通过教师的演示使学生感觉能够入手,然后再将此实例不断修改、扩充,引导学生参与到程序的编写过程中,并将学生设计的程序展示,让学生来评判优劣、吸收优点、修改错误,引导学生进行程序优化。比如在进行if语句的教学时,针对符号函数的求解,我们给出多种可能实现的程序段,让学生分析哪些程序段能够完成计算,哪些不能完成计算,对不能完成计算的程序段如何进行修正等。通过这些程序的分析,使他们加深了对if语句的理解,掌握了if与else的配对关系,并灵活运用去解决其他问题。

3.2 强化师生互动,激发学习学习热情,发挥学生主观能动性

在C语言教学中,我们大力强化师生互动,充分发挥学生的主观能动性,注重培养学生独立学习、独立思考、勇于创新的能力。师生互动教学我们采用了“问答式”、“讨论式”等多种形式。每一种方式都有其特点和特定的适用范围,在实际教学中我们根据具体情况加以灵活运用。

“问答式”就是教师事先设计好问题,启发学生思考,引导学生在问题解决中构造算法进而掌握相关的概念、语法、功能及应用。例如:要求学生编程实现输入三角形的三条边a,b,c,计算以这三个数为边长的三角形面积。我们可以适当进行提示提问:①输入的三条边能否构成三角形?②已知三边长,三角形面积该如何求呢?这就要结合中学时的数学知识,对于问题①用数学语言来描述为:两边之和大于第三边。那么用程序语言该如何描述呢,应该采用哪一种程序结构?顺序、选择还是循环?程序结构知道了,下一步就是根据数学公式计算面积。这样,逐步对学生进行提示和引导,可以使学生的思维一直处于活跃状态。

“讨论式”就是教师预先设定讨论题目和要求,由学生分组讨论的一种互动教学方式。它适用于课程中的重点难点问题。如在链表的教学中,我们就如何利用链表实现栈、队列,用链表实现与用数组实现各有什么优劣等问题时就采用“讨论式”教学方法。课前教师将问题提出来,让学生自己去思考。学生自由组合形成若干各小组,每个小组应有一位秘书,负责全程记录讨论过程,最后每个小组要出一份讨论报告,然后由每个小组推选一位学生上台讲解本组的实现方案,其他组的同学可自由提问,最后由教师对方案的可行性、是否有创新、须改进之处一一进行分析讲评。这种方式有利于培养学生的思维能力和协作能力,激发学生学习热情。

3.3 合理使用多媒体,提高教学效率

在教学中结合形象直观的事例或图形讲解概念,可以充分发挥学生的形象思维能力,不但易于理解和掌握,而且印象深刻,能有效地提高学习效率。因此在C语言教学中我们可利用多媒体代替传统的板书,将文本、图像、声音、动画结合起来,使抽象的内容变得形象生动,学生通过多种感官来获取知识,形成相关的概念。但是滥用多媒体教学,不但达不到预期的教学效果,反而会分散学生的注意力,削弱教师在教学过程中的主导作用,甚至影响学生的学习积极性。在C语言多媒体教学实践中,我们着重解决好以下问题。

3.3.1 课件内容与形式的关系

在制作C语言课件时,我们要根据课程的教学内容的性质和特点选择恰当的技术手段和表现形式,充分利用了各种媒体信息为教学内容服务。在课件制作上,不需要花时间、花精力对课件进行包装,刻意追求特技效应。在课堂教学中,过多的画面切换,容易造成学生在学习过程中应接不暇,对所学内容生吞活剥,能力的培养无从谈起。实践证明,附加信息和无关信息过多,虽然从心里上加深刺激了学生的感知能力,但却显得主次部分,容易分散学生的注意力。因此我们要求课件制作要务实,不必特别美观,也不必有很高的技术含量,涵盖的知识点也不必很多,只要能使抽象、难懂的内容变得直观、易懂,有利于学生更好地接受所学的知识就够了。

3.3.2 注意发挥教师的主导作用

虽然教学课件事先已经做好,但不是说在课堂上教师只充当“解说员”、“演示员”就可以了,这样可能会出现学生看了很多,听了很多,却不知道要学什么,什么是重点难点,而事与愿违。其实,多媒体辅助教学作为一种现代化的教学手段,是用来提高课堂教学效率、突破重难点、解决一些传统板书教学不容易理解的问题。作为教师应把握住自己在教学中的主导地位和作用,通过教学过程的设计和灵活多变的操作,使多媒体发挥最佳教学功能。

4 结束语

采用这些教学方法,有提出问题、解决问题、扩展问题、再解决问题、对解决问题方法的评价、优化等几个环节,实际上是一个螺旋式滚动向前的过程,在这个螺旋式不断向前的过程中,能够非常自然地调动学生参与的积极性,而且通过问题的扩展,通过一个问题的多种解决方法,使学生在课堂上真正地成为“主体”,教师扮演“主导”角色。当然,在改进和探索教学方法的同时,我们还要充分利用机房、网络和课外环境,启发和调动学生的学习积极性,培养和提高学生的自学能力。

参考文献:

[1] 中国高等院校计算机基础教育改革课题研究组.中国高等院校计算机基础教育课程体系2006[M]. 北京:清华大学出版社,2006.

[2] 全国高等院校计算机基础教育研究会.高等院校计算机基础教育经验汇编[M].北京:清华大学出版社,2008.

[3] 房鼎益,等.计算机科学与技术专业面向21世纪教学改革与新教学计划[J].计算机科学,1999,6(2):153-155.

c语言程序设计地位和作用,《C语言程序设计》教学实践相关推荐

  1. c语言eof不起作用,c语言程序设计 怎么以输入EOF结束

    EOF(EndOfFile)是C语言中的文件结束标志符.当C语言输入函数获取到文件结尾标志时,会通过返回值的方式体现该值.所以要以输入EOF为结束,就需要判断输入函数的返回值.EOF定义在stdio. ...

  2. c语言对编程对作用,c语言编程心得体会

    c语言编程心得体会 c语言是在国内外广泛使用的一种计算机语言.以下是小编整理的c语言编程心得体会,欢迎大家阅读! c语言编程心得体会1 说到我学习c语言时,真是用千言万语呀!记得刚开始学的时候,我的c ...

  3. c语言的应用与作用,C语言主要应用在什么地方?

    C语言是一种计算机程序设计语言.它既有高级语言的特点,又具有汇编语言的特点.它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序.因此,它的应用范围 ...

  4. c语言程序头文件作用,C语言头文件

    C语言头文件教程 C 语言的头文件一般都是 .h 做为结尾的. C语言头文件详解 语法 #include 参数 参数 描述 filename 我们需要引入的头文件的名称. 说明 C 语言的头文件一般都 ...

  5. c语言链表head的作用,c语言链表的用法

    c语言链表的用法 链表是数据结构中比较基础也是比较重要的类型之一,那么有了数组,为什么我们还需要链表呢!或者说设计链表这种数据结构的初衷在哪里?下面小编就为大家介绍下c语言链表的用法. c语言枚举的用 ...

  6. c语言(cn)括号的作用,c语言小括号的用法

    c语言小括号的用法 C语言的小括号里面表示一条语句,返回值是多条语句中最靠右的语句的返回值,比如(a=2,b=3,c=a+b),返回值就是c的值.下面小编就为大家介绍c语言小括号的用法. c语言小括号 ...

  7. c语言位与运算的作用,c语言位运算符的用法

    c语言位运算符的用法 C语言中位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果.下面小编就为大家介绍下c语言位运算符的用法. ...

  8. c语言文件有什么作用,C语言文件的使用方法

    C语言文件的使用方法 C语言文件的使用方法:所谓"文件"是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名. 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件 ...

  9. if在c语言程序中的作用,c语言程序设计,if(flag)中,括号内只有一个flag,表示

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:c语言程序设计,if(flag)中,括号内只有一个flag,表示什么?诸如此回答:C语言中有个很奇怪的定, 只要一个值不是0, 他就 ...

最新文章

  1. 【原】创建Hive表,分号分隔符“;”引起的异常
  2. 解析oracle的rownum
  3. mysql用的cap中哪两个_分布式事务CAP定理和BASE理论
  4. 我是个老爸--当局者迷,旁观者清
  5. sqlserver 字符串转换成日期、int与varchar类型转换及保留两位小数
  6. libmesh 实现 流程
  7. Css技巧:模块化编码
  8. 用中位数代替平均数来衡量民生指标
  9. 我的Android进阶之旅------经典的大牛博客推荐(排名不分先后)!!
  10. SqList *L与SqList *L的区别
  11. vue调用手机浏览器打开pdf_在微信中调用外部浏览器实现文件下载之解决
  12. java 伊甸园_离伊甸园仅一步之遥
  13. [Maven]讲讲它的构建生命周期和拉取 jar 包流程
  14. 20230407 定时闹钟
  15. python中callable什么意思_python中callable对象有什么用
  16. CG-3D渲染器-0.1
  17. 没有恢复出来数据却还要收我的钱,坑!吗?
  18. 计算机视觉computer vision(CV) - 笔记1
  19. python怎么调用c语言_Python调用C语言程序方法解析
  20. python3 jwt 模拟登录

热门文章

  1. mysql time类型 java_Mysql数据的时间类型对应的java时间类型
  2. 重启docker引擎,harbor退出问题解决
  3. 16条思想精华之《人性的弱点》读书笔记
  4. Senior Course Of Elasticsearch
  5. Redis详解(十五)------ 集群模式详解
  6. dotnetty 心跳
  7. 用R分析COVID-19流行病学[译文]
  8. python我想对你说_python学习第6天----文件操作
  9. 文心日签 | 辞旧迎新 鸿运通天
  10. 接口调试工具 --谷歌插件 API Tester