十年课程改革有感

2009-03-06 05:17王立柱
计算机教育 2009年1期
关键词:数据结构对象改革

王立柱

尊敬的各位专家,各位老师:

我来自天津师范大学管理学院。1998年我们学校进行课程调整,在强调深基础、宽口径的素质教育背景下,我主持进行了C、C++和数据结构三门课程的整合。当时,我们学院的计算机基础课程不仅分散,简单重复多,应试现象严重,而且占用课时量大,与主干课程争天夺地,而社会又越来越需要既熟悉专业又掌握信息技术的复合型人才。于是,如何在限制课时的情况下夯实学生的计算机基础,提高他们的计算机应用能力,就成为我们课程改革的主题。

改革的持久性是我们始料未及的,到如今已整整十年。是学校各级领导的理解和支持,是同行和专家的指导和鼓励,使我们得以在宽松的环境中反复实践探索。其中经历两次天津市教改立项,由清华大学出版社出版的教材和课件改版三次。

现在,我们的第3版教材被评为国家“十一五”规划教材,我们的课程被批准为2008年教育部-微软精品课程建设项目,《计算机教育》杂志对我们的改革进行了一年的连续报道,对一个普通高校的非计算机专业来说,这是非常高的荣誉。我借此机会,对教育部专家评委,对清华大学出版社,对微软亚洲研究院,对《计算机教育》杂志,表示衷心的感谢。同时借此机会,我从三个方面对我们的改革做一个简要的总结,以求在座的专家和同仁给予更多的指点和帮助。这三个方面分别是:十年的改革回顾、风神的竖琴鸣响、阳光下的珍珠行动。

1十年的改革回顾

十年前,C++刚刚进入教学领域,它不仅概念庞杂,而且打破了传统的程序设计方法,一时引起很多人的困惑。但那时它已经是软件设计的主流语言,而且因为其强大的解释功能而成为代表软件应用能力的标志性语言,因此我们选择它作为改革的突破口。

我们首先遇到的难题是,C++新标准的出现,使C++和数据结构的学习顺序发生冲突:数据结构的先修课是C++,而C++的新特性中包含数据结构,它们互为前提。我们认为,要解决这个冲突,需要C作为过渡,于是整合C、C++和数据结构就成为我们主攻的对象。我们可能不是最有能力做好这件事情的人,但是改革使我们成为必须面对这件事情的人。我们的方法是,先用C描述顺序表、结构串和链表,然后在揭示、分析和克服C的局限性的过程中,自然地引入C++的概念,同时把线性结构的C描述转化为C++描述。C由此成为C++的元语言,C++的概念不再庞杂。最后用成熟的C++描述非线性结构部分,使算法分析和代码实现相得益彰。

另一个难题是,我们的学生不是一流学生,我们要研究的是程序语言的发展规律,C、C++和数据结构整合之后,内容丰富了,仅仅依靠PPT教学手段是远远不够的,于是我们开发了基于Authorware的多媒体教学软件。我们的课件特点是:多级菜单结构与课程的内容一一对应;用光条跟踪演示每条语句的执行过程;代码、结构、算法和内部处理协同展示;需要处理的数据可以由用户输入,结果随时输出。课件的效果是,化抽象为直观,变复杂为简单,既可助教又可助学,无限延伸了课堂,打开了学生自主学习的时空。

第三个难题是,授课对象广,授课内容多,实验课时有限,原来的实验教学模式远远不能满足需要。于是我们进行了实验教学改革:选拔优秀的高年级学生,通过开设专业选修课进行专门的培养,然后由他们对低年级学生进行上机和课外辅导,解决了实验教学的师生比严重失调的矛盾。而且,优秀学生的参与带动了广大学生自主学习的积极性,同时也促进了理论教学水平的提高。我们第三版教材所取得的成绩就得利于这种实验教学模式的改革。

2让风神的竖琴鸣响

我们的改革发生在飞速发展、急剧变化的信息时代,在各种观点交汇、甚至有些嘈杂和浮躁的环境中,我们怀着朴素的感情,从马克思主义经典中寻求指南。

它告诉我们:逻辑不是关于思维外在形式的学说,而是关于一切物质的、自然的和精神的事物的发展规律的学说。这样,成为科学对象的就不是事物本身,而是事物运动的规律。于是我们就不再把C、C++、以至Java孤立地对待,而是把它们看作一个发展过程,我们改革的使命就是发现这个过程的规律。

它告诉我们,事物发展的根本原因在于事物内部的矛盾运动。而程序语言设计的基本矛盾是存储和处理,数据结构就是处理这个矛盾的,于是我们就把数据结构作为程序语言发展的内在动力。

