前言:本站為你精心整理了程序語言教學中辯證法范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
摘要:本文以閱讀“一項計算機基礎(chǔ)課程改革的啟示”系列文章后的感想為線索,探討了辯證法在計算機教育中的指導意義,并揭示了辯證唯物主義在實踐活動中的意義。
關(guān)鍵詞:計算機基礎(chǔ)課程改革;辯證法;計算機教育
從事計算機基礎(chǔ)教學很多年了,面對計算機科學的飛速發(fā)展,我有過許多困惑。例如,程序語言從C、C++到Java,程序設計方法從面向過程、面向?qū)ο蟮矫嫦颍@些發(fā)展變化讓人不知所措。計算機基礎(chǔ)教育的落后狀況有目共睹,為此我們一直在探索學習方法和教學方法,但收效甚微。讀了系列專訪“一項計算機基礎(chǔ)課程改革的啟示”,突然覺得找到了探索的方向和方法:以辯證唯物主義為指導,才能找到有效的學習方法和教學方法,才能推動計算機基礎(chǔ)教育。
《計算機教育》從2008年1月開始,連續(xù)刊登的奚春雁主編對王立柱老師的課程改革專訪“一項計算機基礎(chǔ)課程改革的啟示”(以下簡稱“啟示”)發(fā)人深思,令人鼓舞。他們的改革歷時八年多,把數(shù)據(jù)結(jié)構(gòu)、C語言和C++語言聯(lián)系在一起,目的就是要探索程序語言發(fā)展規(guī)律。在2007年的“第三屆計算機教育論壇”上,我曾聽到了王老師對其改革成果的簡要介紹,他們的成果和他們始終堅持以辯證唯物主義方法為指南的科學態(tài)度幾乎使所有在場的人受到了鼓舞。而讀了“啟示”,對他們的改革有了更深刻的認識。
從中學開始我就接受馬克思主義哲學教育,知道辯證法很重要,但是在現(xiàn)實中,辯證法對于我來說還是一種模糊的語言,不知道它應該怎樣應用。“啟示”仿佛打開了一扇窗,使我豁然開朗,正如“啟示”中說,辯證法只有與具體的自然學科相結(jié)合才能發(fā)揮其生命力和戰(zhàn)斗性,而只有從具體自然科學內(nèi)部找出辯證法的規(guī)律并從自然學科里加以闡發(fā),才是辯證法與自然科學的結(jié)合。
哲學教科書告訴我們,辯證法是研究對象自身中的矛盾的,是關(guān)于一切物質(zhì)的、自然的和精神的發(fā)展規(guī)律的學說,但是“啟示”卻從具體的自然學科中告訴了我們什么是辯證法。“啟示”明確地指出,決定程序語言發(fā)展的內(nèi)在原因是程序設計的基本矛盾:處理和存儲。這種矛盾從低級形式到高級形式的不斷轉(zhuǎn)化,推動了程序語言的不斷發(fā)展,就是程序語言發(fā)展的規(guī)律。正如一本教材《算法+數(shù)據(jù)結(jié)構(gòu)=程序》的書名所表示的那樣。把數(shù)據(jù)結(jié)構(gòu)、C語言和C++語言聯(lián)系在一起,就是從基本矛盾出發(fā),探索程序語言發(fā)展的規(guī)律,這樣就把辯證唯物主義方法具體運用到程序語言的教學中了。
在計算機基礎(chǔ)教學中,關(guān)于C和C++的關(guān)系一直是爭論中的問題。主要的觀點是,C++和C是完全不一樣的方法,學習了前者,不利于學習后者,因此主張直接學習后者。按照這種邏輯,我們還可以說,有了C#,可以不學C++,有了更好的,以前的都可以不學了。而且有人干脆說,計算機學早的人虧了,越晚學越好。這種觀點給我們的教學造成了不少混亂。特別是,無論什么觀點,只要不把C和C++聯(lián)系起來,都無法幫助我們解決數(shù)據(jù)結(jié)構(gòu)教學存在的新老矛盾。由于數(shù)據(jù)結(jié)構(gòu)和其先修課程C或C++長期以來的分離教學模式,普通高校的學生把算法設計和代碼實現(xiàn)結(jié)合起來的能力不強,這使得,數(shù)據(jù)結(jié)構(gòu)教學如果突出算法設計的特點,學生就難以理解,而過多包含語言細節(jié)又掩蓋了算法設計的重要性,這是老的矛盾;由于C++新標準的出現(xiàn),string串類、順序容器和關(guān)聯(lián)容器(例如vector、list、map和set)以及在這些類型上進行操作的一組可擴展的泛型算法,都屬于C++新標準的特性,于是出現(xiàn)新矛盾:數(shù)據(jù)結(jié)構(gòu)的先修課是C++,同時C++的新特性中包含數(shù)據(jù)結(jié)構(gòu)的內(nèi)容。數(shù)據(jù)結(jié)構(gòu)和C++互為前提。王老師的改革很好地解決了這兩個矛盾,先用C描述順序表、結(jié)構(gòu)串和鏈表,然后將它們轉(zhuǎn)化為C++描述。在這種對比學習中,促進了學生對C++新標準的理解和運用,提高了學生把算法設計和代碼實現(xiàn)結(jié)合起來的能力,而且使接下去的數(shù)據(jù)結(jié)構(gòu)非線性部分在用C++新標準描述的基礎(chǔ)上,還能夠突出算法設計的特點。這是辯證唯物主義方法在計算機基礎(chǔ)教育中的勝利。
計算機科學的快速發(fā)展,積累了龐大數(shù)量的實證的知識材料,如果我們把這些知識材料平等看待,毫無關(guān)聯(lián)地排列起來,像照鏡子式地直觀反映,那么它們不僅表現(xiàn)為雜多,而且因為我們孤立地看待它們,所以對很多復雜的概念無法理解,這樣就超出了我們的認識能力。面對程序語言的不斷發(fā)展,我之所以感到困惑,主要就是因為我沒有牢牢掌握辯證唯物主義這個法寶,一心一意地去探索程序語言內(nèi)在聯(lián)系和發(fā)展規(guī)律。“啟示”使我進一步懂得,哲學不只是哲學家的事。我們對人類的實踐活動進行概括和總結(jié),就不可避免地受某種哲學的支配,問題只在于,我們接受哪一種哲學的支配。換句話說,對人的實踐活動,辯證唯物主義不去概括和總結(jié),唯心主義、形而上學就會去概括和總結(jié)。而概括和總結(jié)的結(jié)果不同,對我們進一步實踐的指導意義就不同。作為一名教師,要在自己的工作崗位上為祖國的教育事業(yè)作出應有的貢獻,就應該做一名自覺的辯證唯物主義者。
我贊同《計算機教育》主編的倡導:“我們共同努力,來落實鄧小平同志提出的‘熟悉馬克思主義的基本理論,從而加強我們工作中的原則性、系統(tǒng)性、預見性和創(chuàng)造性’。我們堅信,沿著這個方向走下去,我們一定能夠在計算機教育領(lǐng)域里真正有所作為。”
參考文獻:
[1]一項計算機基礎(chǔ)課程改革的啟示(一).計算機教育,2008,(1).
[2]一項計算機基礎(chǔ)課程改革的啟示(二).計算機教育,2008,(2)