拓寬基礎(chǔ),強(qiáng)化實(shí)踐,程序設(shè)計(jì)語言類課程教學(xué)的探索與實(shí)踐
發(fā)布時(shí)間:2019-08-07 來源: 幽默笑話 點(diǎn)擊:
摘要:程序設(shè)計(jì)語言是高等學(xué)校計(jì)算機(jī)專業(yè)本科教學(xué)計(jì)劃中不可缺少的基礎(chǔ)課程,由于語言種類多、發(fā)展快、實(shí)踐性強(qiáng),如何在有限的課時(shí)內(nèi)讓學(xué)生系統(tǒng)地掌握程序設(shè)計(jì)語言的基本原理、具備初步的編程能力,是該類課程教學(xué)面臨的一個(gè)主要挑戰(zhàn)。本文介紹北京交通大學(xué)在程序設(shè)計(jì)語言類課程教學(xué)方面進(jìn)行的研究性教學(xué)與實(shí)踐性教學(xué)相結(jié)合的探索與嘗試。
關(guān)鍵詞:計(jì)算機(jī)教育;程序設(shè)計(jì)語言類課程教學(xué);教學(xué)改革;研究性教學(xué);實(shí)踐教學(xué)
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
1程序設(shè)計(jì)語言類課程教學(xué)的問題
程序設(shè)計(jì)語言的研究與開發(fā)一直是計(jì)算機(jī)科學(xué)領(lǐng)域的核心問題之一。事實(shí)上,信息技術(shù)領(lǐng)域的任何新技術(shù)與新方法都離不開程序設(shè)計(jì)語言的表達(dá)和實(shí)現(xiàn),多名“圖靈獎(jiǎng)”獲得者都是因?yàn)樵诔绦蛟O(shè)計(jì)語言方面的開創(chuàng)性成果而獲獎(jiǎng)。研究型大學(xué)的計(jì)算機(jī)專業(yè)本科生不僅應(yīng)掌握特定程序語言的應(yīng)用,更應(yīng)了解不同類型程序設(shè)計(jì)語言的理論基礎(chǔ)及其背后所蘊(yùn)涵的程序設(shè)計(jì)方法學(xué)。
我國(guó)絕大多數(shù)高校計(jì)算機(jī)專業(yè)方向的本科生教學(xué)培養(yǎng)計(jì)劃中安排了程序設(shè)計(jì)語言的教學(xué)任務(wù)。與西方發(fā)達(dá)國(guó)家的高等院校相比,程序設(shè)計(jì)語言教學(xué)方面的突出不足之處主要表現(xiàn)為:
(1) 程序設(shè)計(jì)語言的教學(xué)在有限的本科生教學(xué)課時(shí)中占用了較大比例,開設(shè)了如C、C++、Java、C#、Web程序設(shè)計(jì)語言、腳本語言等課程,設(shè)置零散,缺乏系統(tǒng)性。
(2) 程序設(shè)計(jì)語言的教學(xué)大綱側(cè)重語言的語法教學(xué),忽視程序語言設(shè)計(jì)的理論基礎(chǔ)。學(xué)生缺乏研究和開發(fā)新型程序設(shè)計(jì)語言的能力,與研究型大學(xué)的學(xué)生培養(yǎng)目標(biāo)有較大差距。
(3) 程序設(shè)計(jì)語言實(shí)例教學(xué)的效果不能令人滿意。相當(dāng)比例的計(jì)算機(jī)專業(yè)本科畢業(yè)生需要經(jīng)過一段時(shí)間的編程訓(xùn)練后方能滿足工業(yè)界需求。
初步調(diào)研發(fā)現(xiàn),我國(guó)計(jì)算機(jī)學(xué)科排名靠前的幾所高校,如北京大學(xué)、北京航空航天大學(xué)、東南大學(xué),開設(shè)了“高級(jí)程序設(shè)計(jì)語言的設(shè)計(jì)與實(shí)現(xiàn)”或“程序設(shè)計(jì)語言的原理與實(shí)踐”課程,但這些課程大多是面向計(jì)算機(jī)專業(yè)方向的研究生。據(jù)我們所知,德國(guó)和荷蘭等西方發(fā)達(dá)國(guó)家的高校在本科生層次上就已經(jīng)開設(shè)了相應(yīng)課程,并且將程序設(shè)計(jì)語言的教學(xué)任務(wù)分配到多個(gè)階段。
基于以上分析,我們認(rèn)為,有必要在計(jì)算機(jī)專業(yè)本科生教學(xué)培養(yǎng)計(jì)劃中增設(shè)程序設(shè)計(jì)語言的理論基礎(chǔ)課程,適當(dāng)刪減程序設(shè)計(jì)語言實(shí)例教學(xué)課時(shí),實(shí)現(xiàn)從程序設(shè)計(jì)語言基礎(chǔ)理論到編程實(shí)踐的系統(tǒng)化教學(xué)。
以培養(yǎng)可持續(xù)發(fā)展的計(jì)算機(jī)專業(yè)人才為導(dǎo)向,本文探討“研究性”教學(xué)與“實(shí)踐性”教學(xué)相結(jié)合的“程序設(shè)計(jì)語言”課程教學(xué)的探索與實(shí)踐。具體說來,在程序設(shè)計(jì)語言理論基礎(chǔ)教學(xué)方面,歸納與整理幾類程序設(shè)計(jì)語言的理論基礎(chǔ),并以代表性程序設(shè)計(jì)語言為例進(jìn)行分析與講解;在程序設(shè)計(jì)語言實(shí)踐教學(xué)方面,保留“C程序設(shè)計(jì)”課程教學(xué),但對(duì)已有的教學(xué)內(nèi)容與方式實(shí)施改革。上述教學(xué)改革的目標(biāo)是提高學(xué)生程序設(shè)計(jì)語言的理論水平,增強(qiáng)對(duì)程序設(shè)計(jì)語言的理解與應(yīng)用能力,為后期從事計(jì)算機(jī)相關(guān)領(lǐng)域的研發(fā)活動(dòng)夯實(shí)基礎(chǔ)。
2程序設(shè)計(jì)語言理論基礎(chǔ)的研究性教學(xué)探索
程序設(shè)計(jì)語言理論基礎(chǔ)研究性教學(xué)遵循“三結(jié)合”的基本原則,設(shè)計(jì)和實(shí)施課程教學(xué)。具體說來,采用“授之以漁”與“授之以魚”相結(jié)合、“演繹”與“歸納”相結(jié)合、“原理”與“實(shí)踐”相結(jié)合的方式。
由教授、副教授、講師各一名組成本課程的教學(xué)小組。三名授課教師均長(zhǎng)期從事計(jì)算機(jī)軟件與理論方面的研究工作,在國(guó)內(nèi)外學(xué)術(shù)期刊或?qū)W術(shù)會(huì)議上發(fā)表多篇高水平的研究論文。其中,一名教師負(fù)責(zé)講授不同類型程序設(shè)計(jì)語言的理論基礎(chǔ),另外兩名教師配合理論基礎(chǔ)講授語言實(shí)例。
本課程以授課教師編寫的講義為主,并提供大量相關(guān)的參考文獻(xiàn)。通常,程序設(shè)計(jì)語言的理論基礎(chǔ)可按三種編排方式講授,即按照不同語言的重要特征及比較、或者按照程序設(shè)計(jì)語言的基本結(jié)構(gòu)及實(shí)現(xiàn)、或者按照程序設(shè)計(jì)語言的形式化語義講解。基于近幾年程序設(shè)計(jì)語言的研究進(jìn)展,本課程采用第一種編排方式組織課程的教學(xué)大綱。
(1) 分析與整理現(xiàn)有的各種程序設(shè)計(jì)語言,如C、C++、C#、Java、Ada、Lisp、Prolog等,歸納不同范型程序設(shè)計(jì)語言的特點(diǎn)與由來,繪制程序設(shè)計(jì)語言的發(fā)展譜系。
(2) 整理與探討過程式、函數(shù)式、邏輯式、面向?qū)ο笫、并發(fā)式等不同范型程序設(shè)計(jì)語言的理論基礎(chǔ),結(jié)合有代表性的程序設(shè)計(jì)語言實(shí)例分析講解。
(3) 探討新型程序設(shè)計(jì)語言的發(fā)展趨勢(shì),討論開發(fā)新型程序設(shè)計(jì)語言的一般過程與方法。
在實(shí)施課程教學(xué)時(shí),采取教師講授、學(xué)生演講與報(bào)告、課堂討論等各種形式的研究性教學(xué)方式。首先教師主講先導(dǎo)性知識(shí)與理論基礎(chǔ),然后由教師指定相關(guān)文獻(xiàn),學(xué)生課前必須認(rèn)真研讀、準(zhǔn)備課堂演講與報(bào)告,老師和其他同學(xué)提問;學(xué)生無法回答或解釋不清時(shí),由教師進(jìn)行疏導(dǎo)。學(xué)生準(zhǔn)備課堂演講與報(bào)告時(shí),應(yīng)能運(yùn)用合適的研究方法,并結(jié)合具體程序設(shè)計(jì)語言進(jìn)行分析與討論。該教學(xué)方式將“學(xué)”與“教”互相融合,學(xué)生既是“學(xué)”的主體,又具有“教”的能力,即學(xué)習(xí)新知識(shí)并能清晰地講授給別人。通過積極參與課堂討論,學(xué)生必須積極思考教師或其他同學(xué)提出的問題,并進(jìn)一步研讀文獻(xiàn),鍛煉“提問題”、“回答問題”的能力,提高做研究的素質(zhì)。
下面以“過程式程序設(shè)計(jì)語言的理論基礎(chǔ)”與“過程式程序設(shè)計(jì)語言實(shí)例”為例,簡(jiǎn)要論述“學(xué)”與“教”相結(jié)合的研究性教學(xué)方式。
(1) 由教師講解過程式程序設(shè)計(jì)語言的基本思想、特點(diǎn)與理論基礎(chǔ)。
(2) 教師指定過程式程序設(shè)計(jì)語言中相關(guān)問題的研究論文,要求學(xué)生課后進(jìn)行認(rèn)真閱讀,并安排不同的學(xué)習(xí)小組對(duì)這些研究文章進(jìn)行課堂演講與報(bào)告。
(3) 教師與學(xué)生提出各種問題,要求作報(bào)告的同學(xué)進(jìn)行回答。例如,教師讓學(xué)生思考或回答“作為過程式程序設(shè)計(jì)語言的代表,C語言是如何處理控制結(jié)構(gòu)、類型、存儲(chǔ)”等問題,學(xué)生必須將所學(xué)的基礎(chǔ)理論與C語言設(shè)計(jì)的基本思想結(jié)合起來才能回答此類問題。
類似地,教師系統(tǒng)地講授各類程序設(shè)計(jì)語言的理論基礎(chǔ),學(xué)生結(jié)合各自程序設(shè)計(jì)語言實(shí)例進(jìn)行分析與研究。通過這樣的由“一般”到“具體”或“歸納”與“演繹”相結(jié)合的過程,學(xué)生不僅可以深入理解面向?qū)ο蟆⒑瘮?shù)、邏輯、并發(fā)等各種范型的程序設(shè)計(jì)語言的理論基礎(chǔ)、設(shè)計(jì)思想,還可以對(duì)不同范型的程序設(shè)計(jì)語言進(jìn)行系統(tǒng)的分析與比較。更重要的是,已知的程序設(shè)計(jì)語言上百種,課堂教學(xué)中不可能講授所有的程序設(shè)計(jì)語言,因此上述研究性教學(xué)方式有助于學(xué)生快速掌握新型程序設(shè)計(jì)語言。
課程考核采用“課堂演講與報(bào)告”加“課程論文”的形式,前者占40%,后者占60%!罢n堂演講與報(bào)告”布置一些經(jīng)典的程序設(shè)計(jì)語言方面的研究論文,學(xué)生閱讀并理解其中的關(guān)鍵思想,運(yùn)用本課程講授的各種計(jì)算機(jī)專業(yè)研究方法、并結(jié)合程序設(shè)計(jì)語言實(shí)例進(jìn)行課堂演講與報(bào)告,所有同學(xué)必須參與課堂討論!罢n程論文”則要求學(xué)生運(yùn)用計(jì)算機(jī)專業(yè)研究方法學(xué)習(xí)和追蹤某種新程序設(shè)計(jì)語言,或?qū)Ξ?dāng)前主流程序設(shè)計(jì)語言進(jìn)行評(píng)述。為了鼓勵(lì)討論,課程論文可以以研究小組為單位提交。但小組成員必須獨(dú)立參加口頭答辯,并說明自己在論文研究中的貢獻(xiàn)。
不難看出,上述課程教學(xué)將計(jì)算機(jī)專業(yè)研究方法潛移默化地運(yùn)用到程序設(shè)計(jì)語言的教學(xué)中。通過本課程的學(xué)習(xí),學(xué)生不僅要掌握程序設(shè)計(jì)語言的理論基礎(chǔ),增強(qiáng)對(duì)程序設(shè)計(jì)語言的理解與應(yīng)用,而且應(yīng)理解如何應(yīng)用各種計(jì)算機(jī)專業(yè)研究方法。
3程序設(shè)計(jì)語言實(shí)例實(shí)踐性教學(xué)的改革與嘗試
相關(guān)熱詞搜索:實(shí)踐 拓寬 課程教學(xué) 強(qiáng)化 探索
熱點(diǎn)文章閱讀