它告诉我们,要从具体的学科中找出辩证法的规律并从学科里加以阐发。于是我们奋斗十年,反复实践探索,以实现程序语言自身发展的辩证法规律。由于我们能力有限,走了很多弯路,虽然取得了一点成绩,但依然有很多困惑。

是李未院士的《数理逻辑》一书,在计算机科学和教育领域给出了辩证法规律深刻而精确的表达,其中版本序列和三个语言环境的理论肯定了我们改革的方向,坚定了我们继续改革的信心,它给予我们的喜悦有如在惊涛骇浪中长期漂泊之后的船夫看到陆地。

在唯物辩证法看来,“一切发展,不管其内容如何,都可以看作一系列不同的发展阶段,它们以一个否定另一个的方式彼此联系着。”《数理逻辑》的《事实反驳与修正演算》一章,从领域知识的公理化进程的角度,具体为我们描述出这种“一个否定另一个的”发展过程。

在唯物辩证法看来,归纳和演绎,不是像很多人所认为的那样是相互对立的,而正如分析和综合一样是必然相互联系的,相互补充的。《数理逻辑》的“归纳推理和归纳进程”一章给出了这种“相互联系、相互补充”的形式描述,给我们提供了综合运用归纳和演绎方法的机制。

在唯物辩证法看来,形而上学就是在有限的经验基础上,单纯地借助逻辑的力量,一意孤行地追问事物的本质,想一劳永逸地解决问题。在我们的改革过程中,由于我们对形而上学的局限性没有清醒的认识,经常不自觉地陷入到形而上学的思维模式中,迷失方向。《数理逻辑》借助程序设计语言中指针的思想,以计算机实践经验为基础,用简单、直观,能够被更多人理解的方式证明了歌德尔不完全定理,严格地证明了形而上学的反命题,提高了我们防范受形而上学支配的自觉性。

我们做任何事情,都会自觉或不自觉地受某种哲学的支配,如果我们不想受腐朽哲学的主宰,就要清楚地知道辩证唯物主义是在彻底瓦解主客二分思维模式的基础上颠覆旧哲学的。唯物辩证法在批判主客二分的思维模式时指出:“自然科学和哲学一样,直到今天还完全忽视人的活动对人的思维的影响,它们一方面只知道自然界,另一方面又只知道思想。”这种思维模式产生了无数“神秘莫测”、似是而非的精神创造物。

在马克思看来,一切旧哲学都没有把人的活动本身理解为客观的活动。马克思认为,人与自然不是单纯的认知关系,而是你中有我,我中有你的协变关系,它们统一在人的活动过程中,这个过程不仅为主体产生着对象,也为对象产生着主体。自然在这个过程中人化,是人化的自然,人在这个过程中自然化,是感性的自然界。例如,在旧哲学看来,思想是思想,自然界是自然界,但是在马克思看来,思想离不开语言,而语言就是自然界。

这个统一了人与自然的过程是马克思本真意义上的实践活动,可是这个活动需要深刻化、精确化的描述,否则大多数人难以把握它的精髓,常常会不自觉地在主客二分的旧思维模式中理解和运用马克思主义的实践理论,轻易地把人与自然相分离,然后再反过来探讨,二者如何统一?例如,我们习惯孤立地谈论如何学生的学习积极性问题,而在马克思本真意义地实践活动中,主体本来是积极的,因为这个实践活动不过是追求着自己目的的人的积极活动,是人的生成方式、存在方式,我们要做的就是精确地描述和系统地实现马克思的实践活动。

《数理逻辑》中的核心理论,三个语言环境,在计算机科学领域为我们精确地描述了马克思的实践活动。“一般说来,一个语言在它作为对象语言时,它的符号和语法对象所取得的准确性和已被人们证明的结论,在它作为元语言时,就可以用来解释和说明相应对象语言的符号和语法对象,并用来证明该对象语言中不同语法对象之间的关系。这是人类从事科学研究的基本方法。”这是精确化的辩证唯物主义观点:人创造了对象,提升了人的感受力,提升了感受力的人,又去创造能够进一步提升人的感受力的对象。这是一个绵延不绝的过程,而且这个过程是客观的,需要精确的描述和准确的判断。

例如,C、C++和Java是程序语言发展中的版本序列。如果把C++视为对象语言,那么从C++程序集合到C程序集合的一个解释映射(记做IC++)和C程序集合就构成C++的一个模型,而C就构成了C++和它的模型的元语言;如果把Java视为对象语言,那么从Java程序集合到C++程序集合的一个解释映射(记做IJ)和C++程序集合就构成Java的一个模型,而C++就构成了Java和它的模型的元语言。

