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