(大連大學(xué) 信息工程學(xué)院,遼寧 大連 116622)
信息化時代,程序開發(fā)是理工科研究生從事科學(xué)研究和實(shí)際工作應(yīng)具備的基本技能。近年來,信息工程學(xué)院招收的非計算機(jī)專業(yè)的研究生在本科階段大多選修了結(jié)構(gòu)化程序設(shè)計語言課程,如C語言。因此,他們具備基本的編程技能,但對于主流的面向?qū)ο缶幊趟枷?,多?shù)學(xué)生在本科階段并沒有學(xué)習(xí)。
《面向?qū)ο蠹夹g(shù)》是我校針對信息工程學(xué)院非計算機(jī)專業(yè)的研究生開設(shè)的一門專業(yè)選修課程,旨在讓非計算機(jī)專業(yè)的研究生掌握面向?qū)ο蟮木幊汤砟詈兔嫦驅(qū)ο蟪绦蜷_發(fā)技能,這對學(xué)生今后的科研和工作大有益處。
《面向?qū)ο蠹夹g(shù)》是一門實(shí)踐性很強(qiáng)的課。在以往的教學(xué)中,我們側(cè)重理論講解,教學(xué)內(nèi)容和教學(xué)模式上存在許多問題,主要表現(xiàn)為:一是,大量的課時用于理論講解,忽視了對學(xué)生實(shí)踐技能的培養(yǎng)。二是,學(xué)生對填鴨式的理論學(xué)習(xí)缺乏興趣,學(xué)習(xí)效果大打折扣。針對上述問題,我們進(jìn)行了反思和改革,重新設(shè)計了教學(xué)內(nèi)容和教學(xué)模式。
以往,我們在教學(xué)中主要是講解面向?qū)ο蠡舅枷牒蚒ML(United Model Language,統(tǒng)一建模語言)的使用。36學(xué)時的課程下來,學(xué)生雖然掌握了面向?qū)ο蠹夹g(shù)的原理,但不會在實(shí)踐中運(yùn)用。為了實(shí)現(xiàn)“學(xué)為所用”,我們重新設(shè)計了教學(xué)內(nèi)容,編寫了新的教學(xué)大綱。
改革后的教學(xué)內(nèi)容包含理論學(xué)習(xí)和項(xiàng)目實(shí)踐兩個方面。這兩部分在實(shí)際教學(xué)中并不是相互孤立的,而是相互融合。面向?qū)ο蠹夹g(shù)涉及的原理和知識點(diǎn)很多,不可能在課堂上面面俱到的講解。同時,研究生已具備一定的自學(xué)能力,很多內(nèi)容完全可以在課下自行學(xué)習(xí)。因此,我們選取最重要的知識點(diǎn)作為理論教學(xué)內(nèi)容。重點(diǎn)抓住類、對象、封裝、繼承、多態(tài)性等知識點(diǎn),同時,簡要介紹C++的基本語法和UML的基本使用。這些內(nèi)容作為課程的理論先導(dǎo)部分,屬于純理論教學(xué),只分配6個學(xué)時,每個知識點(diǎn)都有相應(yīng)的課堂測試題目作為學(xué)習(xí)效果的檢驗(yàn)。理論先導(dǎo)部分之后是課程實(shí)踐部分,在這一部分,每次課堂教學(xué)都圍繞具體的實(shí)踐項(xiàng)目,同時,點(diǎn)明所涉及的知識點(diǎn),目的是培養(yǎng)學(xué)生實(shí)踐能力,將所學(xué)和所用結(jié)合起來。
在項(xiàng)目實(shí)踐部分,我們在教學(xué)內(nèi)容設(shè)計上側(cè)重如下三個方面。
一是,學(xué)生在開始學(xué)習(xí)面向?qū)ο缶幊虝r,總是習(xí)慣性的回到面向過程的編程方法。為此,我們設(shè)計實(shí)踐項(xiàng)目,讓給出面向過程的編程實(shí)現(xiàn),然后讓學(xué)生使用面向?qū)ο笏枷雽Τ绦蜻M(jìn)行改寫,幫助學(xué)生進(jìn)行編程思想上的轉(zhuǎn)變。
二是,設(shè)計小型課堂演練項(xiàng)目,輔助主要知識點(diǎn)的理解和掌握,以及綜合實(shí)踐能力的培養(yǎng)。例如,為了幫助學(xué)生掌握派生類,以及構(gòu)造函數(shù)和析構(gòu)函數(shù)的使用,要求學(xué)生編寫一個點(diǎn)類Point,然后由它派生線段類Line,并演示構(gòu)造函數(shù)、析構(gòu)函數(shù)的作用和調(diào)用順序,畫出line類的UML圖。
三是,設(shè)計綜合性實(shí)踐項(xiàng)目——學(xué)生成績管理,通過實(shí)現(xiàn)學(xué)生成績的統(tǒng)計、查詢、刪除以及文件存取等操作,培養(yǎng)學(xué)生綜合所學(xué)知識點(diǎn)解決實(shí)際問題的能力。
我們共設(shè)計了5個設(shè)計題目[1],前4個設(shè)計主要檢驗(yàn)學(xué)生某幾項(xiàng)知識點(diǎn)的綜合使用,同時,引導(dǎo)學(xué)生建立面向?qū)ο蟮乃季S方法。最后一個設(shè)計是一個綜合設(shè)計項(xiàng)目,幾乎涵蓋所學(xué)的全部知識點(diǎn)。此外,我們還將綜合設(shè)計項(xiàng)目進(jìn)行了分解,并將這個綜合設(shè)計項(xiàng)目中涉及到的知識點(diǎn)融合到基本理論的講解中。
該課程共36學(xué)時。我們?yōu)樾碌慕虒W(xué)內(nèi)容編制了教學(xué)大綱。表1是教學(xué)大綱的概要。
表1 教學(xué)大綱概要
以往的教學(xué)模式是以老師講解為主,課堂氣氛沉悶,學(xué)生主動性不強(qiáng)。本次教改中,我們要讓學(xué)生成為課堂的主體。由于研究生已具備較好的學(xué)習(xí)能力,因此,教師完全可以只授之以漁而非授之以魚。即,采取學(xué)生課下自學(xué),課上互動,教師引導(dǎo)的教學(xué)模式。重點(diǎn)如下:
(1)課下自學(xué)與課上測試
在以往授課中,課堂學(xué)習(xí)以教師講解為主,這種授課方式不利于學(xué)生主動性的發(fā)揮。我們發(fā)現(xiàn),聽老師講解知識點(diǎn)時,學(xué)生的興趣并不高,可一旦拋出某個問題讓大家搶答時,往往課堂氛圍一下子活躍起來,這說明學(xué)生更愿意運(yùn)用所學(xué)的知識點(diǎn)解決問題而不是單純的知識點(diǎn)記憶。為此,我們一改傳統(tǒng)的老師講解為主的教學(xué)模式,將每節(jié)課的知識點(diǎn)以課下閱讀材料的形式發(fā)給大家,學(xué)生通過自學(xué)掌握知識點(diǎn)。課堂上,老師只花少量的時間對本次課的知識點(diǎn)進(jìn)行串講和總結(jié),然后用事先準(zhǔn)備好的測試題目考核學(xué)生對知識點(diǎn)的掌握程度,再對普遍存在問題的地方,進(jìn)行糾正和詳細(xì)講解。這種方式不僅能調(diào)動學(xué)生學(xué)習(xí)的積極性,同時,也有助于學(xué)生了解自身學(xué)習(xí)中存在的問題。
(2)項(xiàng)目跟進(jìn)式教學(xué)模式
面向?qū)ο蠹夹g(shù)是要學(xué)生掌握面向?qū)ο蟮某绦蛟O(shè)計原理,將這種程序設(shè)計理念運(yùn)用到實(shí)際編程中。以往的教學(xué)只側(cè)重面向?qū)ο罄碚搶W(xué)習(xí),教師投入大量的時間在課堂上講解理論,學(xué)生雖然掌握了這一理論,但如何在實(shí)際項(xiàng)目開發(fā)中運(yùn)用這一理論卻不得到很好的認(rèn)證,這不利用學(xué)生實(shí)踐能力的培養(yǎng)。本次教改,我們一改以往理論教學(xué)為主的教學(xué)模式,將理論學(xué)習(xí)與編程實(shí)踐相結(jié)合,將理論知識點(diǎn)的學(xué)習(xí)放到課下自學(xué),將大部分的課堂學(xué)習(xí)時間留給動手實(shí)踐。教師在課堂上拋出針對知識點(diǎn)的單項(xiàng)測試性項(xiàng)目或綜合運(yùn)用性項(xiàng)目,讓學(xué)生真正動手編程實(shí)踐,培養(yǎng)學(xué)生運(yùn)用所學(xué)知識解決實(shí)際問題的能力。
(3)要求學(xué)生自帶筆記本電腦進(jìn)課堂
在筆記本電腦普及的今天,幾乎所有學(xué)生都有筆記本電腦,因此,我們要求學(xué)生上課自帶筆記本電腦。這一要求是為滿足課堂測試和課堂演練項(xiàng)目的教學(xué)需求。有了筆記本電腦,教師可以在課堂上隨時布置知識點(diǎn)考核題目或編程演練項(xiàng)目,及時了解學(xué)生對知識點(diǎn)的運(yùn)用能力和綜合解決問題的能力。帶筆記本進(jìn)課堂是實(shí)施課堂測試和項(xiàng)目跟進(jìn)式教學(xué)模式的硬件保障,保障學(xué)生對所學(xué)知識點(diǎn)隨學(xué)隨用,激發(fā)學(xué)生的學(xué)習(xí)興趣,提高動手實(shí)踐能力。
(4)采取小組協(xié)作的形式
由于課堂時間有限,一些綜合性項(xiàng)目不可能在課堂上單人完成。為此,我們將學(xué)生分成3~5人的小組。老師在課堂上公布題目后,每組組長組織大家進(jìn)行分析、設(shè)計、模塊分解和對接,每個組員實(shí)現(xiàn)各自的編程任務(wù)。對于課堂演練項(xiàng)目,如表1中的序號5——辨別真?zhèn)螁栴}的課堂演練,可在一次課程中協(xié)作完成。對于綜合性小型項(xiàng)目,如表1中的序號9——學(xué)生成績管理,課時通??刂圃?學(xué)時,由于設(shè)計內(nèi)容較多,需要組員利用課下時間繼續(xù)協(xié)作,共同完成,最后再以小組匯報的形式展示給大家。教師在課堂上對各組項(xiàng)目進(jìn)展進(jìn)行及時把關(guān)和指導(dǎo)。通過小組協(xié)商,分模塊進(jìn)行,不僅可以讓學(xué)生對項(xiàng)目實(shí)踐有整體認(rèn)識,同時,也鍛煉學(xué)生團(tuán)隊協(xié)作能力。
針對研究生具有較高的學(xué)習(xí)能力這一特點(diǎn),此次教改,我們壓縮了教學(xué)中的理論講解部分,加大了項(xiàng)目實(shí)踐部分。從整體教學(xué)內(nèi)容來看,教學(xué)起點(diǎn)較高、覆蓋面廣、知識含量大,在有限的課時內(nèi)盡可能的提升了學(xué)生實(shí)踐技能的培養(yǎng),使本課程與常見的本科教學(xué)區(qū)別開來,更符合研究生這一學(xué)生群體的授課對象。教學(xué)模式上更加開放靈活,充分發(fā)揮學(xué)生潛能,鍛煉學(xué)生的實(shí)踐能力和協(xié)作能力。