从马克思实践本体论来看,C、C++和Java依次作为对象语言时,是自然界相对人的生成;依次作为元语言时,是人相对自然界的生成。人与自然界的关系是协变的。

我们的改革是在强调素质教育的背景下开始的,李未院士的《数理逻辑》使我们深刻认识到我们的改革包含着更深刻的素质教育的内涵。

西方科学的发展以两个伟大的成就为基础,一个是形式推理系统即数理逻辑,另一个是实验科学。数理逻辑没有产生于中国,很多人因此而遗憾,中国传统文化的特质与数理逻辑的真谛南辕北辙,很多人为之而伤感,他们甚至怀疑我们民族的创新能力。

今天,数理逻辑的创新出现在中华大地上,而且它将形式理论系统的模本由几何学扩展到带有实验特点的计算机科学领域,使人们结合日常的计算机操作实践更容易理解和把握数理逻辑的概念和方法,特别是,让辩证唯物主义方法深入人心。

与十九世纪末叶相比,自然科学的变革更加急剧,各种哲学学派和流派更加庞杂,我们必须懂得,任何自然科学,如果没有充分可靠的马克思主义哲学论据,是无法与各种貌似科学的思想侵袭和改装的旧世界观的复辟进行斗争的。

“普通的竖琴在任何人的手里都能发出声音;风神的竖琴却只是当风暴敲击它的琴弦时才发出声音。”在飞速发展、急剧变化的信息时代,在各种观点汇集的计算机科学和教育领域,在进步和倒退、改革和保守的对立、冲突、斗争中,李未院士的《数理逻辑》一书发出了鼓舞信心、引航心灵的鸣响。

3阳光下的珍珠行动

马克思在拯救集哲学之大成的神秘的黑格尔哲学时曾经有过宏愿,他说:“先前我读过黑格尔哲学的一些片段,我不喜欢它那种离奇古怪的调子。我想再钻到大海里一次,不过有个明确的目的,这就是要证实精神本性也和肉体本性一样是必要的、具体的,并且具有同样的严格形式;我不想再练剑术,而只想把真正的珍珠拿到阳光中来。”他给我们留下了资本论的逻辑,证明了社会经济形态的发展是一种自然历史过程,今天全世界的金融危机证明了马克思依然是正确的。

《数理逻辑》把计算机科学和教育领域的唯物辩证法这颗珍珠拿到了阳光中来,给我们指明了方向,剩下的问题是我们有没有满腔的热忱,有没有眼睛向下的决心,有没有放下架子、甘当小学生的精神。

作为一般高等院校,我们面临的困难是:首先,扩招之后,学生的能力差距变大,教学内容和进度要照顾大多数,难以满足优秀学生高标准的要求。其次,教师因科研和教学的双重压力,难以满足多方面的要求,特别是像计算机这类实验性比较强的课程,教师更是力不从心。还有,知识更新快,社会需求变化大,而教学计划变动相对较慢,课时也有限,难以同步。另外,社会各种不良思想和风气对学校的教学秩序和学风建设存在很大的影响。

作为继续改革的试验,我们的合作伙伴,北京联合大学商务学院已经开始深化我们的改革,具体做法是:党委书记亲自挂帅,把实验教学与学生党员建设紧密联系在一起。意义是:第一,新时期的学生党员应该是学习的骨干,而学生党建应该把学习骨干培养为党员。第二,我们的改革课程能够促进、提高学生党建中的马克思主义基本理论教育。三,学生党员应该在深化改革,提高学生自主学习的积极性方面发挥先锋模范作用。一句话,正确的方向确定之后,党员干部就是决定的因素。

我们做的事情可能是微小的,但它决不渺小。计算机不应该仅仅是计算机专业的事情,计算机科学和教育的繁荣有赖于更广大的计算机爱好者的积极参与,请计算机专家和同仁伸出你们的手,我们渴望你们的支持、帮助和指点。海纳百川,有容乃大。

同样的感受给我们同样的渴望,同样的欢乐给我们同一首歌。

猜你喜欢
数据结构对象改革
晒晒全国优秀县委书记拟推荐对象
数据结构线上线下混合教学模式探讨
重典型应用,明结构关系
攻略对象的心思好难猜
图说车事
一图读懂供给侧改革
改革创新
改革创新(二)
“改革”就是涨价吗?
个性签名