張獻(xiàn)忠
(常州工學(xué)院計算機信息工程學(xué)院,江蘇 常州 213032)
基于問題的學(xué)習(xí)(Problem-based Learning,PBL)是一種基于建構(gòu)主義理論的教學(xué)模式[1],其特征是以“問題”為載體,通過教師設(shè)計的一系列“問題鏈”來引導(dǎo)學(xué)生自主學(xué)習(xí)[2]?;趩栴}學(xué)習(xí)的構(gòu)成要素是情境設(shè)計、提出問題、小組交流、評價總結(jié)等[3]?;趩栴}學(xué)習(xí)的教學(xué)模式主要適用在理論性、綜合性和抽象性強的課程。這些課程對于普通本科學(xué)生而言興趣不高,學(xué)習(xí)難度較大。國內(nèi)已有多位學(xué)者對此進(jìn)行了相關(guān)研究和實踐,并取得了不錯的效果。例如:胡樹煜、王琢對“微機原理”課程進(jìn)行了PBL教學(xué)改革研究,提升了學(xué)生的學(xué)習(xí)興趣和效率[4];魏瑾把PBL教學(xué)模式運用到“通信原理”課程中,培養(yǎng)了學(xué)生的創(chuàng)新思維能力和團(tuán)隊協(xié)作能力[5];蔡斌、熊慶宇等人提出了一種MOOC環(huán)境下PBL教學(xué)模式在軟件工程創(chuàng)新能力培養(yǎng)中的方法,將PBL教學(xué)模式與翻轉(zhuǎn)課堂教學(xué)方法進(jìn)行融合[6]?!安僮飨到y(tǒng)”課程作為計算機和軟件工程專業(yè)中很重要的一門專業(yè)基礎(chǔ)課,講解的是操作系統(tǒng)的運行原理、機制和相關(guān)策略。與“微機原理”和“通信原理”等課程相比具有一定的相似性,因此開展“操作系統(tǒng)”課程的PBL教學(xué)模式研究,具有較高的可行性,同時也很有必要。
1)教材種類雖多,但缺乏適合應(yīng)用型本科的精品教材。目前高校使用的教材主要分為三個系列:一是西安電子科技大學(xué)出版社出版的湯小丹、湯子瀛等主編的教材,該教材堪稱經(jīng)典教材,被國內(nèi)許多重點高校采用。但在一般的應(yīng)用型本科院校中,該教材的使用率并不高,其原因在于教材的起點高,要求學(xué)生有較好的理解能力和計算機基礎(chǔ)知識。二是南京大學(xué)孫鐘秀主編的教材,該教材特點是內(nèi)容豐富,實踐性強,配有專門的實驗教材,適合講授兩學(xué)期的高校使用,這部教材對于編重理論教學(xué)的學(xué)校并不適用。三是由多所地方高校合編自用的應(yīng)用型教材,這一系列教材種類較多,但內(nèi)容大同小異,特色不明顯,質(zhì)量一般。
2)課程內(nèi)容抽象,知識點多,理論性強。操作系統(tǒng)是介于用戶和計算機硬件之間的系統(tǒng)軟件,結(jié)構(gòu)非常復(fù)雜。這不僅要求學(xué)生具備計算機系統(tǒng)結(jié)構(gòu)等硬件知識,而且也要求學(xué)生具有很好的數(shù)據(jù)結(jié)構(gòu)基礎(chǔ),同時具有較強的系統(tǒng)軟件開發(fā)能力。這對于一般的學(xué)生而言很難做到,尤其是初學(xué)“操作系統(tǒng)”課程的學(xué)生更是難以掌握其內(nèi)容精髓。因此,無論在重點高校還是一般的本、??圃盒#安僮飨到y(tǒng)”課程給老師的感覺是難教,給學(xué)生的印象是難學(xué)。學(xué)生對學(xué)習(xí)“操作系統(tǒng)”的興趣不高也就不難理解了。而一旦學(xué)生失去了學(xué)習(xí)興趣,要想學(xué)好它就變得非常困難。
3)傳統(tǒng)的教學(xué)模式單一,多數(shù)高校只注重理論學(xué)習(xí)而輕實踐性環(huán)節(jié)[7]。除了國內(nèi)頂尖重點高校,一般高校的“操作系統(tǒng)”教學(xué)過程和手段比較單一。雖然都引入了多媒體教學(xué)設(shè)備,但還是采用“填鴨式”教學(xué)模式,無法提起學(xué)生的學(xué)習(xí)熱情。對“操作系統(tǒng)”課程內(nèi)容講授大多集中在理論部分,雖然也有實驗教學(xué)內(nèi)容,但實驗教學(xué)課時明顯不夠。因此,學(xué)生的學(xué)習(xí)始終停留在表面上,對操作系統(tǒng)的運行機制并沒有從本質(zhì)上掌握。
為了解決上述問題,就要對“操作系統(tǒng)”課程教學(xué)模式進(jìn)行改革。經(jīng)過研究發(fā)現(xiàn),學(xué)生覺得“操作系統(tǒng)”難學(xué)的主要原因在于傳統(tǒng)的教學(xué)方法無法讓學(xué)生產(chǎn)生學(xué)習(xí)興趣,無法找到學(xué)習(xí)該課程的切入點,找不到學(xué)習(xí)該課程的主線。而基于問題的學(xué)習(xí)方法可以改變這一現(xiàn)狀,因為它可以淡化教材本身的作用,讓理論知識的學(xué)習(xí)變得不再枯燥。教師只需要把“操作系統(tǒng)”課程內(nèi)容設(shè)計為一連串且邏輯關(guān)系緊密的諸多問題,而學(xué)生的任務(wù)就是尋找這些問題的解決方法。教師最后對學(xué)生的解決問題方法進(jìn)行點評和總結(jié)。
1)根據(jù)教學(xué)內(nèi)容的邏輯關(guān)系,找出切入點和主線,讓學(xué)生學(xué)習(xí)有方向感。教師授課前,先要設(shè)計好引導(dǎo)學(xué)生自主學(xué)習(xí)的主線問題[8]。在講授過程中,適時引入該問題,從而讓學(xué)生帶著問題去思考和學(xué)習(xí)。這樣就可以幫助學(xué)生找到學(xué)習(xí)的目標(biāo),從而做到有的放矢,避免處于無所適從的狀態(tài)。例如,在一開始的“緒論”環(huán)節(jié),在介紹操作系統(tǒng)概念和作用之前,可以先從學(xué)生具體使用操作系統(tǒng)的情境作為問題設(shè)計的切入點??梢赃@樣提出問題:“你所知道的操作系統(tǒng)有哪些種類?你使用過哪些操作系統(tǒng)?操作系統(tǒng)能夠為你做什么?操作系統(tǒng)又不能做什么?操作系統(tǒng)的工作有什么特點?”。學(xué)生通過對這5個問題的思考,就可以逐步了解操作系統(tǒng)在計算機系統(tǒng)中的地位和作用,從而對其概念也有了充分的理解,避免空洞的學(xué)習(xí)過程。
同樣,對于“進(jìn)程管理”一章學(xué)習(xí)時,教師在介紹進(jìn)程概念之前,可以提出“為什么要有進(jìn)程這個概念?”這一主線問題。由于進(jìn)程是解決多道系統(tǒng)中程序的并發(fā)執(zhí)行問題,教師可以進(jìn)一步提出“單道系統(tǒng)中程序執(zhí)行具有什么特點?”這個問題去引導(dǎo)學(xué)生找出單道系統(tǒng)中存在的不足之處,從而引導(dǎo)學(xué)生更好地理解單道系統(tǒng)發(fā)展到多道系統(tǒng)的必要性。根據(jù)多道系統(tǒng)運行環(huán)境,教師接著可以提出“多道系統(tǒng)中程序執(zhí)行具有什么特點?”讓學(xué)生去思考。這樣,學(xué)生就可以找出單道系統(tǒng)和多道系統(tǒng)中程序運行的不同點。然后,教師可以提出問題“多道系統(tǒng)中計算機的狀態(tài)是如何確定的?”。這個問題已經(jīng)和進(jìn)程引入的原因有關(guān),因此教師可以引導(dǎo)學(xué)生逐步理解程序執(zhí)行過程的重要性。而程序執(zhí)行的過程就是進(jìn)程,這樣學(xué)生對于進(jìn)程概念的理解就比較形象,也容易得出多道系統(tǒng)中計算機的狀態(tài)和多個程序執(zhí)行過程有關(guān)的結(jié)論。
如此引入進(jìn)程概念之后,學(xué)生已經(jīng)意識到進(jìn)程概念的重要性。接下去為了引入進(jìn)程同步、互斥和進(jìn)程通信等知識點,教師可以提出“進(jìn)程執(zhí)行時是否需要考慮和其他進(jìn)程的關(guān)系?如果不考慮會有什么不好的結(jié)果?如果考慮,則又希望進(jìn)程之間怎么做才能符合實際要求?”等問題。這些問題可以引導(dǎo)學(xué)生去學(xué)習(xí)或查閱進(jìn)程同步和進(jìn)程通信等相關(guān)內(nèi)容,讓學(xué)生明白進(jìn)程之間需要相互協(xié)作和配合,以及合理申請使用系統(tǒng)資源對進(jìn)程執(zhí)行的重要性。而進(jìn)程的同步和互斥主要講述的就是和資源使用過程有關(guān)的內(nèi)容。這樣就可以在課堂上利用這些問題引導(dǎo)學(xué)生自主學(xué)習(xí)。操作系統(tǒng)中的每一章節(jié)都可以找出類似的主線問題。主線問題進(jìn)一步展開就可以覆蓋到學(xué)生所學(xué)理論的各個方面?;趩栴}的學(xué)習(xí)可以讓學(xué)生獲得學(xué)習(xí)的樂趣,不再覺得課堂教學(xué)枯燥乏味。
2)設(shè)計啟發(fā)性問題時運用類比方式,易于讓學(xué)生產(chǎn)生聯(lián)想。易于讓學(xué)生產(chǎn)生聯(lián)想的問題可以激發(fā)學(xué)生的學(xué)習(xí)興趣和熱情[9]。興趣是最好的老師,這句話道出了認(rèn)知過程中的一條真理。如果學(xué)生對所學(xué)內(nèi)容沒有興趣,那么要掌握所學(xué)知識的難度確實很大。因此,教師需要把日常生活中的一些現(xiàn)象引入到“操作系統(tǒng)”課堂教學(xué),讓學(xué)生從中體會到學(xué)習(xí)的樂趣,從而避免枯燥、空洞、抽象的教學(xué)模式,增強學(xué)生學(xué)習(xí)操作系統(tǒng)的興趣。有了興趣,學(xué)生學(xué)習(xí)起來才有動力,才樂意積極主動地去思考問題,更好地進(jìn)行創(chuàng)造性的學(xué)習(xí)。在設(shè)計問題時,應(yīng)該從學(xué)生容易感受到的現(xiàn)實場景出發(fā),用類比的方式讓學(xué)生對操作系統(tǒng)中的理論和機制產(chǎn)生聯(lián)想。例如,在講解進(jìn)程和程序之間的關(guān)系時,教師可以用類比的方式設(shè)計問題:“如果把程序看成是一部樂曲,那么進(jìn)程代表了什么?”,或者說“如果把電影拷貝看成程序,那么進(jìn)程又是怎樣的過程?”。學(xué)生自然會把演奏樂曲的過程理解為進(jìn)程,或者把電影的放映過程理解為進(jìn)程。這樣,再來看進(jìn)程和程序的關(guān)系是否一一對應(yīng)時,學(xué)生就很容易從樂曲和演奏過程或者從電影拷貝和放映過程中找到答案。再有,在講解調(diào)度算法時,可以設(shè)計如下一些問題:
問題1:在生活中,排隊買票或結(jié)賬是個很普遍的現(xiàn)象。為什么要采用這樣的方式,它體現(xiàn)了怎樣的公平原則?這很容易讓學(xué)生聯(lián)想到操作系統(tǒng)中的“先來先服務(wù)”調(diào)度策略。
問題2:同樣對于排隊結(jié)賬,如果排在你前面的人買了很多商品,而你只有一件商品,同時你時間比較緊,需要盡快結(jié)賬離開。此時你會對先來先服務(wù)策略不滿了,那么你希望怎樣做才好呢?此時你當(dāng)然是希望買的少的人先結(jié)賬離開,理由是相對等待時間比較少。這也容易讓學(xué)生聯(lián)想到操作系統(tǒng)中的“短作業(yè)優(yōu)先”調(diào)度策略。
問題3:如果每次都讓買東西少的人先結(jié)賬,那作為購買很多商品的大客戶當(dāng)然也不樂意了。因為買的東西多,也就意味著為商家創(chuàng)造更多的利潤,理應(yīng)受到較好的待遇。此時應(yīng)該怎么做才能讓這些大客戶滿意呢?此時學(xué)生會聯(lián)想到許多服務(wù)場所都有VIP通道,商家可以讓這些大客戶使用VIP專用通道進(jìn)行結(jié)賬。這對應(yīng)操作系統(tǒng)中的“高優(yōu)先權(quán)優(yōu)先”的調(diào)度策略。
因此,通過采用上述類比方式設(shè)計問題,可以讓學(xué)生在理解操作系統(tǒng)調(diào)度算法和策略時不再感到枯燥乏味,而是變得生動形象。這樣,學(xué)生的學(xué)習(xí)興趣和熱情會被激發(fā)出來,其邏輯思維能力也會得到相應(yīng)的提高。
要達(dá)到學(xué)以致用,需要具備一定的綜合技能和素養(yǎng)。綜合性問題可以讓學(xué)生進(jìn)行全方位的思考,不再局限于某一方面的知識[10]。教師在課堂上講解重點或難點內(nèi)容時,可以通過案例設(shè)計綜合性問題。一般選用以下兩種案例[11]:一種是閱讀操作系統(tǒng)中某個模塊的源代碼(目前對于使用Linux等開源操作系統(tǒng)而言,很容易獲取源代碼);另一種是修改操作系統(tǒng)中某個模塊的功能,通過接口為操作系統(tǒng)添加某個功能。第二種案例比第一種案例更能鍛煉學(xué)生的實踐動手能力,也能讓學(xué)生真正體會到學(xué)以致用的價值和實際意義。
圍繞上述案例,教師可以提出綜合性問題。例如,針對閱讀操作系統(tǒng)中的某個模塊或算法的源代碼,教師可以這樣提問:“這段代碼的功能是解決什么問題?其設(shè)計的流程是怎樣的?為什么要這樣設(shè)計,這樣設(shè)計有什么好處?”。教師對學(xué)生的回答可以進(jìn)行點評。而對于修改操作系統(tǒng)中某個模塊的功能,教師同樣也可以提出類似的問題:“操作系統(tǒng)提供的接口是什么?修改后的代碼要怎樣編譯?如何讓操作系統(tǒng)識別新加入或修改的功能?”。對于這些綜合性問題,學(xué)生通過思考并進(jìn)行實踐后,不僅可以從根本上理解操作系統(tǒng)的理論,而且也學(xué)會了靈活應(yīng)用操作系統(tǒng)概念和技術(shù)的技能。這對提升學(xué)生的學(xué)習(xí)效果,培養(yǎng)學(xué)生求真務(wù)實的學(xué)習(xí)風(fēng)氣大有益處。
基于問題學(xué)習(xí)的“操作系統(tǒng)”課程教學(xué)改革實踐,很好地體現(xiàn)了建構(gòu)主義的教學(xué)理念,體現(xiàn)了以學(xué)生為主體、教師為主導(dǎo)的教學(xué)思想。實踐表明,引導(dǎo)學(xué)生對問題的積極思考,有助于培養(yǎng)學(xué)生對“操作系統(tǒng)”課程的學(xué)習(xí)興趣和熱情,也使學(xué)生獲得了較好的學(xué)習(xí)效果。另外,基于問題學(xué)習(xí)的教學(xué)模式,加強了教師和學(xué)生之間的互動,從而讓學(xué)生從枯燥的課程學(xué)習(xí)中體會到交流的樂趣。但基于問題學(xué)習(xí)的教學(xué)模式,增加了教學(xué)過程的復(fù)雜性,也對普通高校的教學(xué)管理機制提出了新的要求。