辩证法在程序语言教学中的应用

2022-09-11

从事计算机基础教学很多年了, 面对计算机科学的飞速发展, 我有过许多困惑。例如, 程序语言从C、C++到Java, 程序设计方法从面向过程、面向对象到面向代理, 这些发展变化让人不知所措。计算机基础教育的落后状况有目共睹, 为此, 我们一直在探索学习方法和教学方法, 但收效甚微。读了系列专访“一项计算机基础课程改革的启示”, 突然觉得找到了探索的方向和方法:以辩证唯物主义为指导, 才能找到有效的学习方法和教学方法, 才能推动计算机基础教育。

《计算机教育》从2008年1月开始, 连续刊登的奚春雁主编对王立柱老师的课程改革专访“一项计算机基础课程改革的启示” (以下简称“启示”) 发人深思, 令人鼓舞。他们的改革历时8年多, 把数据结构、C语言和C++语言联系在一起, 目的就是要探索程序语言发展规律。在2007年的“第三届计算机教育论坛”上, 我曾听到了王老师对其改革成果的简要介绍, 他们的成果和他们始终坚持以辩证唯物主义方法为指南的科学态度几乎使所有在场的人受到了鼓舞。而读了“启示”, 对他们的改革有了更深刻的认识。

从中学开始我就接受马克思主义哲学教育, 知道辩证法很重要, 但是在现实中, 辩证法对于我来说还是一种模糊的语言, 不知道它应该怎样应用。“启示”仿佛打开了一扇窗, 使我豁然开朗, 正如“启示”中说, 辩证法只有与具体的自然学科相结合才能发挥其生命力和战斗性, 而只有从具体自然科学内部找出辩证法的规律并从自然学科里加以阐发, 才是辩证法与自然科学的结合。

哲学教科书告诉我们, 辩证法是研究对象自身中的矛盾的, 是关于一切物质的、自然的和精神的发展规律的学说, 但是“启示”却从具体的自然学科中告诉了我们什么是辩证法。“启示”明确地指出, 决定程序语言发展的内在原因是程序设计的基本矛盾:处理和存储。这种矛盾从低级形式到高级形式的不断转化, 推动了程序语言的不断发展, 就是程序语言发展的规律。正如一本教材《算法+数据结构=程序》的书名所表示的那样。把数据结构、C语言和C++语言联系在一起, 就是从基本矛盾出发, 探索程序语言发展的规律, 这样就把辩证唯物主义方法具体运用到程序语言的教学中了。

在计算机基础教学中, 关于C和C++的关系一直是争论中的问题。主要的观点是, C++和C是完全不一样的方法, 学习了前者, 不利于学习后者。因此, 主张直接学习后者。按照这种逻辑, 我们还可以说, 有了C#, 可以不学C++, 有了更好的, 以前的都可以不学了。而且有人干脆说, 计算机学早的人亏了, 越晚学越好。这种观点给我们的教学造成了不少混乱。特别是, 无论什么观点, 只要不把C和C++联系起来, 都无法帮助我们解决数据结构教学存在的新老矛盾。由于数据结构和其先修课程C或C++长期以来的分离教学模式, 普通高校的学生把算法设计和代码实现结合起来的能力不强, 这使得, 数据结构教学如果突出算法设计的特点, 学生就难以理解, 而过多包含语言细节又掩盖了算法设计的重要性, 这是老的矛盾;由于C++新标准的出现, string串类、顺序容器和关联容器 (例如vector、list、map和set) 以及在这些类型上进行操作的一组可扩展的泛型算法, 都属于C++新标准的特性, 于是出现新矛盾:数据结构的先修课是C++, 同时C++的新特性中包含数据结构的内容。数据结构和C++互为前提。王老师的改革很好地解决了这两个矛盾, 先用C描述顺序表、结构串和链表, 然后将它们转化为C++描述。在这种对比学习中, 促进了学生对C++新标准的理解和运用, 提高了学生把算法设计和代码实现结合起来的能力, 而且使接下去的数据结构非线性部分在用C++新标准描述的基础上, 还能够突出算法设计的特点。这是辩证唯物主义方法在计算机基础教育中的胜利。

计算机科学的快速发展, 积累了庞大数量的实证的知识材料, 如果我们把这些知识材料平等看待, 毫无关联地排列起来, 像照镜子式地直观反映, 那么它们不仅表现为杂多, 而且因为我们孤立地看待它们, 所以对很多复杂的概念无法理解, 这样就超出了我们的认识能力。面对程序语言的不断发展, 我之所以感到困惑, 主要就是因为我没有牢牢掌握辩证唯物主义这个法宝, 一心一意地去探索程序语言内在联系和发展规律。

“启示”使我进一步懂得, 哲学不只是哲学家的事。我们对人类的实践活动进行概括和总结, 就不可避免地受某种哲学的支配, 问题只在于, 我们接受哪一种哲学的支配。换句话说, 对人的实践活动, 辩证唯物主义不去概括和总结, 唯心主义、形而上学就会去概括和总结。而概括和总结的结果不同, 对我们进一步实践的指导意义就不同。作为一名教师, 要在自己的工作岗位上为祖国的教育事业作出应有的贡献, 就应该做一名自觉的辩证唯物主义者。

我赞同《计算机教育》主编的倡导:“我们共同努力, 来落实邓小平同志提出的‘熟悉马克思主义的基本理论, 从而加强我们工作中的原则性、系统性、预见性和创造性’。我们坚信, 沿着这个方向走下去, 我们一定能够在计算机教育领域里真正有所作为。”

摘要:本文以阅读“一项计算机基础课程改革的启示”系列文章后的感想为线索, 探讨了辩证法在计算机教育中的指导意义, 并揭示了辩证唯物主义在实践活动中的意义。

关键词:计算机基础课程改革,辩证法,计算机教育

参考文献

[1] 一项计算机基础课程改革的启示 (一) [J].计算机教育, 2008 (1) .

[2] 一项计算机基础课程改革的启示 (二) [J].计算机教育, 2008 (2) .

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:管理会计与财务会计的融合探讨下一篇:班主任如何转变“后进生”