论文部分内容阅读
摘要:该文就当前高职院校在C程序设计课程教学过程中存在的的教师难教,学生难学等一系列问题,加以分析,在C课程教改的实效性方面做了一定的调查和研究,通过使用Ch平台对C课程进行试点改革,取得了阶段性的成果。
关键词:计算机程序设计;C 语言;Ch 平台;直观交互式;课程改革
中图分类号:G640文献标识码:A文章编号:1009-3044(2009)25-7325-02
The Research on the Actual Effect of the Reform of C course Based on the Ch Platform
GUO Ping
(Lishui Vocational and Technical College, Lishui 323000, China)
Abstract: This paper analyzes a series of problems in the process of teaching language C program design, which are difficult for both the teachers and the students in the higher vocational and technical college. Meanwhile, this paper has done some investigations and researches on the actual effect of the teaching reform of the C course and has obtained some success on the experimental reform of the C course by using the Ch platform.
Key words: computer programming; Language C; Ch platform; visual interaction; Curriculum reform
计算机程序设计是一门在各学校、各专业都普遍开设的基础课,其中多数以C 语言作为入门语言。但是由于C 语言本身的特殊性,教师难教,学生难学。成了程序设计课中的一块“鸡肋”。学之无味,弃之可惜。特别在高职高专院校,C语言程序设计课的教学更是难题,因为C 语言中的编译、连接和执行过程太繁琐,指针数组太难理解。最难让人忍受的是看不见摸不着,写的程序提交给计算机后不知道发生了什么。错误信息也只是说明哪里错了,而不知道为什么错了,一切都得靠自己对程序的理解。自己去分析。又加上学生本身英语和数学的基础差,所以大部份学生都感觉枯燥、无味,老师大都感觉在唱独角戏。而学生们也很想学好,因为学好这门课,可以提高他们的程序设计能力和实际动手能力,对他们的专业发展及今后的就业具有非常重要的意义,老师也想教好这门课。因为学好它,学生以后的后继课程就好学多了。哪怕是花更多的力气,可是事情往往事与愿违。所有这一切现状就要求教授者转变教育思想和观念,想方设法促进教学改革,提高教学质量和效率。
Ch 平台是程辉教授在美国加州大学戴维斯分校从事十多年C 语言程序设计教学和科研的实践中,针对C 语言的众多的重点和难点,积累开发的一种跨平台嵌入式C/C 程序解释器。Ch 平台抛弃了传统的抽象教学方式,由面向底层内核的交互式命令外壳和教学专用且界面友好的集成开发环境两大模块构成,从而形成了一种新的C 程序设计教学平台和新的教学模式。教师可以使用这个平台,在课堂上开展直观的程序交互式演示教学,帮助学生形象地理解C 语言指针、结构体、数组、编程逻辑、编程调试等学习难点,彻底改变了C程序设计原来的教学模式。该教学平台已经广泛应用于世界各地,运行在各种操作系统上,取得了显著效果, 受到各界专家学者的高度评价。同时这个平台也是学生有效自学和课后实践的工具。可以形象而又便捷地展示和协助教师讲解C 语言在解决较复杂工程和科学问题中的应用,从而提高教学的实用性,激发学生的学习积极性。
2006年,浙江理工大学承办召开了《浙江省高校C程序设计创新教学平台研讨会》,并邀请了中科院倪光南院士做学术报告,并在全省范围内推广Ch平台。本人代表我校参加,从那以后,本人在本校就一直使用和推广Ch平台,在C课程教学中引入Ch平台,有利于学生将被动听讲变为主动探求、自主学习, 达到掌握知识和专业技能的目的。教师在教学过程中可以轻松做到化繁为简,化难为易。特别是面对高职这一层次的学生,基础差,抽象思维稍弱一些,而Ch平台采用低层内核交互式显式方法,把枯燥难懂的编程的内核原理以简单的,容易接受的方式表现出来。使学生在实践中学懂理论,在理论中掌握实践。充分培养创新能力和独立分析问题、解决问题的能力。
C 语言的所有语句和表达式都可以在Ch 命令外壳(command shell)中交互解释执行并即时地显示在屏幕上。在命令模式中执行相应语句时,C 语言程序中语句末尾的分号是可省略的。Ch shell 会对输入的C 语言表达式直接进行求值,并将结果显示于屏幕上。使用Ch,可以随时看到语句执行后的结果是什么样子,可以和自己分析得到的和结果相比较,相同则已,不相同查找原因,可以很快的理解一些知识点,对于初学者特容易上手。现举例说明;在Ch 命令提示符下,键入int a=5 回车,然后键入a=a 2回车,结果7直接输出,不用什么其它任何的输出语句和输出函数就可以看到结果。如果再一次键入int a=5回车,则会有ERROR: identifier ’a’ redeclared这样的错误信息,提示我们变量重复定义,从中我们可以看出在C中变量不可以重复定义。还有在Ch命令提示符下,键入b=5 回车可以得到ERROR: variable ’b=3’ not defined这样的错误信息,可以得出C中变量必须先定义,后使用。在Ch命令提示符下,接着键入printf("%d",sizeof(a))而得出结果是4,我们知道在此环境下,int整型数在内存中所占字节数是4……。通过上述些许例子,我们得出:在课堂教学中使用Ch 平台,使得C课程教学犹如Visual Basic一样简单,因为Ch平台是一个解释环境,调试运行比它更显直观,能够让用户看得见摸得着。具有交互性和解释性的Ch 平台使C 语言的命令可以在此环境下交互解释执行。单个语句键入后马上就可以得到结果,进行验证,学习单个语句时可以快速理解,可以把C 语言中非常隐性的内在原理展现出来,让初学者可以看得见,消除抽象的解释。另外Ch 的函数文件是一种扩展名为.chf 的文件,C程序无需编译即可直接进行交互式执行。比如,要运行“hello.c”程序,只要在Ch shell 中输入命令“hello.c”,得到的结果就是“Hello, world”。另外Ch 集成开发环境(Ch Integrated Development Environment,ChIDE)。允许用户在IDE 中编辑、调试或运行C程序,其用户界面支持包括中文在内的30 多种语言。ChIDE 中含有现代IDE 中常用的大部分功能。比如,它具有自动语法高亮显示,可帮助用户发现程序的一些语法错误。用户可设置断点,单步运行程序,在程序运行过程中监视变量和表达式值并修改变量值。ChIDE 操作简便,是专门为教师授课和学生学习而开发的。ChIDE 的特征和布局都是针对那些没有任何编程经验的初学者而设置的。如下所示,一个简单的程序举例
#include "stdio.h"
void main()
{ int i,j ;
for (i = 1;i <= 10;i )
for(j=1;j<=i;j )
printf(" %d ", i j);
}
在键入程序中,各个语句的对齐是ChIDE自动完成的,在运行此程序时,为了弄清楚两层for循环的执行情况,可以打开调试控制台窗口,还可以在调试窗口显示特殊本地变量和所有变量,这样让学生对循环的嵌套一目了然,非常容易的讲清楚本块知识点。通过ChIDEC中的指针、结构体、数组、编程逻辑、编程调试等学习难点都一一得到突破,变得简单容易理解。所以自然而然的就不难教了,学生也就感觉到没有那么难学了。
在课堂教学中通过使用CH平台,使学生对C的畏难情绪消失得无影无踪,即使是英语和数学基础很差的高职生,也不觉得难学,因为,通过演示,使得C中原本抽象的,内在的原理很直观的得到诠释。从而达到了化繁为简,化难为易的目的,这也正是本人一直在探索和追求的C课程改革的最终目的。从而激发了学生的学习兴趣,兴趣一旦调动起来,入门就算成功了。后续的学习学生可以自己使用Ch平台有效自学和课后实践。
特别值得一提的是,在C程序设计课程以往的教学过程中,教者普遍感到女生在对程序的理解和分析上,似乎没有男生快,但使用Ch平台,看不出来这一点,有的时候反倒是女生好一点,因为在高职院校,女生的英语基础普遍好于男生,Ch平台大大降低了学生抽象理解能力的要求。所以大家使用起来才不会觉得难。
通过使用Ch平台对C课程进行教学改革,实效性很强,从07年起,我校计算机专业的学生在省二级考试中通过率是56%,08年是67%,09年春是79%,逐年提高。往年最好的成绩也不过是43%。特别值得一提的是,在09年,浙江省ACM程序设计大赛中,我校学生摘得了金奖,这是历史最好成绩。往年我校参加程序设计大赛,最好的成绩也就是三等奖,今年能取得这样好的成绩,和我们在教学中使用Ch平台夯实基础是分不开的。
从06年起,本人在C课程教学改革中不断探索,近三年中,通过使用和推广Ch平台使得C课程教学变得轻松容易得多了,改变了传统的抽象的教学模式,让人耳目一新,取得了一定的好成绩,达到了课程改革的目的。
参考文献:
[1] 吴文虎. 程序设计基础[M]. 北京:清华大学出版社,2003.
[2] 谭浩强. C程序设计教程[M]. 北京:清清华大学出版社,2006.
[3] 孙绍荣. 教育信息理论[M]. 上海:上海教育出版社,2002.
[4] 谭浩强. C程序设计试题汇编[M]. 北京:清华大学出版社,2006.
[5] 邱力. C语言程序设计[M]. 北京:清华大学出版社,2004.
[6] 周作厚. C程序设计[M]. 北京:中国铁道出版社等,2003.
[7] 何光明. C语言实用培训教程[M]. 北京:人民邮电出版社,2002.
[8] 黄逵中. C语言实例教程[M]. 北京:中国电力出版社,2004.
[9] http://www.sciar.edu/美国加州大学.
关键词:计算机程序设计;C 语言;Ch 平台;直观交互式;课程改革
中图分类号:G640文献标识码:A文章编号:1009-3044(2009)25-7325-02
The Research on the Actual Effect of the Reform of C course Based on the Ch Platform
GUO Ping
(Lishui Vocational and Technical College, Lishui 323000, China)
Abstract: This paper analyzes a series of problems in the process of teaching language C program design, which are difficult for both the teachers and the students in the higher vocational and technical college. Meanwhile, this paper has done some investigations and researches on the actual effect of the teaching reform of the C course and has obtained some success on the experimental reform of the C course by using the Ch platform.
Key words: computer programming; Language C; Ch platform; visual interaction; Curriculum reform
计算机程序设计是一门在各学校、各专业都普遍开设的基础课,其中多数以C 语言作为入门语言。但是由于C 语言本身的特殊性,教师难教,学生难学。成了程序设计课中的一块“鸡肋”。学之无味,弃之可惜。特别在高职高专院校,C语言程序设计课的教学更是难题,因为C 语言中的编译、连接和执行过程太繁琐,指针数组太难理解。最难让人忍受的是看不见摸不着,写的程序提交给计算机后不知道发生了什么。错误信息也只是说明哪里错了,而不知道为什么错了,一切都得靠自己对程序的理解。自己去分析。又加上学生本身英语和数学的基础差,所以大部份学生都感觉枯燥、无味,老师大都感觉在唱独角戏。而学生们也很想学好,因为学好这门课,可以提高他们的程序设计能力和实际动手能力,对他们的专业发展及今后的就业具有非常重要的意义,老师也想教好这门课。因为学好它,学生以后的后继课程就好学多了。哪怕是花更多的力气,可是事情往往事与愿违。所有这一切现状就要求教授者转变教育思想和观念,想方设法促进教学改革,提高教学质量和效率。
Ch 平台是程辉教授在美国加州大学戴维斯分校从事十多年C 语言程序设计教学和科研的实践中,针对C 语言的众多的重点和难点,积累开发的一种跨平台嵌入式C/C 程序解释器。Ch 平台抛弃了传统的抽象教学方式,由面向底层内核的交互式命令外壳和教学专用且界面友好的集成开发环境两大模块构成,从而形成了一种新的C 程序设计教学平台和新的教学模式。教师可以使用这个平台,在课堂上开展直观的程序交互式演示教学,帮助学生形象地理解C 语言指针、结构体、数组、编程逻辑、编程调试等学习难点,彻底改变了C程序设计原来的教学模式。该教学平台已经广泛应用于世界各地,运行在各种操作系统上,取得了显著效果, 受到各界专家学者的高度评价。同时这个平台也是学生有效自学和课后实践的工具。可以形象而又便捷地展示和协助教师讲解C 语言在解决较复杂工程和科学问题中的应用,从而提高教学的实用性,激发学生的学习积极性。
2006年,浙江理工大学承办召开了《浙江省高校C程序设计创新教学平台研讨会》,并邀请了中科院倪光南院士做学术报告,并在全省范围内推广Ch平台。本人代表我校参加,从那以后,本人在本校就一直使用和推广Ch平台,在C课程教学中引入Ch平台,有利于学生将被动听讲变为主动探求、自主学习, 达到掌握知识和专业技能的目的。教师在教学过程中可以轻松做到化繁为简,化难为易。特别是面对高职这一层次的学生,基础差,抽象思维稍弱一些,而Ch平台采用低层内核交互式显式方法,把枯燥难懂的编程的内核原理以简单的,容易接受的方式表现出来。使学生在实践中学懂理论,在理论中掌握实践。充分培养创新能力和独立分析问题、解决问题的能力。
C 语言的所有语句和表达式都可以在Ch 命令外壳(command shell)中交互解释执行并即时地显示在屏幕上。在命令模式中执行相应语句时,C 语言程序中语句末尾的分号是可省略的。Ch shell 会对输入的C 语言表达式直接进行求值,并将结果显示于屏幕上。使用Ch,可以随时看到语句执行后的结果是什么样子,可以和自己分析得到的和结果相比较,相同则已,不相同查找原因,可以很快的理解一些知识点,对于初学者特容易上手。现举例说明;在Ch 命令提示符下,键入int a=5 回车,然后键入a=a 2回车,结果7直接输出,不用什么其它任何的输出语句和输出函数就可以看到结果。如果再一次键入int a=5回车,则会有ERROR: identifier ’a’ redeclared这样的错误信息,提示我们变量重复定义,从中我们可以看出在C中变量不可以重复定义。还有在Ch命令提示符下,键入b=5 回车可以得到ERROR: variable ’b=3’ not defined这样的错误信息,可以得出C中变量必须先定义,后使用。在Ch命令提示符下,接着键入printf("%d",sizeof(a))而得出结果是4,我们知道在此环境下,int整型数在内存中所占字节数是4……。通过上述些许例子,我们得出:在课堂教学中使用Ch 平台,使得C课程教学犹如Visual Basic一样简单,因为Ch平台是一个解释环境,调试运行比它更显直观,能够让用户看得见摸得着。具有交互性和解释性的Ch 平台使C 语言的命令可以在此环境下交互解释执行。单个语句键入后马上就可以得到结果,进行验证,学习单个语句时可以快速理解,可以把C 语言中非常隐性的内在原理展现出来,让初学者可以看得见,消除抽象的解释。另外Ch 的函数文件是一种扩展名为.chf 的文件,C程序无需编译即可直接进行交互式执行。比如,要运行“hello.c”程序,只要在Ch shell 中输入命令“hello.c”,得到的结果就是“Hello, world”。另外Ch 集成开发环境(Ch Integrated Development Environment,ChIDE)。允许用户在IDE 中编辑、调试或运行C程序,其用户界面支持包括中文在内的30 多种语言。ChIDE 中含有现代IDE 中常用的大部分功能。比如,它具有自动语法高亮显示,可帮助用户发现程序的一些语法错误。用户可设置断点,单步运行程序,在程序运行过程中监视变量和表达式值并修改变量值。ChIDE 操作简便,是专门为教师授课和学生学习而开发的。ChIDE 的特征和布局都是针对那些没有任何编程经验的初学者而设置的。如下所示,一个简单的程序举例
#include "stdio.h"
void main()
{ int i,j ;
for (i = 1;i <= 10;i )
for(j=1;j<=i;j )
printf(" %d ", i j);
}
在键入程序中,各个语句的对齐是ChIDE自动完成的,在运行此程序时,为了弄清楚两层for循环的执行情况,可以打开调试控制台窗口,还可以在调试窗口显示特殊本地变量和所有变量,这样让学生对循环的嵌套一目了然,非常容易的讲清楚本块知识点。通过ChIDEC中的指针、结构体、数组、编程逻辑、编程调试等学习难点都一一得到突破,变得简单容易理解。所以自然而然的就不难教了,学生也就感觉到没有那么难学了。
在课堂教学中通过使用CH平台,使学生对C的畏难情绪消失得无影无踪,即使是英语和数学基础很差的高职生,也不觉得难学,因为,通过演示,使得C中原本抽象的,内在的原理很直观的得到诠释。从而达到了化繁为简,化难为易的目的,这也正是本人一直在探索和追求的C课程改革的最终目的。从而激发了学生的学习兴趣,兴趣一旦调动起来,入门就算成功了。后续的学习学生可以自己使用Ch平台有效自学和课后实践。
特别值得一提的是,在C程序设计课程以往的教学过程中,教者普遍感到女生在对程序的理解和分析上,似乎没有男生快,但使用Ch平台,看不出来这一点,有的时候反倒是女生好一点,因为在高职院校,女生的英语基础普遍好于男生,Ch平台大大降低了学生抽象理解能力的要求。所以大家使用起来才不会觉得难。
通过使用Ch平台对C课程进行教学改革,实效性很强,从07年起,我校计算机专业的学生在省二级考试中通过率是56%,08年是67%,09年春是79%,逐年提高。往年最好的成绩也不过是43%。特别值得一提的是,在09年,浙江省ACM程序设计大赛中,我校学生摘得了金奖,这是历史最好成绩。往年我校参加程序设计大赛,最好的成绩也就是三等奖,今年能取得这样好的成绩,和我们在教学中使用Ch平台夯实基础是分不开的。
从06年起,本人在C课程教学改革中不断探索,近三年中,通过使用和推广Ch平台使得C课程教学变得轻松容易得多了,改变了传统的抽象的教学模式,让人耳目一新,取得了一定的好成绩,达到了课程改革的目的。
参考文献:
[1] 吴文虎. 程序设计基础[M]. 北京:清华大学出版社,2003.
[2] 谭浩强. C程序设计教程[M]. 北京:清清华大学出版社,2006.
[3] 孙绍荣. 教育信息理论[M]. 上海:上海教育出版社,2002.
[4] 谭浩强. C程序设计试题汇编[M]. 北京:清华大学出版社,2006.
[5] 邱力. C语言程序设计[M]. 北京:清华大学出版社,2004.
[6] 周作厚. C程序设计[M]. 北京:中国铁道出版社等,2003.
[7] 何光明. C语言实用培训教程[M]. 北京:人民邮电出版社,2002.
[8] 黄逵中. C语言实例教程[M]. 北京:中国电力出版社,2004.
[9] http://www.sciar.edu/美国加州大学.