从C到C++课程内容关系图示

时间:2022-07-02 08:54:15

从C到C++课程内容关系图示

C++不仅是软件设计的主流语言,而且因为其强大的解释力而成为代表软件应用能力的标志性语言。但是,c++的概念庞杂,难以理解,不容易深入,同时,C++新标准的出现使C++和数据结构的学习顺序发生冲突:数据结构的先修课是C++,而c++的新特性中包含数据结构的内容,它们互为前提。我们认为要有效地解决这两个问题,必须把C、C++和数据结构整合。为此我们进行了十年的改革实践,探索从C到C++的学习方法。《计算机教育》于2008年以主编专访和专业论文两种形式对我们的改革进行了连续一年的报道,本文对一年来发表的专业论文给予一个小结。

1从C到C++是一个有规律的过程

从机器语言到c++语言是一个发展过程,这个过程的根本动因是程序设计的存储与处理的矛盾。“数据结构+算法:程序”就是这层意思。纵观短暂的计算机发展史,这两个方面一直保持不变。发展演化的是它们之间的关系,就是所谓的程序设计方法。我们的目的是:除去偶然的、扰乱性的因素,揭示出这个矛盾的变化规律,即程序语言发展规律。我们的具体做法是:先用C描述顺序表、结构串和链表,然后揭示、分析和解决C描述所表现的局限性,通过克服这些局限将它们转化为C++描述。图l是我们的教材《C/C++与数据结构》(第3版)(上册)的内容关系结构,它提纲挈领地表示了这个过程,贯穿其中的是图2所展示的指针和函数同步发展的关系。我们在2008年《计算机教育》连续发表了一些文章,对图1和图2中的一些关系分别做了比较详细的论述。

2 C是C++的元语言

现在我们可以用三个语言环境理论来解释这种方法的意义。一般说来,一个语言在它作为对象语言时,它的符号和语法对象所取得的准确性已被人们证明的结论,在它作为元语言时,就可以用来解释和说明相应对象语言的符号和语法对象,并用来证明该对象语言中不同语法对象之间的关系。这是人类从事科学研究的基本方法。

例如,C、C++和Java是程序语言发展中的版本序列。如果把C++视为对象语言,那么从C++程序集合到C程序集合的一个解释映射和C程序集合就构成C++的一个模型,而C语言就构成了C++语言和它的模型的元语言。如果把Java视为对象语言,那么从Java程序集合到C++程序集合的一个解释映射和C++程序集合就构成Java的一个模型,而C++语言就构成了Java语言和它的模型的元语言。表1和表2所示就是一种从对象语言C++程序到元语言C程序的解释映射。

按照三个语言环境的概念和方法,把C作为C++的元语言,这时C什的概念就可以用C程序严格地描述,避免C++解释中的歧义性和模糊性,有利于理解,而且C++也就不必从开头讲起,我们可以直接讲授C++相对C的修正和补充部分,有利于深入。

3小结

逻辑不是关于思维的外在形式的学说,而是关于一切物质的、自然的和精神的事物的发展规律的学说。这样,成为科学对象的就不是事物,而是事物运动的规律。

程序语言的发展规律不是明摆着的,发现规律并严格地描述这个规律需要我们付出巨大的努力,要知道,如果事物的表现形式和事物的发展规律不是自然地合二为一,一切科学就都成为多余的了。

难题是,我们有没有满腔的热忱,有没有眼睛向下的决心,有没有放下臭架子、甘当小学生的精神,如果有,计算机基础教育就一定有光明的未来。

上一篇:问题驱动模式在VB教学中的应用研究 下一篇:“电子商务概论”课程实验环节改革与实践