文章編號:1672-5913(2008)19-0084-02
摘 要:本文首先討論了目前主機教育中COBOL程序設(shè)計語言教學(xué)的不足;然后對教育方式的改進(jìn)進(jìn)行了探討,并提出了解決方案。
關(guān)鍵詞:程序設(shè)計;能力;主機;COBOL
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B
1 引言
在IT業(yè),沒有哪一款產(chǎn)品能夠像IBM的大型主機那樣擁有40年的歷史,同時又在今天競爭激烈的市場中仍舊獲得用戶的青睞。目前,全世界絕大部分重要數(shù)據(jù)仍然存儲于IBM大型主機之上,全世界大部分關(guān)鍵程序(諸如銀行、航空等領(lǐng)域)仍然在IBM大型主機上運行。
隨著我國經(jīng)濟的高速發(fā)展,IBM主機在金融等重要部門的運用也越來越廣泛。而隨著軟件外包產(chǎn)業(yè)的興起,有很多軟件公司開始對外承接業(yè)務(wù),而其中包含大量的主機軟件開發(fā)需求,因此對IBM主機開發(fā)人才的需求也越來越廣。基于上述原因,IBM公司推出了“IBM主機大學(xué)合作項目”。該項目自1997年正式啟動,IBM公司通過向全國多所高校免費提供IBM z系列服務(wù)器和相應(yīng)資源,幫助高校進(jìn)行主機系統(tǒng)課程建設(shè)、技術(shù)開發(fā)和人才培養(yǎng)。
在主機系統(tǒng)課程中,有一門十分重要的基礎(chǔ)課程——“COBOL語言程序設(shè)計”。該課程講授的是一門誕生將近50年的古老語言,如何取得良好的教學(xué)效果,是必須進(jìn)行探討的問題。
2 目前COBOL程序設(shè)計語言教學(xué)中存在的問題
2.1 教學(xué)方法不當(dāng)
學(xué)校程序設(shè)計語言類課程的教學(xué)以語法教學(xué)為主,一般都采用課堂中講授語法、學(xué)生堂下作業(yè)驗證語法、上機練習(xí)檢驗語法的教學(xué)方式。該方式能夠較好地講清楚程序語言的語法,但卻并不能意味著學(xué)生可以使用這些語句去解決實際問題。在這樣的教學(xué)模式下培養(yǎng)出來的學(xué)生應(yīng)用語言解決問題的能力是否能得到有效提高,是很值得我們思考的。
2.2 教學(xué)內(nèi)容陳舊
IBM主機已經(jīng)有40年的發(fā)展歷史,有過輝煌,也有過沉淪。由于其在上世紀(jì)90年代的衰退,導(dǎo)致國內(nèi)近20年都沒有較好的相關(guān)教學(xué)資料。目前的教輔資料都比較陳舊,不能反映近年來計算機行業(yè)發(fā)生的翻天覆地的變化,以至于學(xué)生感覺學(xué)習(xí)內(nèi)容與現(xiàn)實脫節(jié),離開校門走上工作崗位后又不得不重新開始培訓(xùn)。
2.3 綜合應(yīng)用能力缺乏
在教學(xué)中,學(xué)生的基礎(chǔ)知識掌握還可以,編制一些簡單程序游刃有余,但在做一些大型的綜合程序設(shè)計時就無處下手了。學(xué)生只是掌握了語法規(guī)則,而靈活應(yīng)用還很困難。
2.4 教考手段單一
目前的教學(xué)手段還主要是傳統(tǒng)的教師課堂講授,學(xué)生課下作業(yè),輔以一定的上機實習(xí),內(nèi)容也多為驗證書本內(nèi)容,考核仍然以筆試為主。但是有開發(fā)經(jīng)驗的人都知道,在實際軟件開發(fā)過程中都需要不斷地查閱文檔和資料,在程序編制過程中反復(fù)調(diào)試和修改才能設(shè)計出最優(yōu)的軟件,單靠記憶和背誦根本無法適應(yīng)實際工作的需求。所以僅僅筆試成績優(yōu)異的人并不一定能成為合格的程序員。
3 程序設(shè)計能力的培養(yǎng)
3.1 主機COBOL語言的特點
COBOL是Common Business Oriented Language的縮寫,字面意思就是“通用面向事務(wù)處理語言”。從其名稱就可以看出,COBOL語言是用于事務(wù)處理的。當(dāng)然,COBOL不僅僅是商業(yè)數(shù)據(jù)處理的理想語言,還廣泛用于數(shù)據(jù)管理領(lǐng)域,如它在財會管理、統(tǒng)計報表、計劃編制、情報檢索等方面應(yīng)用十分廣泛。
在過去的近50年里,COBOL成了事務(wù)處理領(lǐng)域具有統(tǒng)治地位的程序設(shè)計語言。大量的語言,諸如PL1、Algol68、Pascal、Modula、C、Ada、C++都曾經(jīng)被視為COBOL的挑戰(zhàn)者,但是沒有一個成功替代它。
正因為COBOL是一門古老的語言,就決定了其和目前流行的其他計算機語言有較大區(qū)別。無論是在語法還是編程方法上,都有其特殊之處。
3.2 結(jié)合主機特點,完善講授方法
雖然傳統(tǒng)程序設(shè)計語言的講授經(jīng)常會受到詬病,但目前教師傳授知識的基本方法還只能是講授。COBOL語言中比較獨特之處如固定格式、各種繁多的編輯型數(shù)據(jù)類型、復(fù)雜的PERFORM語句以及獨特的表(數(shù)組)處理方法等,必須進(jìn)行詳細(xì)的講解,而獨特的三種不同文件的處理方式也不例外。
我們在教學(xué)實踐中發(fā)現(xiàn),除了講解必要的基礎(chǔ)知識,教師在課堂上演示一個程序的運行方式及結(jié)果,比單純講解程序本身能更有效地吸引學(xué)生的注意,從而取得更好的課堂講授效果。如果不進(jìn)行演示,學(xué)生可能會被那些和其他程序設(shè)計語言迥然不同的語法規(guī)則和處理方式弄糊涂,不能更好地掌握相關(guān)知識。
3.3 以實際應(yīng)用為基礎(chǔ),培養(yǎng)學(xué)生的動手能力
程序設(shè)計是一門應(yīng)用科學(xué)也是一門技術(shù)。程序設(shè)計語言的教學(xué)要面向?qū)嶋H應(yīng)用,以實際問題為出發(fā)點,著重培養(yǎng)學(xué)生的動手能力。老師應(yīng)該在上課前準(zhǔn)備好相關(guān)實際問題,由此引出教學(xué)內(nèi)容,然后由老師和學(xué)生一起探討解決的方法。而程序設(shè)計的重要環(huán)節(jié)上機要以學(xué)生為主體,老師從旁協(xié)助,遇到問題要鼓勵學(xué)生自己想辦法解決,鼓勵學(xué)生在課外遠(yuǎn)程登陸到主機系統(tǒng)進(jìn)行自主學(xué)習(xí),鍛煉學(xué)生的編程能力。
3.4 完善課程體系,推出新型課程
傳統(tǒng)的程序設(shè)計教學(xué)中最大的問題是教學(xué)方式過于單一,缺少師生的互動,學(xué)生也很難有機會接觸實際的項目開發(fā),缺乏對軟件開發(fā)直觀的認(rèn)識。而引入一門新的實踐型課程——“COBOL課程設(shè)計”,可以有效地解決這一問題。
該課程在學(xué)生學(xué)完常規(guī)課程后開出,主要不是由老師講授,而是一門實踐性很強的課程。學(xué)生分成若干個開發(fā)小組,每個小組一般不超過4個人,各小組既有擅長編程的人員,又有能夠上機調(diào)試和撰寫文檔的人員,每個小組任命一個小組長。在課堂上首先由老師結(jié)合教學(xué)內(nèi)容提出要開發(fā)的小型項目,然后由學(xué)生分組進(jìn)行開發(fā)。
該開發(fā)按照軟件工程的規(guī)范進(jìn)行:學(xué)生經(jīng)過需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼、測試等全過程,每個過程都應(yīng)完成規(guī)范的文檔。教師經(jīng)常組織學(xué)生進(jìn)行交流,由老師和學(xué)生共同對小組提交的方案進(jìn)行點評,以便于學(xué)生之間相互學(xué)習(xí)。在這過程中特別要鼓勵學(xué)生大膽創(chuàng)新,勇于提出自己獨到的見解,對于比較新穎的案例要予以重點講評。
該課程的開出可以讓學(xué)生了解軟件開發(fā)的過程,增強學(xué)生的程序開發(fā)能力。而分組方式可以有效地培養(yǎng)學(xué)生的團隊協(xié)作能力,為以后走向工作崗位打下堅實的基礎(chǔ)。
3.5 它山之石,可以攻玉
利用本課程受到IBM公司支持,我們經(jīng)常請該公司的技術(shù)人員到學(xué)校開展學(xué)術(shù)交流活動,傳授實際工作經(jīng)驗,開闊學(xué)生的眼界,拓寬學(xué)生的知識面,為學(xué)生離開學(xué)校以后的發(fā)展奠定基礎(chǔ)。
利用IBM公司每年舉辦的主機軟件設(shè)計大賽的機會,鼓勵學(xué)生積極參與,在競賽中鍛煉自己,學(xué)到更多的知識。
4 結(jié)束語
COBOL是一門既古老又充滿活力的語言,它必將伴隨IBM主機的輝煌而繼續(xù)輝煌。如何根據(jù)市場經(jīng)濟發(fā)展的需要,從推動我國軟件業(yè)建設(shè)的角度出發(fā),在教學(xué)中走出一條自主創(chuàng)新之路,為社會培養(yǎng)出一批能與世界接軌、具有競爭力的高素質(zhì)軟件人才,還需要不斷地探索。
參考文獻(xiàn):
[1] 郭彩虹,李偉. 程序設(shè)計類課程教學(xué)改革之我見[J]. 浙江樹人大學(xué)學(xué)報,2005,(5).