一项计算机基础课程改革的启示(七).docVIP

一项计算机基础课程改革的启示(七).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一项计算机基础课程改革的启示(七) 奚:王老师,您这一次的文章用到了李未院士的专著《数理逻辑》(以下简称《数》)中的一些概念。br  王:是的,主要是版本序列和三个语言环境。br  奚:您的改革是以辩证唯物主义为指南的,这样看来,唯物辩证法与版本序列和三个语言环境的概念是有密切联系的。br  王:可以说是高度统一的。br  奚:您能结合实际,例如目前程序语言教学中的一些具体问题,谈谈它们的统一性吗?br  王:现在很多高校都选择了C++作为主要的程序语言,但是C++的概念庞杂,难以理解,不容易深入。特别是C++新标准的出现,string串类、顺序容器和关联容器(例如vector、list),以及在这些类型上进行操作的一组可扩展的泛型算法,都属于C++新标准的特性。这使C++和数据结构的学习顺序发生矛盾:数据结构的先修课是C++,而C++的新特性中包含数据结构,它们互为前提。br  奚:你们把C、C++和数据结构结合在一起,是否可以解决这些问题。br  王:是的。我们的主要做法是,先用C语言描述数据结构的顺序表、结构串和链表,然后将它们转化为C++代码,使每一个C++概念都可以用C代码严格描述其产生过程,每一个C++程序都可以用一个对应的C程序严格解释。现在我们分别从唯物辩证法和《数》的版本序列和三个语言环境概念来分析这种做法的合理性。br  奚:这就等于是在论述它们的统一性。br  王:唯物辩证法认为,作为研究对象的事物不是静止不变的。辩证法不过是对包含着一连串互相衔接阶段的那种发展过程进行阐明。例如,从C到C++是程序语言发展的一段过程。这个过程既是语言发展的过程,也是人的认识发展的过程。随着C程序设计不断深入,人们不断提高了自己的编程能力和认识能力。在这个过程中,人们发现了C语言的局限性,在克服局限性的同时,也用C程序严格地描述出对程序语言未来发展的需要。这个过程就是带有主观能动性的实践过程,C++概念不过是这个过程的概括和总结。br  奚:这便是辩证法所说的,概念的完美定义应该包含人的需要。这样的C++概念应该不存在理解和不理解的问题。br  王:不仅如此,在唯物辩证法看来,一切发展,不管其内容如何,都可以看作一系列不同的发展阶段,它们以一个否定另一个的方式彼此联系着。br  奚:就是说从C到C++是一个辩证否定的过程。br  王:而要看清这个否定过程,就必须抓住程序语言设计中的矛盾。br  奚:因为是事物内部的矛盾运动推动了事物自身的发展。br  王:而程序语言设计中的基本矛盾是存储和处理,一本大家都熟知的数据结构经典教材的书名“数据结构+算法=程序”就概括了这个基本矛盾和程序语言设计的关系。纵观短暂的计算机发展史,这两个方面一直保持不变。发展演化的是它们之间的关系,就是所谓的程序设计方法。br  奚:看来,把数据结构包含进来,就是为了抓住程序语言发展中的矛盾。br  王:是这样。先用C描述数据结构的线性部分,再转变为C++描述,C++和数据结构在学习顺序上的矛盾也就解决了。br  奚:这样辩证法的理论就体现在了程序语言的教学上了。br  王:唯物辩证法仅仅是我们工作的指南,它没有告诉我们具体怎样做。我们不能把辩证法从外部注入到专业领域内部,而是要从专业领域内部去发现辩证法规律,并从专业内部进行阐发。在这方面,我们走了一些弯路。现在《数》版本序列和三个语言环境的概念和方法,因为是结合专业内容总结和阐发的,所以对我们的改革有着具体和深刻的指导意义。br  奚:这样看来,李未院士的这本书对您们今后课程改革的继续进行会有很大的帮助,至少可以少走弯路。br  王:是的。从《数》的观点出发,C、C++和Java是一个版本序列,每一个阶段都是公理化系统的一个阶段版本,我们可以从公理化系统的进化来研究它们的发展。三个语言环境严格地描述了“互相衔接的阶段的那种发展过程”。例如,可以把C看作是元语言,C++是对象语言。元语言要把对象语言中的符号和语法对象解释清楚,需要两个要素。一是需要把元语言中的特定的领域知识作为解释的载体,这个载体称为论域。二是需要一种确定的解释方法,把一阶语言的符号和对象解释为论域中相应的元素。元语言提供的论域和解释方法构成了对象语言的模型。例如,从C++程序集合到C程序集合的一个解释映射和C程序集合就构成C++的一个模型,而C语言就构成了C++语言和它的模型的元语言。br  奚:Java也可以视为对象语言。br  王:是的。如果把Java视为对象语言,那么从Java程序集合到C++程序集合的一个解释映射和C++程序集合就构成Java的一个模型,而C++语言就构成了Java语言和它的模型的元语言。br  奚:这是一个环环相扣的整体,只需要我们认真地去研究,然

文档评论(0)

神话 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5203223011000000

1亿VIP精品文档

相关文档