李建伏 沈中林 衡紅軍
摘要:面向?qū)ο蟪绦蛟O(shè)計(jì)的傳統(tǒng)教育模式使得學(xué)生與企業(yè)真實(shí)需求之間存在巨大差異。案例教學(xué)法理論上能在一定程度上解決理論與實(shí)際銜接的問(wèn)題,但其實(shí)施效果卻取決于所采用的案例。結(jié)合我校的行業(yè)背景,從構(gòu)思實(shí)際民航信息系統(tǒng)中涉及的工程問(wèn)題出發(fā),研究案例教學(xué)法在面向?qū)ο蟪绦蛟O(shè)計(jì)課程中的應(yīng)用,并分析了其存在的問(wèn)題。
關(guān)鍵詞:面向?qū)ο蟪绦蛟O(shè)計(jì);案例教學(xué)法;民航特色
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.3969/j.issn.1003-6970.2015.03.010
本文著錄格式:李建伏,沈中林,衡紅軍,案例教學(xué)法在面向?qū)ο蟪绦蛟O(shè)計(jì)課程中的應(yīng)用[J],軟件,2015,36(3):48-51
0.引言
面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言c++具有更高的代碼可重用性、可擴(kuò)充性和易維護(hù)等特點(diǎn),是開發(fā)大型軟件的主流方法。市場(chǎng)對(duì)c++高級(jí)應(yīng)用人才的需求也是非常強(qiáng)勁。從國(guó)際發(fā)展情況下,中國(guó)從事計(jì)算機(jī)軟件開發(fā)的人才遠(yuǎn)遠(yuǎn)低于發(fā)達(dá)國(guó)家,而近幾年難就業(yè)一直籠罩著計(jì)算機(jī)專業(yè)。一面是就業(yè)難,一面又是企業(yè)招人難,出現(xiàn)這種矛盾的一個(gè)重要原因是傳統(tǒng)教育模式與企業(yè)真實(shí)需求之間存在巨大差異。
面向?qū)ο蟪绦蛟O(shè)計(jì)的學(xué)習(xí)是非常需要挑戰(zhàn)性的,需要學(xué)生將所學(xué)理論知識(shí)內(nèi)化為實(shí)際的編程處理問(wèn)題的能力。加上面向?qū)ο蟮某绦蛟O(shè)計(jì)方法與人們?nèi)粘G蠼鈫?wèn)題所采取的思路不同,其中涉及的感念晦澀難懂。因此,傳統(tǒng)教學(xué)中往往花費(fèi)大量的時(shí)間通過(guò)一個(gè)個(gè)短小精悍的例子來(lái)讓學(xué)生體會(huì)每個(gè)知識(shí)點(diǎn)的用法。傳統(tǒng)教學(xué)法過(guò)分強(qiáng)調(diào)每個(gè)知識(shí)點(diǎn)的用法,卻忽略了學(xué)生思維方式的培養(yǎng)。而思維方式的培養(yǎng)相對(duì)于零散知識(shí)點(diǎn)的用法要重要的多。因此,傳統(tǒng)的這種本末倒置的教學(xué)方法導(dǎo)致的最終結(jié)果就是產(chǎn)生了精通每個(gè)知識(shí)點(diǎn),但不知道如何運(yùn)用這些知識(shí)點(diǎn)求解問(wèn)題的“溫室里的學(xué)生”。如何根據(jù)面向?qū)ο蟪绦蛟O(shè)計(jì)課程的特點(diǎn),設(shè)計(jì)相應(yīng)的教學(xué)方法以培養(yǎng)學(xué)生的面向?qū)ο蟮乃季S方式和提高學(xué)生的實(shí)踐工程能力是面向?qū)ο蟪绦蛘n程教學(xué)的一個(gè)難題。
目前各高校對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)課程進(jìn)行了大量的改革,一般的思路是加強(qiáng)實(shí)踐教學(xué)環(huán)節(jié)建設(shè),如近年來(lái)倡導(dǎo)的案例教學(xué)。理論上案例教學(xué)法能在一定程度上解決理論與實(shí)際銜接的問(wèn)題,但是其實(shí)施效果取決于案例的選擇。
案例的選擇要考慮學(xué)生的需求,只有滿足學(xué)生需求的案例才能真正激發(fā)學(xué)生的學(xué)習(xí)熱情從而達(dá)到教學(xué)效果。隨著民航業(yè)信息化進(jìn)程的不斷推進(jìn),民航業(yè)對(duì)軟件開發(fā)人員的需求也在逐年增加。作為民航大學(xué)的計(jì)算機(jī)學(xué)院的學(xué)生,將來(lái)會(huì)有大部分進(jìn)入民航行業(yè)。所以,學(xué)生渴望了解民航,了解自己專業(yè)在民航領(lǐng)域所起的作用。而目前課程上的教學(xué)案例都是通用的案例,與民航行業(yè)脫節(jié)。
因此,針對(duì)我院的行業(yè)背景,根據(jù)實(shí)際民航信息系統(tǒng)中涉及的工程問(wèn)題構(gòu)造案例,采用案例教學(xué)法組織教學(xué)以提高面向?qū)ο蟪绦蛟O(shè)計(jì)課程的教學(xué)質(zhì)量和提升學(xué)生工程實(shí)踐能力。
1.改革措施
1.1案例的選擇
近年來(lái),隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的廣泛應(yīng)用,人們的衣食住行都離不開網(wǎng)絡(luò)。城市交通網(wǎng)絡(luò)的不斷完善,使得從出發(fā)地到目得地有多種公交換乘方案可供選擇,為人們出行帶來(lái)了便利。另一方面,選擇多了,人們往往不知道該選擇哪一種換乘方案。因此需要希望由計(jì)算機(jī)能自動(dòng)計(jì)算出滿足出行者需要的換乘方案。因此,出現(xiàn)了各種地圖服務(wù)網(wǎng)站,如百度地圖。各種地圖服務(wù)網(wǎng)站給人們帶來(lái)了巨大的便利,使得出行者無(wú)論到城市的哪里都能做到心中有數(shù)。地圖導(dǎo)航已經(jīng)是人們離不開的工具了,學(xué)生也不例外,不管他們是外出還是在本市出行,都會(huì)不自覺(jué)地到地圖服務(wù)網(wǎng)站查看一下。在國(guó)內(nèi),鐵路總公司也在他們的12306網(wǎng)站上提供了國(guó)內(nèi)到各個(gè)地方的乘坐火車的換乘方案。隨著近年來(lái)民航業(yè)的快速發(fā)展,航線網(wǎng)絡(luò)也得到了快速發(fā)展。人們乘坐飛機(jī)出行也會(huì)有多種可行方案。但是,現(xiàn)在航班換乘方案查不到。由于航班是由各個(gè)獨(dú)立的航空公司自行經(jīng)營(yíng),同行是冤家,沒(méi)有一個(gè)航空公司會(huì)將其競(jìng)爭(zhēng)對(duì)手的換乘方案提供給旅客。因此,在航空公司網(wǎng)站查到的只是某個(gè)航空公司的航班換乘。因此,應(yīng)該由一個(gè)第三方中立機(jī)構(gòu)來(lái)提供基于航班換乘的地圖服務(wù)。但是目前,我國(guó)還沒(méi)有這樣的機(jī)構(gòu)來(lái)開發(fā)出這樣的航線推薦系統(tǒng)。正是目前國(guó)內(nèi)民航研究的一個(gè)熱點(diǎn)問(wèn)題。作為中國(guó)民航大學(xué)的計(jì)算機(jī)專業(yè)的學(xué)生,有義務(wù)來(lái)開發(fā)這樣的系統(tǒng)。如果學(xué)生真的開發(fā)出了這樣的系統(tǒng),他們?cè)撚卸嗝醋院馈?/p>
因此,我們選擇的案例為基于航線網(wǎng)絡(luò)的出行方案推薦系統(tǒng)設(shè)計(jì)。
1.2案例的構(gòu)造
根據(jù)課程的知識(shí)點(diǎn)分布情況,首先將基于航線網(wǎng)絡(luò)的出行方案推薦系統(tǒng)的設(shè)計(jì)簡(jiǎn)化為一個(gè)簡(jiǎn)單的問(wèn)題,然后運(yùn)用新的知識(shí)點(diǎn)逐漸豐富系統(tǒng)功能,直至達(dá)到系統(tǒng)目標(biāo)。具體如下。
面向?qū)ο蟪绦蛟O(shè)計(jì)整體課程主要包括類的三大特性,即封裝性、繼承性和多態(tài)性。在介紹類的封裝性時(shí)主要涉及類的定義,類的成員函數(shù)的寫法,構(gòu)造函數(shù)、析構(gòu)函數(shù)等知識(shí)點(diǎn),類的繼承性包括派生類的定義,派生類訪問(wèn)規(guī)則、賦值兼容規(guī)則等知識(shí)點(diǎn),類的多態(tài)性(運(yùn)算符重載、虛函數(shù))。
在介紹類的封裝性時(shí)以航線網(wǎng)絡(luò)的定義及使用為案例,即案例一。為了簡(jiǎn)單起見(jiàn),此時(shí)的航線網(wǎng)絡(luò)只包括機(jī)場(chǎng)的物理位置,不體現(xiàn)航班的時(shí)刻表信息,即如果兩個(gè)城市之間有直達(dá)的航班,則與兩個(gè)城市對(duì)應(yīng)的節(jié)點(diǎn)上存在一條邊。通過(guò)此類的設(shè)計(jì),可以讓學(xué)生體會(huì)類的定義。當(dāng)在main函數(shù)中,通過(guò)調(diào)用該類某對(duì)象的path函數(shù)得到是兩個(gè)機(jī)場(chǎng)之間的路徑,而不是具體的航班換乘方案。因此,進(jìn)一步將問(wèn)題細(xì)化。
當(dāng)課程進(jìn)行到類的繼承性時(shí),在案例一中定義的一般航線網(wǎng)絡(luò)的基礎(chǔ)上派生出一個(gè)特殊類,即增加航班的出發(fā)時(shí)刻,以及到下一個(gè)城市所經(jīng)歷的時(shí)間(案例二)。進(jìn)而,以path函數(shù)為例說(shuō)明虛函數(shù)的用法,以運(yùn)算符“<<”的重載函數(shù)為例說(shuō)明運(yùn)算符重載函數(shù)的用法。
1.3組織實(shí)施
(1)在介紹完面向?qū)ο蟮幕靖拍钪?,首先由教師提出設(shè)計(jì)任務(wù)——基于航線網(wǎng)絡(luò)的出行方案推薦系統(tǒng)設(shè)計(jì)。仔細(xì)介紹本項(xiàng)研究的目的意義,以及實(shí)現(xiàn)目標(biāo)。并向?qū)W生演示具有類似功能的網(wǎng)站。在這個(gè)內(nèi)容實(shí)施時(shí),除了把設(shè)計(jì)目標(biāo)介紹清楚外,還應(yīng)該多用一些“鼓動(dòng)”性的話,促使學(xué)生產(chǎn)生躍躍欲試、摩拳擦掌的熱情。
(2)教師由簡(jiǎn)單到容易,逐步分解任務(wù),將整體任務(wù)劃分為一個(gè)個(gè)體現(xiàn)面向?qū)ο蟪绦蛟O(shè)計(jì)方法中知識(shí)點(diǎn)的小任務(wù),通過(guò)介紹這些小任務(wù)的完成方案來(lái)介紹其中的每個(gè)知識(shí)點(diǎn)。這樣整個(gè)任務(wù)就是一串珍珠項(xiàng)鏈,其中的每個(gè)知識(shí)點(diǎn)就是其中的每個(gè)珍珠。比如在定義一般航線網(wǎng)絡(luò)的定義時(shí),首先問(wèn)同學(xué)一個(gè)航線網(wǎng)絡(luò)該有什么特征,然后介紹怎么定義類來(lái)體現(xiàn)航線網(wǎng)絡(luò)的這些特征。通過(guò)這種方式,學(xué)生學(xué)到的不再是枯燥的語(yǔ)法知識(shí),而更重要的是在面臨具體問(wèn)題時(shí)怎么設(shè)計(jì)類。
(3)由于課堂上的時(shí)間有限,由于課堂上除了介紹知識(shí)點(diǎn)之外,還需要花費(fèi)很多時(shí)間來(lái)完成實(shí)際任務(wù)的求解。因此,將一些不太影響全局的知識(shí)留給同學(xué)課下通過(guò)看書、上網(wǎng)查閱資料來(lái)完成。如成員函數(shù)的各種定義方法等。
(4)如果只是在課堂上老師幫助設(shè)計(jì),沒(méi)有學(xué)生的實(shí)際參與,隨著時(shí)間的流逝,學(xué)生的設(shè)計(jì)熱情就會(huì)下降。因此,課下鼓勵(lì)同學(xué)自己來(lái)豐富類,給類增添一些必要的屬性及功能。等到學(xué)期末時(shí),通過(guò)評(píng)比,選出一些功能完善、可用性強(qiáng)、輸出美化的作品,發(fā)布到本課程的教學(xué)管理平臺(tái)上展出。
2.實(shí)施效果評(píng)價(jià)
通過(guò)采用上述案例教學(xué)方法,取得的效果較為明顯,主要包括以下幾方面:
(1)班級(jí)不及格率下降。在采用上述教學(xué)法之后,班級(jí)不及格率明顯下降,由原來(lái)的20%下降到15%;
(2)學(xué)生的學(xué)習(xí)主動(dòng)性、學(xué)習(xí)的熱情提高了。經(jīng)常有學(xué)生與教師探討他們?cè)诰W(wǎng)上發(fā)現(xiàn)的、而課本上沒(méi)有的知識(shí)點(diǎn),這說(shuō)明學(xué)生不再是純粹的接受知識(shí)。
(3)學(xué)生的工程能力能夠得到一定的鍛煉。通過(guò)這樣一個(gè)工程性的教學(xué)案例,學(xué)生學(xué)到的不在是一個(gè)個(gè)孤立的知識(shí)點(diǎn),而是面對(duì)實(shí)際問(wèn)題時(shí)的設(shè)計(jì)思路。
3.存在的問(wèn)題
在面向?qū)ο蟪绦蛘n程中實(shí)施案例教學(xué)法時(shí)遇到了下列問(wèn)題:
(1)基礎(chǔ)差的同學(xué)容易自暴自棄。面向?qū)ο蟪绦蛟O(shè)計(jì)課程是建立在上一學(xué)期程序設(shè)計(jì)基礎(chǔ)課程之上的而第二個(gè)學(xué)期的面向?qū)Τ沙绦蛟O(shè)計(jì)是建立在第一學(xué)期學(xué)習(xí)的基礎(chǔ)之上的。相對(duì)于傳統(tǒng)的教學(xué)方法,案例教學(xué)法對(duì)程序設(shè)計(jì)基本理論的介紹要少得多。如果第一學(xué)期學(xué)生的基礎(chǔ)差,則這些同學(xué)就容易放棄。
(2)花費(fèi)更多的時(shí)間。在采用案例教學(xué)法時(shí)需要花費(fèi)一定的時(shí)間介紹案例、分析案例。因此會(huì)花費(fèi)更多的時(shí)間。
(3)考試不合理。目前的考試更多的是對(duì)知識(shí)點(diǎn)的考核,并沒(méi)有體現(xiàn)學(xué)生的設(shè)計(jì)能力。因此,考試結(jié)果不能很好的體現(xiàn)學(xué)生的學(xué)習(xí)效果。
(4)案例需要與時(shí)俱進(jìn)。只有滿足時(shí)代特征的案例才能吸引學(xué)生。因此,需要教師了解學(xué)術(shù)領(lǐng)域的前沿,不斷地設(shè)計(jì)新的教學(xué)案例。
4.結(jié)束語(yǔ)
本文針對(duì)我校的行業(yè)背景,從構(gòu)思實(shí)際民航信息系統(tǒng)中涉及的工程問(wèn)題出發(fā),設(shè)計(jì)相應(yīng)的案例,研究案例教學(xué)法在面向?qū)ο蟪绦蛟O(shè)計(jì)課程的應(yīng)用。實(shí)踐證明,該教學(xué)方法能有效激發(fā)學(xué)習(xí)者的學(xué)習(xí)興趣和實(shí)踐積極性,在較短的學(xué)時(shí)內(nèi)能完成原定的教學(xué)任務(wù),顯著提高課程的教學(xué)效果和質(zhì)量。