C程序设计教学的新宠

2011-12-29 00:00:00郭苹
考试周刊 2011年45期


  摘 要: 计算机程序设计能力是高职电子、机电、电信类大专业的核心能力之一,本文阐述了Ch平台在C程序设计教学中的魅力体现,以及它对于提高课堂教学的实效性,改变女生学习程序设计的现状,在教学过程中突破难点和重点等方面所起的作用。
  关键词: C程序设计 Ch平台 交互式 课堂实效性
  
  高职教育重在职业能力的培养。目前,高职电子、机电、电信类大专业,都不同程度地要求学生具备一定的程序设计能力。而程序设计能力是培养职业能力的核心能力之一。C语言作为计算机编程入门教学中应用最广泛的语言之一,已成为各个高职院校的首选。但是C语言本身的特点决定了它并不是最好的教学语言。加之高职层次的学生由于生源的特点所决定,他们英语和数学的基础普通很差,逻辑思维能力有所欠缺。所以在高职这个层面上C程序设计这块教学始终是块硬骨头。
  Ch平台是程辉教授在美国加州大学戴维斯分校从事近20年C语言程序设计教学和科研实践中,针对C语言的众多难点,积累开发的一种跨平台嵌入式C/C++程序解释器。Ch平台抛弃了传统的抽象教学方式,由面向底层内核的交互式命令外壳和教学专用且界面友好的集成开发环境两大模块构成,从而形成了一种新的C程序设计教学平台和新的教学模式。中国科学院计算技术研究所倪光南院士指出,Ch平台是一个适合于中国计算机程序设计教学的优秀平台。本文就Ch平台在高职C程序设计课的教学过程中所呈现出的魅力一一描述。
  一、Ch平台开发环境比较适合初学者。
  如果一个开发环境非常的庞大和复杂,这会让初学者望而却步。Ch平台具有以下特点。
  1.体积比较小,方便安装。它是所有C语言教学平台中体积最小的。例如,最新版的Ch不到80MB,而VisualC++有30多GB。并且安装后可以马上使用,不用重启和配置任何文件。
  2.操作过程简单明了。新建项目时过程简单,学生易于上手。在缓冲区里同时打开多达20个文件,编写程序时非常方便;有助于提高编程和调试效率。如下图是ChIDE的集成环境。
  3.有专门的使用帮助文件,方便初学者查找,有利于初学者入手。
  4.界面美观,具有人性化的设计。清晰明了的图示降低了初学者学习的难度,有全面的快捷键说明。各个功能块的作用明显。
  5.调试功能全面。调试时控制台始终保持在最前,不必在代码界面和调试控制台之间频繁切换。拥有一个典型的C语言开发环境所需要的所有运行和调试功能:可以设置多个断点;单步调试时的提示清晰明确;单击错误提示就可以直接跳转到有错误的那一行;无需编译链接就可以解释代码;在调试过程中可以更改变量的值,可以观测任何含有变量的表达式的值,甚至可以在任何时候调用函数。在学习控制结构时,学生可以改变变量的值,观察每次不同的分支选择结果,以及在什么时候会进入无限循环。对一个写好的程序,也可以通过这个方式测试其稳定性。
  如下图所示是ChIDE的调试工具栏。
  6.出色的文本编辑功能。
  7.强大的Ch命令外壳(Command Shell)。C语言也可以实现所见即所得,在交互式命令外壳的窗口下,可以清楚地看得到,体会得到C当中语句的执行过程。如下图所示,从中可以明明白白地看到交互式的命令外壳的优势。
  说明:定义两个变量a,b,分别赋值9,7,然后计算a+b,立刻得到结果是16,接着再计算a*2,结果也立刻得到是18,这就是Ch平台的交互式的命令外壳功能的体现。Ch平台的这些优势决定它可以大大降低初学者学习计算机程序设计的门槛。
  二、Ch平台的交互操作可以提高课堂教学的实效性,激发学生的学习积极性。
  教师可以使用这个平台,在课堂上开展直观的程序交互式演示教学,帮助学生形象化地理解C语言指针、结构体、数组、编程逻辑、编程调试等学习难点,从而提高教学的实用性,激发学生的学习积极性。学生可以快捷地体验C语言的不同特征,无需进行冗长的编译/链接/运行/调试的循环操作。例如,在讲解变量所占字节数这个知识点时,可以利用Ch平台的交互功能,使得讲授变得简单易懂,形象生动。如下图所示。
  Inta,b定义两个整型变量,然后用Sizeof()求出变量所占字节数,马上输出结果是4,Char c定义一个字符型变量,同样用Sizeof()求出变量所占字节数为1。利用这样的交互操作,学生会一目了然,马上明白整型和字符型变量在内存中所占字节数。课堂的实效性显然能大大地提高。学生也不会觉得程序设计有多难学,积极性自然而然会大大提高。
  三、Ch平台可以大大提高女生学习计算机编程的兴趣。
  历年来的程序设计课堂上总是有这样一种怪现象,学习的时候男学生忙着走神,女生刻苦认真;使用的时候,女生六神无主,男生才开始学习。期末考试的成绩女同学的合格率高于男同学,而优秀率却低于男同学,所以如何提高女学生的学习兴趣一直是个瓶颈。而利用Ch平台可以很好地突破这个瓶颈。Ch平台较之于其他的教学平台有更多的优势,具有交互功能,大大地降低了理解C语言的抽象性。它的知识点可以得到形象、具体的显示。现在我们通过一个简单的循环语句来说明。
  #include
  void main()
  {int i,sum=0;
  for (i=1;i<=10;i++)
   sum=sum+i;
  printf(“%d”,sum);
  }
  女生的抽象理解能力和逻辑思维能力普遍差于男生,但女生的细心程度和英语基础普遍好于男生。通过Ch平台的调试工具栏,可以把一些知识点的讲解难度降低,变得简单易懂。
  四、利用Ch平台授课可以在突破重点和难点时做到事半功倍。
  例如,在讲解for循环语句时,利用此平台,发挥它的交互解释作用,可以让学生一目了然,清清楚楚地知道循环的次数,每一次循环都做了哪几条语句,以及循环时程序的跳转,等等。通过对比讲解(和利用其他平台对比,在时间的花费上对比,在教学效果上对比)得出利用Ch平台授课可以在突破重点和难点时做到事半功倍。
  总之,Ch平台一经在我校引入,程序设计课的教学效果大大提高,特别值得一提的是,在近几年的浙江省ACM程序设计大赛中,我校学生成绩不俗,最好的一次获得了高职组金奖和最佳组织奖。这和我们在教学中引入Ch平台夯实基础密不可分。
  
  参考文献:
  [1]吴文虎.程序设计基础.北京:清华大学出版社,2004.
  [2]谭浩强.C程序设计教程.北京:清清华大学出版社,2006.
  [3]孙绍荣.教育信息理论.上海:上海教育出版社,2006.
  [4]谭浩强.C程序设计试题汇编.北京:清华大学出版社,2006.
  [5]何光明.C语言实用培训教程.北京:人民邮电出版社,2002.
  [6]黄逵中.C语言实例教程.北京:中国电力出版社,2004.
  [7]美国加州大学网站主页.http://www.QCOP.edu/.
  [8]Ch网站主页.http://www.softintegration.com/.
  注:“本文中所涉及到的图表、公式、注解等请以PDF格式阅读”