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