崔波++劉靖
摘 要:針對數(shù)據(jù)庫原理與應(yīng)用課程理論性和綜合性較強(qiáng),且理論和實踐脫節(jié)的現(xiàn)狀,分析了以往教學(xué)中存在的問題以及“大作業(yè)驅(qū)動”在數(shù)據(jù)庫原理和應(yīng)用課程中應(yīng)用的必要性,提出了以“大作業(yè)驅(qū)動”的理念為指導(dǎo)的課程教學(xué)方法,通過強(qiáng)化實踐操作,促進(jìn)學(xué)生對課程理論知識和方法的理解,培養(yǎng)學(xué)生掌握開發(fā)信息管理系統(tǒng)的技術(shù)和獨立開發(fā)的能力,在本科教學(xué)中取得了較好的成果。
關(guān)鍵詞:數(shù)據(jù)庫原理與應(yīng)用 大作業(yè)驅(qū)動 實踐教學(xué)
數(shù)據(jù)庫原理與應(yīng)用是計算機(jī)應(yīng)用的重要分支,它是一門理論性強(qiáng)的課程,同時又具有極強(qiáng)的應(yīng)用性,是學(xué)習(xí)軟件工程、信息資源管理、電子商務(wù)、WEB開發(fā)技術(shù)、人工智能等的重要基礎(chǔ)課程。在課程的學(xué)習(xí)過程中,一方面要求學(xué)生掌握數(shù)據(jù)庫的基本概念和架構(gòu)、了解數(shù)據(jù)庫管理系統(tǒng)基本的實現(xiàn)技術(shù)以及熟練掌握操縱數(shù)據(jù)庫的語言SQL;另一方面,要求學(xué)生通過開發(fā)數(shù)據(jù)庫管理系統(tǒng),在實踐中認(rèn)識和學(xué)習(xí)數(shù)據(jù)庫。數(shù)據(jù)庫在相關(guān)課程中呈現(xiàn)出橋梁性質(zhì),具有承上啟下的作用。課程的開設(shè)和學(xué)習(xí)對于計算機(jī)專業(yè)學(xué)生,尤其是計算機(jī)專業(yè)本科學(xué)生整個專業(yè)知識體系的形成和擴(kuò)展具有十分重要的基礎(chǔ)作用,是關(guān)系到計算機(jī)專業(yè)合格人才培養(yǎng)的帶有全局性的重要基礎(chǔ)性課程。因此,在高校開設(shè)數(shù)據(jù)庫原理與應(yīng)用課程,對于我國軟件人才的培養(yǎng),以及信息化程度的提高有著重要的現(xiàn)實意義。
由于數(shù)據(jù)庫原理和應(yīng)用課程內(nèi)容的特點是概念多、綜合性強(qiáng),對低年級本科層次學(xué)生來說,授課內(nèi)容比較枯燥,SQL語句的上機(jī)練習(xí)也是比較單調(diào),即使基礎(chǔ)知識搞懂了、SQL語句練習(xí)得也差不多了,最后在實踐設(shè)計開發(fā)管理系統(tǒng)的時候,又不知道如何入手。因此,怎樣講授課堂內(nèi)容,讓學(xué)生更好的理解枯燥的理論,掌握基本的管理系統(tǒng)的設(shè)計和開發(fā)技術(shù),真正做到理論和實踐的有機(jī)結(jié)合,是數(shù)據(jù)庫原理與應(yīng)用課程中一個亟待解決的問題。針對數(shù)據(jù)庫原理與應(yīng)用課程理論性和綜合性較強(qiáng),且理論和實踐脫節(jié)、考核形式單一等問題,本文提出了“大作業(yè)驅(qū)動”的教學(xué)方法,并從教學(xué)內(nèi)容、教學(xué)方法和考核方式等方面闡述了該方法的實施過程,提高了學(xué)生自主學(xué)習(xí)的能力、并且使學(xué)生在實踐中更好的理解理論知識。本文結(jié)合我院數(shù)據(jù)庫原理與應(yīng)用課程建設(shè),采用“大作業(yè)驅(qū)動”方法在課程教學(xué)內(nèi)容、教學(xué)方法、考核方式等方面取得了較好的效果。
一、數(shù)據(jù)庫原理與應(yīng)用課程教學(xué)面臨的問題
近年來,盡管我院教研組通過不斷摸索,在課程教學(xué)上取得了一些進(jìn)步,但仍舊存在一些問題,具體表現(xiàn)在:
1.教學(xué)方法與教學(xué)手段相對單一。教學(xué)方法主要是把學(xué)生集中起來, 以課堂講授為主, 對啟發(fā)式、討論式的教學(xué)方法采用得仍然比較少。教學(xué)手段上仍采用傳統(tǒng)的方式,雖采用多媒體教學(xué),但完善的教學(xué)與實驗平臺還沒有建設(shè)。
2.學(xué)習(xí)內(nèi)容理論性較強(qiáng)。教學(xué)內(nèi)容與市場需求脫節(jié),理論性較強(qiáng),內(nèi)容抽象,比較枯燥,不利于激發(fā)學(xué)生的學(xué)習(xí)興趣。不容易調(diào)動課堂氣氛, 造成學(xué)生的適應(yīng)能力不足。
3.實踐環(huán)節(jié)比較薄弱。除了課內(nèi)安排的實驗,其他形式的實習(xí)實踐機(jī)會少, 學(xué)生難以接觸到對實際操作能力考核的問題。限于課時要求,配套的實驗與習(xí)題不多, 而且內(nèi)容也比較陳舊, 形式單一。
4.考核方式還是以筆試為主。雖然實踐環(huán)節(jié)占總成績的一部分,但是比例不是很大,只占30%左右。筆試還是占很大一部分,“死記書本”的現(xiàn)象仍舊存在。
因此,為解決以上問題,讓學(xué)生更積極、更有效地學(xué)好這門課,我們提出了“大作業(yè)驅(qū)動”的方法應(yīng)用于課程的教學(xué),通過突出實驗環(huán)節(jié)的重要性,讓學(xué)生充分重視學(xué)習(xí)這門課程的實踐本質(zhì),以此調(diào)動學(xué)生的實踐熱情??荚囀菍W(xué)生學(xué)習(xí)的檢驗和督促手段。由于該課程是理論學(xué)習(xí)和實踐學(xué)習(xí)的緊密結(jié)合,在考試的考核方法上,應(yīng)該而且必須繼續(xù)強(qiáng)調(diào)由理論考試和實踐考試相結(jié)合的多種考試方式并用的策略,同時要提高實踐在考核中所占比例。
下文結(jié)合我院本科生數(shù)據(jù)庫原理與應(yīng)用課程的教學(xué)實踐,從課堂教學(xué)內(nèi)容、教學(xué)方法、教學(xué)考核與評價等方面闡述“大作業(yè)驅(qū)動”方法在課程教學(xué)中的實施過程。
二、教學(xué)內(nèi)容
數(shù)據(jù)庫原理與應(yīng)用是一門理論與實踐緊密結(jié)合的課程。學(xué)生不僅要掌握數(shù)據(jù)庫的一些基本理論知識,還要通過理論知識指導(dǎo)數(shù)據(jù)庫的建設(shè),最終使用計算機(jī)編程語言設(shè)計并實現(xiàn)一個數(shù)據(jù)庫管理系統(tǒng)。下圖列出了課程的內(nèi)容體系。
數(shù)據(jù)庫原理與應(yīng)用課程的內(nèi)容體系主要分為4部分,分別為數(shù)據(jù)庫原理、數(shù)據(jù)庫管理系統(tǒng)DBMS、程序設(shè)計語言以及軟件工程。因此,數(shù)據(jù)庫課程的教學(xué)必須與這4部分內(nèi)容相結(jié)合。這樣也就要求數(shù)據(jù)庫原理與應(yīng)用課程的設(shè)置應(yīng)該和程序設(shè)計語言、軟件工程課程在同一學(xué)期或者靠后。我院數(shù)據(jù)庫原理與應(yīng)用課程與圖形學(xué)、軟件工程課程是在同一學(xué)期開設(shè)(大二下學(xué)期)。圖形學(xué)的第一個目的是讓學(xué)生熟悉并掌握VC++6.0這一編程工具的基本使用;軟件工程則是規(guī)范指導(dǎo)學(xué)生軟件設(shè)計的過程。數(shù)據(jù)庫原理與應(yīng)用課程將數(shù)據(jù)庫的基礎(chǔ)知識、Oracle10g數(shù)據(jù)庫軟件的操作作為課程的主要內(nèi)容,結(jié)合圖形學(xué)、軟件工程完成數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計和實現(xiàn)。
課程基礎(chǔ)知識包括數(shù)據(jù)庫基本概念,關(guān)系數(shù)據(jù)結(jié)構(gòu)及定義,關(guān)系代數(shù),關(guān)系演算,SQL語言,數(shù)據(jù)庫的安全性、完整性,關(guān)系數(shù)據(jù)理論、數(shù)據(jù)庫設(shè)計,數(shù)據(jù)庫編程,關(guān)系查詢及優(yōu)化,數(shù)據(jù)恢復(fù),開發(fā)處理等內(nèi)容。其中要求學(xué)生熟練掌握的有數(shù)據(jù)庫基本概念、關(guān)系數(shù)據(jù)結(jié)構(gòu)及定義、SQL語言、關(guān)系數(shù)據(jù)理論、數(shù)據(jù)庫編程。一般掌握的有關(guān)系代數(shù)、數(shù)據(jù)庫設(shè)計?;菊莆盏挠嘘P(guān)系演算,數(shù)據(jù)庫的安全性、完整性,數(shù)據(jù)恢復(fù)。一般了解的有關(guān)系查詢及優(yōu)化、開發(fā)處理。
Oracle10g數(shù)據(jù)庫軟件的操作主要是通過上機(jī)實踐來練習(xí)。上機(jī)實踐大致有30個學(xué)時,有教師現(xiàn)場指導(dǎo)和答疑,學(xué)生需要在規(guī)定的時間完成指定任務(wù),教師隨堂檢查作業(yè),如果時間有限也可以根據(jù)實際情況采取抽查的方式。具體的時間安排如表所示。
大作業(yè)的實現(xiàn)主要由學(xué)生用課外時間獨立完成。從第八周開始,每組學(xué)生每周一次向教師展示大作業(yè)進(jìn)度情況,同時教師還要指導(dǎo)學(xué)生解決實踐過程中遇到的問題。endprint
Oracle10g數(shù)據(jù)庫操作實驗
三、教學(xué)方法
上文提到,數(shù)據(jù)庫原理與應(yīng)用課程主要是理論和實踐相結(jié)合,因此,教學(xué)的內(nèi)容主要分為兩個方面:基礎(chǔ)理論知識和實踐。實踐部分又可分為兩個小的部分:SQL語言上機(jī)練習(xí)和數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計與實現(xiàn)。由于教學(xué)內(nèi)容的不同,方法也不盡相同,所以,我們分別從理論教學(xué)和實踐教學(xué)兩個方面分別闡述課程的教學(xué)方法。
1.理論教學(xué)
理論是實踐的基礎(chǔ),實踐是理論的鞏固和加強(qiáng)。同時,基礎(chǔ)理論知識往往是枯燥無味的,為了提高學(xué)生的學(xué)習(xí)積極性,我們在理論教學(xué)中主要采用教師講解、上課提問、課下練習(xí)以及隨堂測驗相結(jié)合的教學(xué)模式。因為,練習(xí)和測驗都是最終考核的一部分,這樣,在一定程度上會增加學(xué)生的學(xué)習(xí)動力。這種方法的實施同時也增加了學(xué)生的出勤率、提高了學(xué)習(xí)的效率。這種方法雖然能在教學(xué)中起到一定的效果,但是,這也只是一種學(xué)生被動學(xué)習(xí)的方法,不能發(fā)揮學(xué)生的主觀能動性。
2.實踐教學(xué)
課程的實踐教學(xué)主要分為兩個部分:SQL語言上機(jī)練習(xí)和數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計與實現(xiàn)。SQL語言是數(shù)據(jù)庫設(shè)計的基礎(chǔ),同時也是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計與實現(xiàn)的主要組成部分。下面本文分別從這兩部分介紹實踐教學(xué)的方法。
(1)SQL語言上機(jī)練習(xí)
SQL語言上機(jī)練習(xí)主要是熟悉并掌握Oracle10g數(shù)據(jù)庫基本的SQL語法和語句。上機(jī)的內(nèi)容如表1所示。我們主要采用附屬式實踐教學(xué)和任務(wù)驅(qū)動式實踐教學(xué)相結(jié)合的方法。首先,我們主要采用附屬式實踐教學(xué)方法,即在理論教學(xué)(SQL語句)的同時,安排一定課時上機(jī),進(jìn)行數(shù)據(jù)庫的實踐,這樣不僅能夠鞏固課堂教學(xué)的知識點,而且教師還能在上機(jī)的過程中發(fā)現(xiàn)出現(xiàn)的共性問題,以便于集中解決;其次,SQL語言是課程的重要組成部分,但不是全部,當(dāng)SQL語言理論部分授課結(jié)束后,我們采用任務(wù)驅(qū)動的實踐方法,即在以后的上機(jī)實踐前,先給學(xué)生布置一定的任務(wù),這樣學(xué)生會根據(jù)任務(wù)的需要來實踐。
(2)數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計與實現(xiàn)
數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計與實現(xiàn)是課程實踐教學(xué)的重中之重。如圖1所示,它是在數(shù)據(jù)庫理論、SQL語言、高級編程語言和軟件工程的基礎(chǔ)上完成的,是一種比較完整的應(yīng)用系統(tǒng)軟件,開發(fā)起來有一定的困難。
在實踐中,項目的選擇尤為重要,難易程度要適中,工作量也要適中,能夠在大概3~5周內(nèi)完成。一般選擇一種比較通用的、與學(xué)生日常生活密切相關(guān)的項目。我們選擇的實踐項目是“教務(wù)管理系統(tǒng)”是一個典型的數(shù)據(jù)庫信息管理系統(tǒng),功能模塊比較明確,學(xué)生也一直在使用,容易理解。教學(xué)主要是在教師簡單的講解和引導(dǎo)下,由學(xué)生自主設(shè)計完成。
項目開發(fā)前,教師向?qū)W生介紹項目的基本背景以及大致的需求(具體的用戶需求由同學(xué)期開的軟件工程教師指導(dǎo))。項目以項目小組的形式開展,每個小組由組長和3~4位成員組成。原則上由學(xué)生自主組合,如果沒有合適組隊的由教師根據(jù)情況分組。同時,為了保證每個學(xué)生都能參與到項目組中,并且能夠服從組長的安排,教師賦予組長對組員的打分權(quán)。
需求分析是數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)中最重要的組成部分。前面講到,需求分析主要是軟件工程教師指導(dǎo)進(jìn)行。本課程老師同時也要對各組的需求分析報告進(jìn)行檢查。教師讓每個小組上臺講解設(shè)計思路,并請其他學(xué)生討論各種設(shè)計方法的優(yōu)缺點,教師進(jìn)行適當(dāng)?shù)狞c評,指出設(shè)計中存在的共性問題,并提出改進(jìn)建議。這不但讓學(xué)生通過比較取長補(bǔ)短,而且能夠提高學(xué)生的語言表達(dá)能力。
代碼編寫過程以學(xué)生為主。教師在這一階段需要給學(xué)生提供解決技術(shù)問題的一般方法,指導(dǎo)學(xué)生利用圖書館以及網(wǎng)絡(luò)等資源尋找解決方案。為了督促學(xué)生按時保質(zhì)保量地完成項目,教師每周都要和各組組長進(jìn)行一次座談,詢問各組的進(jìn)度情況,并且教師每周還要在固定時間聽取各組以PPT形式的周匯報。代碼編寫完成后要進(jìn)行測試。組內(nèi)成員的互測不但可提高軟件質(zhì)量,也是學(xué)生相互學(xué)習(xí)、相互提高的過程。
項目最終完成后,教師首先檢查各組的完成情況。然后,再請2~3位相關(guān)專業(yè)的老師,共同聽取各組的項目匯報。通過這種方法,可以更加公平合理的對各組的成果進(jìn)行鑒定。
四、考核方式
課程的考試方式不再是僅僅以卷面成績?yōu)闇?zhǔn)。總成績由實踐成績和期末考試成績兩部分組成,各占50分,滿分100分。期末考試成績就是卷面成績除以2(卷面成績滿分100分);實踐成績由四部分組成,包括:出勤(5分)、平時成績(10分)、SQL上機(jī)(10分)、應(yīng)用實踐(25分)。出勤是激勵學(xué)生上課的一種方法,缺勤一次扣2分,扣完為止,這在一定程度上能夠降低學(xué)生的缺課率。平時成績的考核主要是課后作業(yè)和隨堂測驗的成績,目的是鞏固理論知識。SQL上機(jī)的考核以平時的上機(jī)任務(wù)檢查以及一次的上機(jī)考試為標(biāo)準(zhǔn)。應(yīng)用實踐的考核以開發(fā)過程參與情況和項目成果為主。
項目成果主要從軟件開發(fā)設(shè)計思想、系統(tǒng)功能完善程度、界面設(shè)計、文檔質(zhì)量等方面進(jìn)行檢查考核。因為項目采用分組的形式展開,每位學(xué)生在項目中的作用各不相同,成績評定過程中要進(jìn)行區(qū)分。項目小組長總體介紹項目分工情況,每個學(xué)生分別說明對項目的貢獻(xiàn),演示并講解自己設(shè)計開發(fā)的功能模塊,并回答教師的提問。細(xì)節(jié)上的提問一定程度上能夠判斷該學(xué)生是否真正掌握知識,是否是自己的研發(fā)成果。各組成果的考核由代課教師以及其他幾位聽取匯報的教師商量來定。教師根據(jù)項目完成情況以及每位學(xué)生在項目中的貢獻(xiàn)、回答問題時的表現(xiàn)和組長為組員的打分進(jìn)行加權(quán)給出實踐成績。這樣,能夠更加真實的反映每個學(xué)生的勞動成果。
五、結(jié)語
數(shù)據(jù)庫原理及應(yīng)用是一門理論性和實踐性較強(qiáng)的課程,只有加強(qiáng)實踐教學(xué)的訓(xùn)練,理論知識才能得到有效鞏固。實踐表明,數(shù)據(jù)庫原理及應(yīng)用課程的實踐教學(xué)改革,提高了學(xué)生的學(xué)習(xí)興趣,培養(yǎng)了學(xué)生使用數(shù)據(jù)庫原理和方法解決實際問題的能力,提高了編程能力、自學(xué)能力以及團(tuán)隊協(xié)作的能力。
隨著數(shù)據(jù)庫技術(shù)的不斷發(fā)展和數(shù)據(jù)庫教學(xué)內(nèi)容的不斷更新,教師應(yīng)該從教學(xué)內(nèi)容、教學(xué)手段、考核方式等方面認(rèn)真考慮,銳意改革,發(fā)揮學(xué)生的主觀能動性,提高教學(xué)效率和學(xué)生的自學(xué)能力。
基金項目:國家自然基金“Petri網(wǎng)模型驅(qū)動的SaaS型云測試方法及支撐平臺研究”(61262017)
參考文獻(xiàn):
[1]葉霞,李俊山,李海龍.數(shù)據(jù)庫原理及應(yīng)用實踐教學(xué)改革.計算機(jī)教育,2011(1):56~59
[2]羅榮良,吳明暉.項目驅(qū)動的數(shù)據(jù)庫應(yīng)用類課程教學(xué)探索.計算機(jī)教育,2012(3):88~90
[3]肖蕾,鐘瑛,翁偉.軟件開發(fā)綜合實訓(xùn)課程的教學(xué)改革與實踐.計算機(jī)教育,2012(10):104~106endprint