石春 陳煥東 梁平元 何書前
摘要:軟件工程專業(yè)課程強(qiáng)調(diào)理論和實踐緊密結(jié)合的特性,如何在教學(xué)過程中加強(qiáng)實踐教學(xué)活動是難題。針對偏重理論和偏重實踐的不同專業(yè)課程,從團(tuán)隊組建、問題解決方式、溝通技巧和學(xué)生認(rèn)知體系建立等方面進(jìn)行分析和探討,提出一些可行的專業(yè)課程“工作坊”實踐教學(xué)設(shè)計方案。經(jīng)實際教學(xué)過程檢驗,達(dá)到比較好的教學(xué)效果。
關(guān)鍵詞:工作坊;教學(xué)改革;軟件工程;實踐教學(xué)
中圖分類號:G40 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)07-1427-03
大學(xué)課堂是高校教學(xué)活動、學(xué)生學(xué)習(xí)的重要場所,是大學(xué)生獲取知識的主要途徑。課堂教學(xué)的好壞直接影響課程效益,最終影響到人才培養(yǎng)質(zhì)量,同時也體現(xiàn)了高等教育的辦學(xué)理念。根據(jù)教學(xué)活動圍繞的中心,可以將課堂教學(xué)分為“教師中心式”和“學(xué)生中心式”兩種類型[1]。在以教師為中心的課堂教學(xué)活動中,教師是課堂的焦點,在整個教學(xué)過程中起到主導(dǎo)地位;教師一般采用強(qiáng)制性的教導(dǎo)方法,將知識與技能傳授給學(xué)生,基本是單向廣播模式。以學(xué)生為中心的課堂教學(xué)活動中,往往學(xué)生處于教學(xué)活動的中心,教師以平等的身份與學(xué)生進(jìn)行互動;教學(xué)過程強(qiáng)調(diào)了學(xué)生的主動學(xué)習(xí)以及對學(xué)習(xí)主題的深層理解;此時,教師通常扮演咨詢者、輔導(dǎo)者和學(xué)習(xí)動機(jī)激發(fā)者的角色?,F(xiàn)代教學(xué)活動通常強(qiáng)調(diào)師生之間的互動,從而在課堂教學(xué)活動中更有效地進(jìn)行知識傳授,在此過程中,教師需要以一種好的方式和態(tài)度輔助學(xué)生建立自己的認(rèn)知體系。因此,在課堂教學(xué)活動中,教師的“教”和學(xué)生的“學(xué)”是不可分割的重要部分,如何以一種好的教學(xué)方式調(diào)動學(xué)生的積極性是完成一堂優(yōu)質(zhì)課堂教學(xué)的關(guān)鍵。
軟件工程本科專業(yè)的特色主要體現(xiàn)在:實踐性、工程性、系統(tǒng)性、綜合性和復(fù)合型,注重學(xué)生的數(shù)理邏輯基礎(chǔ)、工程實踐能力、軟件作品與溝通技巧等核心能力培養(yǎng)。在本科學(xué)習(xí)階段,由于受到計算機(jī)學(xué)科的迅速發(fā)展和相關(guān)領(lǐng)域知識不熟悉的雙重困擾,學(xué)生學(xué)習(xí)的積極主動性受到約束。同時,學(xué)生通常沒有建立自己的認(rèn)知體系,程序設(shè)計的經(jīng)驗嚴(yán)重不足,這些都約束了學(xué)生的動手能力和口頭表達(dá)能力,很明顯的表現(xiàn)在于課堂教學(xué)過程中不活躍,和教師的互動積極性不高,甚至出現(xiàn)課堂上的消極沉默現(xiàn)象[2][3][4]。
結(jié)合“工作坊”實踐教學(xué)模式和軟件工程專業(yè)課程要求,通過對課堂教學(xué)活動進(jìn)行思考、探索和設(shè)計,在有限的課堂教學(xué)中加強(qiáng)對學(xué)生的引導(dǎo),可以明顯增強(qiáng)學(xué)生主動學(xué)習(xí)的積極性,提高口頭表達(dá)能力和溝通技巧,并進(jìn)一步培養(yǎng)學(xué)生的程序思維能力和團(tuán)隊合作精神。
1 “工作坊”實踐教學(xué)
“工作坊”,也稱為專題研習(xí)工作坊,起源于歐洲的Bauhaus學(xué)院,發(fā)展至今逐漸演變?yōu)橐环N實踐教學(xué)模式。Bauhaus學(xué)院提倡的教育理念是“技術(shù)與藝術(shù)并重”,學(xué)習(xí)過程有如“工廠學(xué)徒制”,學(xué)生身份是“學(xué)徒工”。在教學(xué)過程中,擔(dān)任藝術(shù)形式課程的教師稱為“形式導(dǎo)師”,教授其理論課程,并引導(dǎo)學(xué)生專業(yè)的發(fā)展;而擔(dān)任技術(shù)、手工藝制作課程的教師稱為“工作室?guī)煾怠?,?fù)責(zé)輔導(dǎo)指導(dǎo)其實踐教學(xué)。Bauhaus學(xué)院所形成的教學(xué)方式,形成了教學(xué)、研究、實踐三位一體的現(xiàn)代設(shè)計教育模式:教學(xué)為研究和實踐服務(wù);研究為教學(xué)和實踐提供理論指導(dǎo);實踐為教學(xué)和研究提供驗證。工作坊教學(xué)模式所創(chuàng)建的知識與技術(shù)并重,理論與實踐同步的方式,為學(xué)生提供一個能夠?qū)⑵渌鶎W(xué)理論知識進(jìn)行融會貫通的全過程。
“工作坊”實踐教學(xué)模式強(qiáng)調(diào)以學(xué)生為中心,關(guān)注學(xué)生的需要、內(nèi)在動機(jī),并充分發(fā)揮學(xué)生學(xué)習(xí)的自主性,注重培養(yǎng)學(xué)生發(fā)現(xiàn)和解決問題以及知識和技能的應(yīng)用能力;同時,該教學(xué)模式強(qiáng)調(diào)以多元化的方式來分享和呈現(xiàn)理論聯(lián)系實際的成果,是一種既注重過程又重視結(jié)果的學(xué)習(xí)方式。一般而言,“工作坊”實踐教學(xué)模式是在一名核心的主講人引導(dǎo)下,多個小團(tuán)體通過活動、討論、短講等多種方式,共同探討某個話題?!肮ぷ鞣弧睂嵺`教學(xué)模式的本質(zhì)是促進(jìn)學(xué)生“從做中學(xué)”,符合“實踐-認(rèn)識-再實踐”的認(rèn)識規(guī)律,作為一種教學(xué)途徑,能促進(jìn)教師和學(xué)生之間的互動,增強(qiáng)學(xué)生在課堂教學(xué)中的參與積極性[5]。
2 軟件工程專業(yè)課程“工作坊”實踐教學(xué)設(shè)計
針對軟件工程本科專業(yè)課程,從偏重理論教學(xué)到偏重實驗教學(xué)的角度,選擇“算法設(shè)計與分析”、“Oracle數(shù)據(jù)庫”和“軟件設(shè)計模式”課程,從“工作坊”教學(xué)模式的團(tuán)隊構(gòu)建方式和相應(yīng)教學(xué)方法進(jìn)行了一系列的思考、探索和設(shè)計。
2.1 “算法設(shè)計與分析”課程“工作坊”實踐教學(xué)設(shè)計
“算法設(shè)計與分析”[6]課程是計算機(jī)和軟件工程專業(yè)的重要專業(yè)課,介紹軟件開發(fā)中的典型非數(shù)值計算問題的解法,要求學(xué)生掌握算法的基本原理思想、方法與技術(shù)。如何在有限的教學(xué)時間內(nèi)讓學(xué)生掌握算法的特點以及算法之間的內(nèi)在關(guān)聯(lián)性是教學(xué)重點。以背包問題和0-1背包問題[7]為例,探討“工作坊”實踐教學(xué)設(shè)計的具體內(nèi)容。
背包問題和0-1背包問題要求學(xué)生區(qū)分二者算法差別以及在程序設(shè)計上的約束。因此,可以確定核心知識點:1)背包問題和0-1背包問題的異同,以及問題轉(zhuǎn)換條件;2)二個問題在程序設(shè)計上的差異和轉(zhuǎn)變。在教學(xué)過程中,要求學(xué)生以團(tuán)隊方式圍繞核心知識點準(zhǔn)備材料并在課堂上進(jìn)行講解。具體教學(xué)過程如下:
首先,組織學(xué)習(xí)小團(tuán)隊。采用學(xué)生自愿組合的方式,約束每組4到5個人,有組長和發(fā)言人各一人,要求組長和發(fā)言人不能是同一個人。要求組長負(fù)責(zé)任務(wù)的分工等事務(wù)工作,而發(fā)言人需要匯總材料,準(zhǔn)備內(nèi)容講解的邏輯順序。團(tuán)隊分工的目的一方面是鍛煉學(xué)生的合作精神,另一方面是減輕新內(nèi)容備課的壓力;
其次,多組準(zhǔn)備同一個專題。讓2到3組針對同一個專題組織材料并進(jìn)行講解。雖然知識點會類似,但是,不同的團(tuán)隊組織材料的側(cè)重點會稍有差異,表達(dá)方式也會有不同。采用這種方式,一方面可以讓更多學(xué)生有機(jī)會鍛煉組織能力、口頭表達(dá)能力和邏輯思維能力;另一方面,不同團(tuán)隊講解的內(nèi)容差異性會讓學(xué)生進(jìn)一步加深對問題的全面理解;
最后,教師點評。這也是關(guān)鍵的教學(xué)環(huán)節(jié),教師需要對學(xué)生的材料準(zhǔn)備和課堂講解情況進(jìn)行總結(jié)??偨Y(jié)內(nèi)容一方面需要覆蓋知識點的完整性,另一方面也要對每組講解問題的方式進(jìn)行有限的點評,更多要讓學(xué)生參與進(jìn)行評判。教師點評的目的是引導(dǎo)學(xué)生合理正確的分析和解決問題。
由于合理運用了“工作坊”模式,取得比較理想的課堂教學(xué)效果。比如,經(jīng)過學(xué)生團(tuán)隊之間激烈的討論,認(rèn)為回溯法解決0-1背包問題的程序是錯誤的。因為該程序采用分割物品來計算背包容積的上限,這種計算方式混淆了背包問題的算法程序。相比較教師講解的方式,正是由于學(xué)生的積極參與和探討,才會使得學(xué)生進(jìn)一步加深對算法和程序設(shè)計實現(xiàn)方面更好的理解,也增加了學(xué)生學(xué)習(xí)的興趣和良好的團(tuán)隊合作精神。
在采用工作坊實踐教學(xué)活動中,團(tuán)隊人數(shù)以及同一專題討論組的數(shù)量不能太多。團(tuán)隊人數(shù)太多,部分同學(xué)會完全依賴其他同學(xué)而不參與相關(guān)專題的討論;針對相同的問題,一般安排2到3個團(tuán)隊討論比較適宜,從而可以在一節(jié)課的時間內(nèi)完成全部介紹、討論和點評工作。
2.2 “Oracle數(shù)據(jù)庫”課程“工作坊”實踐教學(xué)設(shè)計
“Oracle數(shù)據(jù)庫”是軟件工程開設(shè)的專業(yè)課程,SQL語言的運用是該課程的一個重點。在教學(xué)過程中設(shè)計兩個任務(wù):1)編寫SQL程序讀取文本文件中的數(shù)據(jù)信息并寫入數(shù)據(jù)庫相應(yīng)表格中,主要強(qiáng)化學(xué)生對于SQL語句,以及函數(shù)、過程和觸發(fā)器等內(nèi)容的熟練掌握程度;2)撰寫實驗報告,要求具備系統(tǒng)開發(fā)的需求分析、程序分析設(shè)計、實現(xiàn)和結(jié)果顯示等內(nèi)容。
根據(jù)教學(xué)計劃進(jìn)度安排,完成實驗和撰寫報告的時間約為一周(課堂教學(xué)課時是10節(jié)課)。在此時間內(nèi),學(xué)生需要熟悉軟件環(huán)境、完成SQL程序編寫并撰寫格式規(guī)范符合要求的實驗報告,具有一定的難度。因此,在教學(xué)過程中,對“工作坊”實踐教學(xué)模式進(jìn)行了有針對性的設(shè)計,具體內(nèi)容如下:
首先,組織小團(tuán)隊。采用學(xué)生自主組隊的方式,不約束團(tuán)隊成員人數(shù),最終團(tuán)隊成員人數(shù)最少的有4個人,最多的有9個人。由于對匯報方式?jīng)]有特定要求,每組只設(shè)置組長一人,方便教師了解團(tuán)隊分工合作的情況以及任務(wù)完成情況;
其次,問題解決。在實踐教學(xué)過程中,對于學(xué)生提出的相關(guān)問題,教師并不直接給出答案,而是指導(dǎo)學(xué)生如何通過網(wǎng)絡(luò)查找相應(yīng)的解決方案,并要求以團(tuán)隊內(nèi)部互相討論的方式確定最終可行的方案。針對具體問題,鼓勵團(tuán)隊成員課后繼續(xù)完善解決方案;
然后,過程檢查。通過和不同團(tuán)隊的交流,教師需要了解每組具體實施情況,挑選在實現(xiàn)內(nèi)容上有特色的團(tuán)隊,不定期安排團(tuán)隊成員進(jìn)行課堂講解,介紹其團(tuán)隊分工、實現(xiàn)程序過程和撰寫報告的思路,并展示相關(guān)的成果信息。比如,針對讀取文本文件和解析數(shù)據(jù)信息這兩個功能方面,安排學(xué)生介紹團(tuán)隊討論確定的程序?qū)崿F(xiàn)內(nèi)容,并演示初步達(dá)到的效果等;
最后,教師點評。教師一方面需要總結(jié)學(xué)生的實現(xiàn)情況,進(jìn)一步明確實驗內(nèi)容和要求;另一方面,教師需要結(jié)合軟件工程發(fā)展要求,建議學(xué)生今后繼續(xù)努力的方向。
綜合課程教學(xué)完成情況,學(xué)生分組形成團(tuán)隊的方式對實踐教學(xué)活動提供一定的借鑒意義。組建團(tuán)隊需要考慮具體的任務(wù)難度和組長領(lǐng)導(dǎo)能力。當(dāng)任務(wù)不是特別重的情況下,每個團(tuán)隊的人數(shù)不能太多。在此次實踐教學(xué)活動中,人數(shù)較少的團(tuán)隊(比如,4個人組成的團(tuán)隊)組織能力比較強(qiáng),編寫程序和撰寫文檔分工都比較明確,合作效果比較好。而部分人數(shù)較多的團(tuán)隊(9個人組成的團(tuán)隊),組長曾抱怨說,什么都是一個人做,其他同學(xué)根本不參與。針對這種情況,教師需要及時了解團(tuán)隊在教學(xué)活動中的反饋信息,當(dāng)出現(xiàn)人員配合程度不高的情況,應(yīng)該解散該團(tuán)隊,重新組隊完成任務(wù)。
在實踐教學(xué)活動中,針對具體問題,教師可以指導(dǎo)學(xué)生掌握解決問題的方法,然后,通過學(xué)生演示的方式有效推廣具體問題的解決方案。該方式一方面可以加強(qiáng)學(xué)生良好的溝通和交流技巧,培養(yǎng)團(tuán)隊精神;另一方面也能極大提高學(xué)生的學(xué)習(xí)熱情,促使學(xué)生能快速掌握相關(guān)知識內(nèi)容。
2.3 “軟件設(shè)計模式”課程“工作坊”實踐教學(xué)設(shè)計
隨著對軟件人才要求的提高,本科教學(xué)階段開設(shè)“軟件設(shè)計模式”課程已經(jīng)是趨勢[8]?!败浖O(shè)計模式”課程內(nèi)容具有高度的抽象性,即使是計算機(jī)或軟件工程專業(yè)的高年級本科學(xué)生,由于缺乏相應(yīng)的項目編程經(jīng)驗,也沒有積累相應(yīng)的代碼數(shù)量,對于課程內(nèi)容的接受也是一個很困難的過程。在課堂講解過程中,即使采用了生動的案例,教師一旦開始對象構(gòu)成和類結(jié)構(gòu)的理論分析,大部分學(xué)生就已經(jīng)不在學(xué)習(xí)狀態(tài)中。學(xué)生提意見說,模式內(nèi)容太抽象,很難理解。針對這種情況,對該課程進(jìn)行“工作坊”實踐教學(xué)設(shè)計,教師調(diào)整了相應(yīng)的教學(xué)方案和授課方式,具體如下:
首先,知識引導(dǎo)。介紹面向?qū)ο蟮幕緝?nèi)容,并深入對軟件設(shè)計原則進(jìn)行講解。因為這部分內(nèi)容和高級語言程序設(shè)計課程結(jié)合的比較緊密,學(xué)生接受程度還是比較好的;
其次,建立概念。對于具體的軟件設(shè)計模式,教師介紹一些特點和運用場景,通過解釋相應(yīng)的類結(jié)構(gòu)關(guān)系,讓學(xué)生初步建立相應(yīng)的概念模型;
然后,強(qiáng)化運用。提供計算機(jī)專業(yè)的畢業(yè)論文題目,讓學(xué)生選擇比較熟悉的題目,針對部分模塊進(jìn)行程序的分析和設(shè)計,并完成設(shè)計模式實驗報告。該實驗報告作為課程分?jǐn)?shù)的主要依據(jù),要求學(xué)生構(gòu)造出相應(yīng)的類結(jié)構(gòu)圖,并說明使用的設(shè)計原則和設(shè)計模式;
最后,學(xué)生講解和教師點評。通過了解學(xué)生的實驗情況,教師選擇適當(dāng)?shù)膶嶒瀳蟾?,讓學(xué)生進(jìn)行設(shè)計過程和思路的講解。教師則對講解內(nèi)容進(jìn)行合理引導(dǎo),對學(xué)生構(gòu)建的設(shè)計模式進(jìn)行分析,從而可以讓學(xué)生深入掌握設(shè)計原則和設(shè)計模式的運用和構(gòu)建過程。
綜合課程實踐教學(xué)過程,通過讓學(xué)生先思考,然后再引導(dǎo)學(xué)生的方式,提高了學(xué)生對授課內(nèi)容的關(guān)注度,也加深了對設(shè)計模式中對象構(gòu)建和類結(jié)構(gòu)模型的理解。單純采用案例教學(xué)的效果并不是很理想,可能存在的原因之一是所選擇的案例和學(xué)生自身的關(guān)聯(lián)性不高,學(xué)生的關(guān)注度不會長久集中;原因之二是案例內(nèi)容過于狹窄,學(xué)生幾乎不需要思考就知道怎么劃分相應(yīng)的對象并構(gòu)建類結(jié)構(gòu),從而降低了學(xué)習(xí)的興趣。
“工作坊”課堂實踐教學(xué)并不是一成不變,而是需要根據(jù)教學(xué)內(nèi)容和不同學(xué)生的接受情況進(jìn)行調(diào)整和設(shè)計。即使同一門課程,學(xué)生接受能力不同,實際教學(xué)方式還是需要進(jìn)行相應(yīng)地調(diào)整和設(shè)計優(yōu)化。在學(xué)生進(jìn)行課程講解的過程中,也是教師學(xué)習(xí)的過程。通過觀察學(xué)生準(zhǔn)備的材料、課件風(fēng)格以及知識點的表達(dá)方式,教師可以在一定程度上了解學(xué)生對類似問題的掌握程度,也對學(xué)生接受方式有一定了解,從而在后續(xù)的備課中更有側(cè)重點。同時,采用多個小組討論同一問題,從學(xué)生關(guān)注的側(cè)重點和表達(dá)的理論深度,教師也可以了解學(xué)生的自學(xué)能力和對相關(guān)知識點的熟悉程度,可以更全面了解學(xué)生的整體素質(zhì)。通過“工作坊”教學(xué)活動中獲取的學(xué)生反饋信息是調(diào)整相應(yīng)教學(xué)方案的重要依據(jù),也是檢驗教師課堂實踐教學(xué)活動的標(biāo)準(zhǔn)之一。
3 結(jié)束語
郭沫若說:“教學(xué)的目的是培養(yǎng)學(xué)生自己學(xué)習(xí),自己研究,用自己的頭腦來想,用自己的眼睛看,用自己的手來做這種精神?!?/p>
為了提高學(xué)生參與教學(xué)活動的積極性,也為了更好進(jìn)行實踐教學(xué),針對軟件工程專業(yè)課程的特點,分析探討了“工作坊”實踐教學(xué)模式,提出一些可行的專業(yè)課程“工作坊”實踐教學(xué)設(shè)計方案。設(shè)計方案分析了學(xué)習(xí)團(tuán)隊的構(gòu)建以及運用于團(tuán)隊精神的培養(yǎng),其中成員人數(shù)和組長領(lǐng)導(dǎo)能力是組建團(tuán)隊需要考慮的因素;引導(dǎo)建立學(xué)生掌握解決問題的方法并討論確定解決方案的方式,鍛煉學(xué)生邏輯思維能力,提高溝通技巧;采用讓學(xué)生先思考和練習(xí),教師再引導(dǎo)的方式來加強(qiáng)學(xué)生對知識點的理解和掌握,可以有效培養(yǎng)和建立學(xué)生自己的認(rèn)知體系;通過多個學(xué)習(xí)團(tuán)隊討論同一個專題的方式,教師了解學(xué)生的學(xué)習(xí)情況,并依據(jù)反饋信息調(diào)整相應(yīng)的教學(xué)設(shè)計方案。教學(xué)效果表明,良好的“工作坊”實踐教學(xué)設(shè)計方案可以有效培養(yǎng)學(xué)生創(chuàng)造性的思維和良好的口頭表達(dá)能力,在增強(qiáng)團(tuán)隊合作精神的同時也進(jìn)一步加強(qiáng)學(xué)生的觀察、分析和解決問題的能力。
參考文獻(xiàn):
[1] 課堂教學(xué)模式分類[EB/OL]. http://wenku.baidu.com/view/0acdb692daef5ef7ba0d3c45.html. May, 2013.
[2] 魏平.對大學(xué)課堂教學(xué)的思考[J].科技信息,2010(30): 396.
[3] 李學(xué),胡石其,李炳煌.大學(xué)課堂教學(xué)研究十年: 進(jìn)展與反思[J].湖南科技大學(xué)學(xué)報,社會科學(xué)版,2012, 15(3).
[4] 王健,張靜.大學(xué)英語課堂沉默現(xiàn)象的解析與對策[J].中國大學(xué)教學(xué), 2008(1): 81-84.
[5] 肖紅. “翻譯作坊” 在翻譯教學(xué)中的運用[J]. 四川外語學(xué)院學(xué)報,2005, 21(1): 139-142.
[6] 鄭紅,邵志清,符海波. “算法設(shè)計與分析” 課程教學(xué)改革初探[J].計算機(jī)教育, 2008 (014): 29-30.
[7] 王曉東.計算機(jī)算法設(shè)計與分析[M]. 3版.北京:電子工業(yè)出版社, 2007.
[8] 張利軍.開設(shè)設(shè)計模式課程的探討[J].計算機(jī)教育, 2010(4): 66-68.