秦俊平 壽永熙
摘要:本文介紹作者多年來對計(jì)算機(jī)專業(yè)實(shí)踐能力培養(yǎng)方法的研究與探索,提出優(yōu)化理論教學(xué)、規(guī)范實(shí)踐環(huán)節(jié)、制定系統(tǒng)化的培養(yǎng)目標(biāo)等一系列提高綜合實(shí)踐能力的方法。
關(guān)鍵詞:理論教學(xué);實(shí)踐能力;系統(tǒng)化
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B
我院現(xiàn)有計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程兩個計(jì)算機(jī)本科專業(yè)。從這兩個專業(yè)畢業(yè)生的就業(yè)情況來看,從事計(jì)算機(jī)應(yīng)用的最多,從事工程開發(fā)的次之,從事科學(xué)研究的比例最低。如何提高計(jì)算機(jī)人才所必須的實(shí)踐能力,是各所高校所面臨的共同課題,我院對此進(jìn)行了有益的探索,目標(biāo)是培養(yǎng)具有扎實(shí)理論基礎(chǔ)和處理實(shí)際問題能力的計(jì)算機(jī)專業(yè)人才。
1課題背景
面對就業(yè)形勢日趨嚴(yán)峻的現(xiàn)狀,如何培養(yǎng)出符合用人單位要求的計(jì)算機(jī)專業(yè)人才,是我院多年來一直思考的問題,需要解決的問題主要有:
(1) 計(jì)算機(jī)類專業(yè)同質(zhì)化嚴(yán)重,基本上現(xiàn)在每所高校都有計(jì)算機(jī)專業(yè),培養(yǎng)方案大同小異,作為一所地方普通高校,我們的特色在哪里?
(2) 用人單位在招聘時特別強(qiáng)調(diào)實(shí)際工作經(jīng)驗(yàn),即到單位就基本可以勝任工作,這正是應(yīng)屆大學(xué)畢業(yè)生應(yīng)聘時的最大弱項(xiàng),我們能否通過合適的教學(xué)安排彌補(bǔ)這一不足?
(3) 傳統(tǒng)的教學(xué)仍然是重知識輕技術(shù),這一思想在教學(xué)過程中、教學(xué)考核環(huán)節(jié)處處體現(xiàn)出來,如何進(jìn)行改進(jìn)?
針對以上問題,以“傳授知識、培養(yǎng)能力”為目標(biāo),我們進(jìn)行了計(jì)算機(jī)專業(yè)實(shí)踐能力培養(yǎng)方法的研究與實(shí)踐,通過師生的共同努力,取得了一定的成績,項(xiàng)目的主要內(nèi)容包括:
(1) 優(yōu)化理論教學(xué);
(2) 規(guī)范實(shí)踐環(huán)節(jié);
(3) 系統(tǒng)化的培養(yǎng)目標(biāo),提高綜合能力。
2優(yōu)化理論教學(xué)
與其它專業(yè)一樣,計(jì)算機(jī)專業(yè)理論知識是多年積累下來的寶貴財(cái)富,行業(yè)的每一次進(jìn)步,都是在理論的指導(dǎo)下取得的。從數(shù)據(jù)庫理論的提出到數(shù)據(jù)庫的廣泛應(yīng)用,從網(wǎng)絡(luò)、分布式計(jì)算理論到云存儲、云計(jì)算無不如此。堅(jiān)實(shí)的理論知識的掌握對于科研能力的培養(yǎng),對一個人的長遠(yuǎn)發(fā)展是至關(guān)重要的。恰當(dāng)?shù)慕虒W(xué)計(jì)劃的制定與有效執(zhí)行,是扎實(shí)掌握理論知識的關(guān)鍵。
(1) 核心知識體系是我院計(jì)算機(jī)教育的基本要求。我院制定了在一定時期內(nèi)相對穩(wěn)定并不斷改進(jìn)的教學(xué)大綱,大綱一定要覆蓋核心知識體系。一個人的精力總是有限的,既博且精往往很難做到,教學(xué)計(jì)劃的制定要側(cè)重基礎(chǔ)內(nèi)容,對擴(kuò)展內(nèi)容做出適當(dāng)取舍,且要及時調(diào)整,適應(yīng)形勢發(fā)展。如2009年的計(jì)算機(jī)專業(yè)碩士研究生入學(xué)考試改為全國統(tǒng)考,我們根據(jù)考試大綱及時調(diào)整了專業(yè)的教學(xué)大綱,為同學(xué)們參加研究生入學(xué)考試奠定扎實(shí)基礎(chǔ)。
(2) 授課方式上除對大綱規(guī)定的內(nèi)容精心講解外,每部分再選中一個知識點(diǎn),作為有代表性的實(shí)例,透徹講解。舉例來說,數(shù)據(jù)結(jié)構(gòu)中樹與二叉樹部分,我們不僅僅從邏輯上對于樹、二叉樹進(jìn)行講解,還把創(chuàng)建二叉樹與二叉樹遍歷算法的實(shí)現(xiàn)代碼放在開發(fā)環(huán)境下,在執(zhí)行過程中進(jìn)行分析講解,其中既有數(shù)據(jù)元素在內(nèi)存中如何描述,又有數(shù)據(jù)元素之間關(guān)系在內(nèi)存中的描述,在調(diào)試狀態(tài)下還可查看存儲空間的動態(tài)分配與釋放過程,給同學(xué)們以最直觀地感受。
(3) 課后作業(yè)的安排盡量面向?qū)嶋H,即使是一些理論性非常強(qiáng)的課程,也進(jìn)行了這方面的努力。我們認(rèn)為根據(jù)理論知識,找到現(xiàn)實(shí)的對應(yīng)物,并對其加以分析,比機(jī)械地、教條地學(xué)習(xí),感受更為直觀,收獲更大。舉例來說,操作系統(tǒng)中講述進(jìn)程控制塊PCB是進(jìn)程存在的唯一標(biāo)識,而PCB作為一種數(shù)據(jù)結(jié)構(gòu)組織方法有唯一編號。我們布置作業(yè)要求在具體操作系統(tǒng)環(huán)境下,將某一時刻所有進(jìn)程的信息列出,其中包括PID信息,并對結(jié)果進(jìn)行分析,從而通過實(shí)踐映證理論。
通過理論學(xué)習(xí)、實(shí)例分析和課后作業(yè)的相互配合,同學(xué)們可深刻地理解理論知識。同學(xué)們學(xué)習(xí)的不僅僅是枯燥的理論,更重要的是啟迪他們的思維,引導(dǎo)他們逐步地、由表及里地認(rèn)識計(jì)算機(jī)的軟硬件協(xié)同工作原理。
3規(guī)范實(shí)踐環(huán)節(jié)
作為實(shí)踐性極強(qiáng)的專業(yè),能力是通過解決問題來體現(xiàn)的。這既包括軟硬件故障的排除,也包括某個項(xiàng)目從需求分析直至拿出解決方案的全過程。能力是知識的應(yīng)用,如果說知識是來源于間接經(jīng)驗(yàn)的話,這種實(shí)踐能力主要是在日復(fù)一日的親自參與的實(shí)踐活動中積累起來的。完善、規(guī)范的實(shí)踐教學(xué)環(huán)節(jié)是培養(yǎng)這種能力的關(guān)鍵。此處規(guī)范主要指科學(xué)地制定培養(yǎng)方案和嚴(yán)格地把握培養(yǎng)環(huán)節(jié),強(qiáng)調(diào)過程與效果。實(shí)踐環(huán)節(jié)的規(guī)范應(yīng)考慮以下幾個方面:
(1) 題目的趣味性。實(shí)踐環(huán)節(jié)包括課后的編程練習(xí)、課程實(shí)驗(yàn)、綜合設(shè)計(jì)及畢業(yè)設(shè)計(jì)。對于初學(xué)者來說,重要的是興趣的培養(yǎng),在學(xué)習(xí)完理論知識后,完成一些饒有趣味的題目,對于同學(xué)們今后進(jìn)入程序設(shè)計(jì)大門大有裨益。為了發(fā)揮師生的主觀能動性,在編寫教學(xué)大綱時,實(shí)驗(yàn)部分只規(guī)定知識點(diǎn),具體實(shí)驗(yàn)內(nèi)容,由師生確定,這樣既可以根據(jù)學(xué)生情況區(qū)別對待,也可以不斷吸收好的想法到教學(xué)中來。對較復(fù)雜的綜合設(shè)計(jì)題目,可以由教師擬定,也可以由同學(xué)們提出,工作任務(wù)按照“總體—部分—總體”的方式一步步推進(jìn),由簡單到復(fù)雜,并不斷總結(jié),即后一步的任務(wù)是在前面已完成的經(jīng)過驗(yàn)收的階段性成果的基礎(chǔ)上的進(jìn)一步完善、擴(kuò)充,避免同學(xué)們產(chǎn)生畏難情緒。鼓勵同學(xué)們積極參與國際大學(xué)生程序設(shè)計(jì)競賽(簡稱ACM/ICPC)等比賽活動,通過參賽樹立學(xué)生的榜樣以帶動其他同學(xué),進(jìn)而創(chuàng)造良好的學(xué)習(xí)氛圍。
(2) 程序設(shè)計(jì)量的保證。在哲學(xué)上講“量變是質(zhì)變的基礎(chǔ),質(zhì)變是量變積累到一定程度的必然結(jié)果”。我們認(rèn)為程序設(shè)計(jì)能力與日常編程訓(xùn)練就是這樣一種質(zhì)與量的關(guān)系。試想一下,從來沒寫過程序或只寫過很少程序的人能設(shè)計(jì)出高質(zhì)量的代碼嗎?哪個系統(tǒng)分析師不是從程序員、程序設(shè)計(jì)師一步步走過來的?程序設(shè)計(jì)的能力就是通過在大量的實(shí)踐中不斷地解決問題、感悟積累的結(jié)果。我院多年實(shí)踐表明,學(xué)生在校編程訓(xùn)練達(dá)到5000行以上,是可以做到的。
(3) 平臺的建設(shè)。以前的實(shí)踐環(huán)節(jié)主要通過教師面對面的輔導(dǎo)、評定來進(jìn)行,對于課程實(shí)驗(yàn)環(huán)節(jié),這樣的安排也利于師生交流,隨著學(xué)生人數(shù)的增加,基于Internet提供更方便的自學(xué)平臺,是更有效率的實(shí)施方法。為此,我們建設(shè)了在線測試平臺,為同學(xué)們創(chuàng)造更多的自主學(xué)習(xí)機(jī)會,而且在平臺上進(jìn)行每位同學(xué)程序設(shè)計(jì)量的統(tǒng)計(jì),程序設(shè)計(jì)內(nèi)容的相似度評估等內(nèi)容。
(4) 組織方式。較簡單題目,個人完成;比較復(fù)雜的題目,以小組為開發(fā)單位,結(jié)對編程。無論題目的難易程度,基本的文檔和測試用例必須齊備。一方面在學(xué)習(xí)中培養(yǎng)同學(xué)們的合作意識,另一方面,制訂嚴(yán)格、細(xì)致的實(shí)驗(yàn)大綱,設(shè)計(jì)合理的實(shí)驗(yàn)題目,要求學(xué)生完成規(guī)范的實(shí)驗(yàn)報(bào)告,培養(yǎng)同學(xué)們用軟件工程的思想分析問題,提出方案直至實(shí)現(xiàn)并驗(yàn)收。
(5) 將實(shí)踐內(nèi)容引入考試環(huán)節(jié)。在高校擴(kuò)招后,基本都以大班形式進(jìn)行授課,如何有效地督促同學(xué)學(xué)習(xí),除了題目完成后答辯等傳統(tǒng)方法外,我們采用在Internet在線教學(xué)平臺上引入相似度評估的技術(shù)方法進(jìn)行檢查,在考試環(huán)節(jié)增設(shè)機(jī)試部分,多種方法保證每位同學(xué)自己完成一定量的實(shí)踐任務(wù)。
4設(shè)定系統(tǒng)化的培養(yǎng)目標(biāo),提高綜合能力
在校期間各門課程由淺入深,循序漸進(jìn)的安排,符合認(rèn)知規(guī)律,但在以前的實(shí)施過程中,由于各門課程由不同教師講授,內(nèi)容的前后銜接,與課程對應(yīng)的實(shí)踐任務(wù)的安排,缺乏系統(tǒng)性。我院現(xiàn)在實(shí)行的是責(zé)任教授負(fù)責(zé)制,各門課程教學(xué)計(jì)劃的制定,要召集相關(guān)的授課教師統(tǒng)一協(xié)商,針對實(shí)踐環(huán)節(jié)存在的問題也不斷改進(jìn),經(jīng)過幾年的發(fā)展,擬定了一個系統(tǒng)化的行得通的培養(yǎng)方案。該方案既考慮了知識面的完整性,也兼顧了要豐富實(shí)際工作經(jīng)驗(yàn)的社會需求。方案主要包括以下幾個方面:
(1) 實(shí)踐任務(wù)難度不斷深入。制定任務(wù)時,盡量將重復(fù)性任務(wù)去掉,使每個任務(wù)都有所收獲,并兼顧不同課程之間的交叉。如在剛?cè)雽W(xué)時開設(shè)的高級程序設(shè)計(jì)語言中,從基本的程序語句,到選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)程序的設(shè)計(jì),再到文件的訪問,作為最基礎(chǔ)內(nèi)容,通過實(shí)踐環(huán)節(jié)全部覆蓋。而此部分內(nèi)容在其它課程中,要求同學(xué)們直接使用而不再單獨(dú)布置實(shí)踐題目,確保學(xué)生在有限的課時內(nèi)學(xué)習(xí)盡可能多的知識。
(2) 實(shí)踐任務(wù)的完整性。當(dāng)相關(guān)理論知識學(xué)習(xí)后,安排一個工作量、難度適宜的完整任務(wù)。如在程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)完成之后,要求同學(xué)們完成一個成績管理系統(tǒng),從初始的數(shù)據(jù)輸入,數(shù)據(jù)處理到結(jié)果顯示,同學(xué)們設(shè)計(jì)方案并予以實(shí)現(xiàn)。要求既可以在屏幕上以表格形式顯示結(jié)果,也可以打印輸出,還可以使用文件方式保存表格。通過這樣的學(xué)習(xí),同學(xué)們既對軟件有了直觀感受,又?jǐn)U展了知識面,任務(wù)完成之后,我們又組織師生進(jìn)行總結(jié),尋找不足,為下屆學(xué)生學(xué)習(xí)做好準(zhǔn)備。
(3) 系統(tǒng)知識的培養(yǎng)。不同課程之間內(nèi)在關(guān)聯(lián)很緊密,在授課時如何把握,是淺嘗輒止還是深入探究,對教師是一種挑戰(zhàn)。同樣的教學(xué)內(nèi)容,不同的授課安排,同學(xué)們的收獲差別非常大。舉例來說,如果在講授操作系統(tǒng)時,能就某一部分內(nèi)容對其內(nèi)部實(shí)現(xiàn)以一種直觀、易于理解的形式進(jìn)行展示,要比簡單地復(fù)述教材上的理論總結(jié)效果好得多。把不同課程之間的線索理出來,在授課過程中把脈絡(luò)傳授給學(xué)生,將知識形成體系,對培養(yǎng)綜合能力大有益處。
(4) 畢業(yè)設(shè)計(jì)題目盡量來自工程實(shí)踐或科研項(xiàng)目。作為在校期間的最后一項(xiàng)教學(xué)活動,要有難度,有飽滿的工作量,教師應(yīng)盡量選擇來自于工程實(shí)踐或科研項(xiàng)目的題目,讓同學(xué)們經(jīng)歷軟件工程的全過程,并且具備收集文獻(xiàn)資料的能力。
總體來說,系統(tǒng)化強(qiáng)調(diào)的是各門課程之間的銜接,培養(yǎng)的是綜合能力。這一環(huán)節(jié)加深了同學(xué)們的專業(yè)素養(yǎng),體現(xiàn)計(jì)算機(jī)專業(yè)與非專業(yè)的區(qū)別。
5總結(jié)
程序設(shè)計(jì)能力是計(jì)算機(jī)專業(yè)學(xué)生的基本功,理論知識的深刻掌握需要扎實(shí)的實(shí)踐能力作為支撐,反過來,學(xué)習(xí)理論知識并應(yīng)用到實(shí)踐環(huán)節(jié),又能極大地增強(qiáng)實(shí)踐能力。經(jīng)過每個學(xué)期不間斷的、系統(tǒng)的、大量的鍛煉,到畢業(yè)前,每位同學(xué)已經(jīng)歷了一定數(shù)量的、各個層次的編程培養(yǎng)。從最基本的編程題目,到利用各類數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫技術(shù)的較復(fù)雜題目,再到具備完善界面的小型軟件,從使用數(shù)據(jù)庫技術(shù)組織數(shù)據(jù),再到多進(jìn)程、多線程編程,組件編程,由基本理論到新技術(shù),在校期間都有所嘗試,這樣的教學(xué)安排可部分滿足用人單位的工作實(shí)際要求。
計(jì)算機(jī)作為一門實(shí)踐性非常強(qiáng)的學(xué)科,從學(xué)生被動接受知識,到積極參與實(shí)踐鍛煉,在這一過程中教師引導(dǎo)同學(xué)不斷領(lǐng)悟,逐步提高學(xué)生的編程、設(shè)計(jì)能力。這一過程的各個環(huán)節(jié)如何協(xié)調(diào)、內(nèi)容如何取舍,都要不斷研究。在這方面我院通過實(shí)施一些教改項(xiàng)目、教學(xué)研究項(xiàng)目,取得了一定的成果,我們也積極借鑒國內(nèi)外同行的有益經(jīng)驗(yàn),為培養(yǎng)出真正社會所需要的人才而不斷努力。
注:本研究得到內(nèi)蒙古工業(yè)大學(xué)教學(xué)研究項(xiàng)目“ACM/ICPC開放式訓(xùn)練平臺的研究與實(shí)踐”資助。
參考文獻(xiàn):
[1] 教育部高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會. 高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)發(fā)展戰(zhàn)略研究報(bào)告暨專業(yè)規(guī)范(試行)[M]. 北京:高等教育出版社,2006:254-255,264-265.
[2] 蔣宗禮. 推進(jìn)規(guī)范辦學(xué),培養(yǎng)合格本科畢業(yè)生[J]. 計(jì)算機(jī)教育,2008(7):7-10.
[3] 陳朔鷹,趙小林. 建立軟件實(shí)踐課程體系,全面培養(yǎng)工程型人才[J]. 計(jì)算機(jī)教育,2008(7):14-18.
[4] 秦俊平,壽永熙,馬志強(qiáng),等. 操作系統(tǒng)課程實(shí)例與實(shí)踐教學(xué)方法的研究與實(shí)踐[J]. 計(jì)算機(jī)教育,2009(2):30-31.