黃永慧,孫為軍,王春茹
(廣東工業(yè)大學(xué)自動化學(xué)院,廣東 廣州 510006)
數(shù)據(jù)庫技術(shù)是現(xiàn)代信息領(lǐng)域中的重要支撐技術(shù),具有廣泛的應(yīng)用和重要的影響[1]。對于計算機(jī)類專業(yè)的學(xué)生而言,數(shù)據(jù)庫系統(tǒng)是必修課程,它不僅是學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)等課程的基礎(chǔ),更是學(xué)習(xí)大數(shù)據(jù)、人工智能等新技術(shù)的前提條件[2]。在整個課程體系中,數(shù)據(jù)庫系統(tǒng)起著橋梁的作用,輔助各個相關(guān)專業(yè)應(yīng)用的協(xié)同發(fā)展,可以說,數(shù)據(jù)庫技術(shù)對學(xué)生的未來學(xué)習(xí)、工作甚至事業(yè)都產(chǎn)生著深遠(yuǎn)的影響[3]。
數(shù)據(jù)庫的理論教學(xué)大多是一種單向的教學(xué)方式,重點介紹數(shù)據(jù)庫的基本概念、功能特征等核心理論知識點,這種方式往往難以讓學(xué)生真正理解數(shù)據(jù)庫原理,并將抽象的理論轉(zhuǎn)化為具體的認(rèn)知,從而會降低他們對數(shù)據(jù)庫的學(xué)習(xí)興趣。此外,數(shù)據(jù)庫實驗課程的實踐內(nèi)容通?;诶碚撜n所學(xué)的SQL語句,涉及數(shù)據(jù)庫建立、更新和基本查詢、函數(shù)查詢、分組查詢、嵌套查詢等基本操作,但對于數(shù)據(jù)庫原理的理解和實際問題的解決來說,這些內(nèi)容遠(yuǎn)遠(yuǎn)不夠。此外,由于數(shù)據(jù)庫課程與上機(jī)實踐之間存在時間差,學(xué)生容易忘記理論知識,甚至在理論課程還未結(jié)束時就開始上機(jī)實踐課程,這樣極大地降低了學(xué)生對數(shù)據(jù)庫原理和實踐動手能力的融合理解和貫通。
針對數(shù)據(jù)庫理論教學(xué)中存在的問題,近些年已有很多學(xué)者陸續(xù)提出了能力導(dǎo)向教學(xué)法[4]、項目教學(xué)法[5]、翻轉(zhuǎn)課堂教學(xué)法[6]以及團(tuán)隊分組討論法[7]等,擴(kuò)展了數(shù)據(jù)庫實驗內(nèi)容,結(jié)合了數(shù)據(jù)庫理論知識,幫助學(xué)生深入理解數(shù)據(jù)庫的內(nèi)部原理。除此之外,部分學(xué)者還充分利用計算機(jī)技術(shù),以更為形象具體的實踐形式闡釋數(shù)據(jù)庫相關(guān)概念和原理。如陳慧萍提出的“研究性教學(xué)”理念,在實驗教學(xué)中創(chuàng)設(shè)具體的問題情境,引導(dǎo)學(xué)生深入研究、分析并求解問題[8],胡旺在數(shù)據(jù)庫教學(xué)時,引入貼近生活的多個數(shù)據(jù)庫應(yīng)用實例,讓學(xué)生感知數(shù)據(jù)庫技術(shù)具體真實的應(yīng)用,啟發(fā)學(xué)生深入思考,接著總結(jié)這些實例的共性,提出使用中會遇到的問題來介紹數(shù)據(jù)庫課程的主要內(nèi)容,達(dá)到“啟發(fā)式教學(xué)”的教學(xué)效果[9]。石義金提出基于虛擬仿真技術(shù)的數(shù)據(jù)庫認(rèn)知實驗教學(xué)[10],楊春蕾等認(rèn)為傳統(tǒng)的數(shù)據(jù)庫實驗課堂,缺少數(shù)據(jù)演示的融合,提出將無聲演示視頻嵌入課堂教學(xué),增進(jìn)實踐與原理的融合,幫助學(xué)生更好地理解知識點和提升實驗效果[11],胡海洋等將案例演示,項目實施驅(qū)動與理論知識一起考慮,提高學(xué)生對課程基礎(chǔ)理論的掌握,提升對數(shù)據(jù)庫系統(tǒng)的使用和開發(fā)能力[12]。
以上學(xué)者的教改方法的確對理論知識的掌握,實踐課的能力提升起到了很大作用,不過仍然沒有從設(shè)計到過程全面融合考慮,本文提出了統(tǒng)一設(shè)計數(shù)據(jù)庫理論教學(xué)和上機(jī)實踐的方法,并設(shè)計了教學(xué)輔助工具——數(shù)據(jù)庫SQL案例庫(包含基本型SQL案例和高階型SQL案例)教學(xué)和在線實驗平臺。在理論教學(xué)過程中,同步演示案例,為學(xué)生提供了實驗環(huán)境。通過過去幾年的實踐,學(xué)生不僅能夠靈活運用數(shù)據(jù)庫相關(guān)知識,還能夠深入了解其背后的原理和邏輯,從而達(dá)到綜合應(yīng)用能力整體提升的目的。
本文的目標(biāo)是基于同堂教學(xué)的自主學(xué)習(xí)教學(xué)模式,激發(fā)學(xué)生學(xué)習(xí)的興趣和熱情,提高學(xué)生實踐和創(chuàng)新水平,具體的教學(xué)改革內(nèi)容如下:1)基于數(shù)據(jù)庫開發(fā)主線,融合實驗一起,重新梳理和重構(gòu)設(shè)計數(shù)據(jù)庫知識點;2)結(jié)合數(shù)據(jù)庫知識點,設(shè)計基本型SQL 案例和高階型SQL案例,理解講解時,同步演示案例;3)設(shè)計在線實驗平臺,方便學(xué)生同堂實驗和課后實驗。
對比傳統(tǒng)教學(xué)模式,數(shù)據(jù)庫理論與實驗同堂教學(xué)具有以下優(yōu)勢,如表1所示:
表1 教學(xué)模式比較分析
通過理論精講、案例演示、學(xué)生同堂動手實踐等理論與實踐的深度融合,強(qiáng)化學(xué)生對所學(xué)理論知識的理解,提升他們上機(jī)實踐操作水平,提高他們運用所學(xué)知識分析和解決實際問題的能力。
從課堂授課、課時分配兩個方面重點重新梳理,其中課堂授課又包含課前預(yù)習(xí)和檢測、課間參與式學(xué)習(xí),同堂實驗、課外實驗與測試等方面實施改革。
基于數(shù)據(jù)庫開發(fā)過程主線,在重構(gòu)數(shù)據(jù)庫授課內(nèi)容過程中,重新梳理課程各個章節(jié)內(nèi)容所包含知識點,以及各個知識點對應(yīng)的案例,同堂實驗內(nèi)容。其中案例的選擇主要突出知識點的覆蓋,以及與授課內(nèi)容緊密相關(guān)的且當(dāng)前流行的實用案例,實驗的選擇除了傳統(tǒng)的數(shù)據(jù)庫實踐以外,拓展了廣度和深度,增加了熟悉原理的實驗和管理備份恢復(fù)試驗,詳細(xì)的內(nèi)容及對應(yīng)關(guān)系如表2所示。
表2 同堂教學(xué)模式案例設(shè)計
為了讓學(xué)生在理論學(xué)習(xí)的階段除了學(xué)習(xí)抽象的數(shù)據(jù)庫概念外,同步在案例庫中感受到具體的數(shù)據(jù)庫,表,約束,關(guān)系操作等,并且同堂實踐課時,能真正通過SQL語句的設(shè)計,執(zhí)行過程理解數(shù)據(jù)庫各種元素(如索引、主鍵、外鍵等)怎樣工作的?筆者將理論與實踐課程統(tǒng)一考慮,結(jié)合筆者設(shè)計的數(shù)據(jù)庫SQL案例庫和手機(jī)實踐平臺,課程安排主要包含課前預(yù)習(xí)和檢測,課間參與式學(xué)習(xí),同堂融合上機(jī)實踐,課后鞏固試驗與測試,如圖1所示:
圖1 同堂教學(xué)模式流程設(shè)計
課前預(yù)習(xí)和檢測是了解學(xué)生對基本知識的掌握情況,對應(yīng)的案例了解和學(xué)習(xí)情況,例如在學(xué)習(xí)數(shù)據(jù)庫基本概念前,讓同學(xué)們先去教學(xué)平臺上了解和感受一下什么是數(shù)據(jù)庫,什么是數(shù)據(jù)等,這個步驟非常重要,是課間參與式學(xué)習(xí)的基礎(chǔ)。
課間參與式學(xué)習(xí)是將抽象概念和具體數(shù)據(jù)庫元素操作結(jié)合的最重要的部分,包含知識精講,案例庫對應(yīng)案例演示,教師答疑,同堂試驗四個部分。開始設(shè)計數(shù)據(jù)庫精講課程的內(nèi)容是跟進(jìn)以前上課學(xué)生比較難以掌握的知識部分;后來是根據(jù)課前預(yù)習(xí)和檢測以及往屆課程同學(xué)收集上來的各種掌握情況設(shè)計精講內(nèi)容,并且內(nèi)容更加聚焦。以前設(shè)計的精講課程,對于數(shù)據(jù)庫性能和索引,聚類函數(shù)是分開的講解的;數(shù)據(jù)庫性能主要講解與哪些因素相關(guān),索引主要講解索引的建立和存儲。后來根據(jù)學(xué)生的情況,更加側(cè)重索引是怎樣工作的,聚類函數(shù)是怎樣工作的,大數(shù)據(jù)量情況下聚類函數(shù)查詢時,索引的效率和影響。
同堂實踐除了讓學(xué)生再次鞏固基礎(chǔ)SQL 的上機(jī)實踐以外,更多實踐是讓學(xué)生模擬通過不同的SQL語句試驗了解和學(xué)習(xí)數(shù)據(jù)庫的工作原理,激發(fā)學(xué)生的興趣。例如筆者設(shè)計了如索引工作原理對比試驗;讓學(xué)生探索沒有索引時查詢的性能以及有索引情況下查詢的性能,包含查詢訪問的數(shù)據(jù)庫Page 數(shù)量,消耗的時間情況等,且大數(shù)據(jù)量查詢代價估算試驗;跟蹤全庫、單表、列、相關(guān)性多列的統(tǒng)計信息。
課后試驗與測試是為了檢測學(xué)生課間是否真正掌握,除了讓部分學(xué)生可以在案例庫中進(jìn)一步參照自行學(xué)習(xí),查漏補(bǔ)缺以外,還同步要求學(xué)生在實踐平臺上完成對應(yīng)的SQL實踐,真正做到將理論課程與實踐課程統(tǒng)一考慮。
通過讓學(xué)生既掌握了數(shù)據(jù)庫的原理,也通過試驗掌握了真正適用的數(shù)據(jù)庫技能,還激發(fā)了學(xué)習(xí)深入研究數(shù)據(jù)庫的好奇心和興趣。
原來32課時的數(shù)據(jù)庫原理課和16課時的上機(jī)實踐課,統(tǒng)一為48課時,課時分配上,由原來的理論課與實踐課3∶1 轉(zhuǎn)為5∶2∶3∶X,其中5 表示理論知識精講占比總課時50%,2 表示課堂案例演示占比總課時20%,3 表示同堂實驗占課時30%,X 則表示學(xué)生線下實驗和作業(yè)提交,整體上高效融合理論與實踐教學(xué),將案例演示融于課堂理論知識教學(xué)、將實際項目的數(shù)據(jù)庫設(shè)計貫穿于同堂實驗中。即將長期以來實施的8周(每周4 個課時)課堂理論教學(xué)、4 周機(jī)房實驗教學(xué)模式,調(diào)整為在課堂理論與實際同步教學(xué)周16周,每周2 學(xué)時進(jìn)行基礎(chǔ)理論講授、0.8學(xué)時進(jìn)行案例講解討論,1.2 個學(xué)時進(jìn)行同堂上機(jī)實踐?!癤”則表示我們將傳統(tǒng)的實驗教學(xué)與平時作業(yè)安排在在線平臺上,并由教師在線點評、系統(tǒng)客觀評價。這樣既方便學(xué)生利用課余時間隨時進(jìn)行試驗和完成理論作業(yè),又方便老師了解每個學(xué)生實驗中出現(xiàn)的具體問題,討論與拓展更具有針對性。這一安排的優(yōu)勢在于將教學(xué)內(nèi)容的學(xué)習(xí)、案例模仿、實踐提高三個階段在課堂上結(jié)合起來,以增強(qiáng)學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)效率,從而提高課程的教學(xué)質(zhì)量。
新的教學(xué)方法更加關(guān)注理論與實踐的結(jié)合,更加注重綜合能力的培養(yǎng),為了檢驗新的教學(xué)方法與傳統(tǒng)方法的差別,且方便對比,我們?nèi)∑谥衅谀┛荚噷χR的掌握與上機(jī)實驗對知識的應(yīng)用進(jìn)行對比,對比方法是將二部分的成績都按照百分比放大到100分。并且課程采用了相同教材和大綱、相同課時,兩種模式的班級都先后由筆者來執(zhí)教。筆者將傳統(tǒng)模式2020下半年-2021年上半年2個學(xué)期4個班級的學(xué)生成績,與2021年下半年-2022年上半年采用該模式下1年2學(xué)期4個班級的成績進(jìn)行對比,從圖2、圖3可以看出,學(xué)生的優(yōu)良人數(shù)比例以及平均成績均得到了較大幅度的提升。
圖2 平均成績分析圖
圖3 優(yōu)良人數(shù)比例分析圖
通過深入分析,發(fā)現(xiàn)綜合應(yīng)用題的分?jǐn)?shù)比改革前大幅度提高,如圖4所示,課程改革前班級的學(xué)生對這類綜合應(yīng)用能力的掌握基本上集中在少部分同學(xué)中,大部分學(xué)生平時了解的分析與設(shè)計方法不會靈活運用,整個學(xué)生的平均成績較差;實施課程改革后,大部分學(xué)生能夠靈活應(yīng)用,整體學(xué)生的平均成績有所提高。
圖4 綜合應(yīng)用成績對比圖
綜上,在數(shù)據(jù)庫系統(tǒng)教學(xué)過程中應(yīng)注重培養(yǎng)學(xué)生的深入理解工作原理的能力,綜合應(yīng)用的能力以及客觀事物的整體思考能力。我們采取了以實際項目和案例為基礎(chǔ)、同堂融合理論知識的教學(xué)模式,幫助學(xué)生分析不同情境下的問題,深入思考問題本質(zhì),并提高綜合應(yīng)用能力。通過過去三年考試的綜合題成績表明,學(xué)生的這方面能力提高很多。
數(shù)據(jù)庫理論課程概念多,抽象、不易理解,上機(jī)實驗內(nèi)容深度不足,且與理論課程缺乏深度融合的問題,本文將數(shù)據(jù)庫理論教學(xué)和上機(jī)實踐統(tǒng)一設(shè)計,構(gòu)建了數(shù)據(jù)庫SQL案例(包含基本類型SQL案例和高階SQL 案例)教學(xué)和實踐平臺,在理論教學(xué)的過程中,同步演示案例,同時提供同堂融合的上機(jī)實踐環(huán)境,實踐證明該方法,加深對數(shù)據(jù)庫理論的理解,提升學(xué)生綜合設(shè)計數(shù)據(jù)庫的能力。
該方法增強(qiáng)了數(shù)據(jù)庫教學(xué)的趣味性,使教學(xué)方式更為多元化,對促進(jìn)學(xué)生數(shù)據(jù)庫技能提升,培養(yǎng)高質(zhì)量人才具有重要意義。其中數(shù)據(jù)庫SQL 案例教學(xué)和實踐平臺,一定程度上激發(fā)學(xué)生的創(chuàng)新學(xué)習(xí)思維。未來研究中將增加更多實踐案例,探索更優(yōu)秀的案例實驗教學(xué),增強(qiáng)理論知識與實踐的融合,提升數(shù)據(jù)庫教學(xué)質(zhì)量。