呂 品,于文兵,汪 鑫
(1. 上海電機(jī)學(xué)院 電子信息學(xué)院 ,上海 201306;2. 上海電機(jī)學(xué)院 文理教學(xué)部,上海 201306)
數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)學(xué)科相關(guān)專業(yè)本科生的一門專業(yè)基礎(chǔ)課,是培養(yǎng)學(xué)生數(shù)據(jù)抽象能力、計(jì)算思維能力與程序設(shè)計(jì)能力的一門重要課程[1-3]。數(shù)據(jù)結(jié)構(gòu)課程學(xué)習(xí)效果的好壞不僅直接影響學(xué)生后續(xù)專業(yè)課程的學(xué)習(xí),而且對(duì)應(yīng)用型本科院校學(xué)生在程序設(shè)計(jì)類競賽、軟件服務(wù)外包競賽、數(shù)據(jù)挖掘競賽中取得優(yōu)異成績起著關(guān)鍵性作用。
居然數(shù)據(jù)結(jié)構(gòu)課程在應(yīng)用型人才培養(yǎng)中具有十分重要的地位,但是,通過數(shù)據(jù)結(jié)構(gòu)課程教學(xué)發(fā)現(xiàn),學(xué)生在該課程上的學(xué)習(xí)存在嚴(yán)重的“馬太效應(yīng)”。程序設(shè)計(jì)基礎(chǔ)好的學(xué)生對(duì)本課程的學(xué)習(xí)興趣隨著所學(xué)知識(shí)的增加變得越來越濃,自主學(xué)習(xí)欲望越來越強(qiáng)烈,抽象思維與編程能力逐步得到提升。然而,程序設(shè)計(jì)基礎(chǔ)薄弱的學(xué)生隨著課程學(xué)習(xí)內(nèi)容難度的增加,無法通過自身編寫程序理解與運(yùn)用課程中的知識(shí)點(diǎn),學(xué)習(xí)興趣的嚴(yán)重挫敗導(dǎo)致自主學(xué)習(xí)欲望逐漸消失,從而為后續(xù)專業(yè)課程的學(xué)習(xí)埋下了“應(yīng)用能力隱患”。
分析產(chǎn)生以上現(xiàn)象的原因,可能有4方面:①數(shù)據(jù)結(jié)構(gòu)課程開設(shè)時(shí)間較早,學(xué)生的計(jì)算思維還未真正形成。相較于其他類型的高校,應(yīng)用型本科院校計(jì)算機(jī)相關(guān)專業(yè)的數(shù)據(jù)結(jié)構(gòu)課程通常提前在第2學(xué)期或第3學(xué)期開設(shè)。一個(gè)學(xué)期或兩個(gè)學(xué)期的程序設(shè)計(jì)學(xué)習(xí)時(shí)間對(duì)于大部分學(xué)生來講可能太短,學(xué)生對(duì)用程序?qū)崿F(xiàn)自動(dòng)計(jì)算的核心要素和學(xué)習(xí)方法掌握不牢。②數(shù)據(jù)結(jié)構(gòu)的先修課程離散數(shù)學(xué)與數(shù)據(jù)結(jié)構(gòu)同時(shí)開設(shè),學(xué)生對(duì)符號(hào)語言的運(yùn)用能力和邏輯推理能力沒有在先修課程中得到鍛煉,導(dǎo)致學(xué)生對(duì)抽象數(shù)據(jù)類型的理解存在困難。③數(shù)據(jù)結(jié)構(gòu)的教學(xué)學(xué)時(shí)較其他類型高校短。數(shù)據(jù)結(jié)構(gòu)現(xiàn)有教學(xué)學(xué)時(shí)為64學(xué)時(shí),其中,理論48學(xué)時(shí),課內(nèi)實(shí)驗(yàn)16學(xué)時(shí)。數(shù)據(jù)結(jié)構(gòu)課程中的抽象數(shù)據(jù)類型和應(yīng)用算法繁多,并且都是學(xué)生在后續(xù)專業(yè)課程中的先修知識(shí)。教師必須在有限的教學(xué)學(xué)時(shí)內(nèi),合理安排教學(xué)進(jìn)度,完成教學(xué)內(nèi)容,因此,教師沒有過多時(shí)間在課堂上為學(xué)生及時(shí)梳理課程中的重難點(diǎn)知識(shí)。④大部分學(xué)生自主學(xué)習(xí)意識(shí)淡薄。學(xué)習(xí)過程中懶于提出問題是學(xué)生自主學(xué)習(xí)意識(shí)淡薄的最主要表現(xiàn),這與教師為完成教學(xué)任務(wù)而無法掌握每位學(xué)生的具體學(xué)習(xí)情況形成一對(duì)學(xué)與教的矛盾。
為了解決以上問題,讓學(xué)生較好地掌握數(shù)據(jù)結(jié)構(gòu)課程中的理論知識(shí)和算法應(yīng)用,提高學(xué)生在后續(xù)專業(yè)學(xué)習(xí)中的應(yīng)用程序開發(fā)能力,可以在數(shù)據(jù)結(jié)構(gòu)課程教學(xué)中融入線上學(xué)習(xí)的教學(xué)方法,并將線上學(xué)習(xí)成績作為課程考核的組成部分,使線上學(xué)習(xí)延伸數(shù)據(jù)結(jié)構(gòu)的教學(xué)學(xué)時(shí)、記錄學(xué)生課外學(xué)習(xí)行為;幫助教師利用每個(gè)章節(jié)的線上學(xué)習(xí)行為數(shù)據(jù),分析學(xué)生的學(xué)習(xí)情況,及時(shí)對(duì)學(xué)習(xí)不達(dá)標(biāo)的學(xué)生提出學(xué)業(yè)預(yù)警,提供具體的學(xué)習(xí)資源和組織同伴之間的幫扶,讓每位學(xué)生在本課程的學(xué)習(xí)中得到個(gè)性化的學(xué)習(xí)支持和編程能力的提升。
數(shù)據(jù)結(jié)構(gòu)線上學(xué)習(xí)平臺(tái)由一位已學(xué)過數(shù)據(jù)結(jié)構(gòu)且成績優(yōu)異的高年級(jí)學(xué)生和兩位沒有學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的低年級(jí)學(xué)生共同開發(fā)。開發(fā)工具采用開源的Moodle。Moodle是澳大利亞教師Martin Dougiamas開發(fā)的一個(gè)課程管理系統(tǒng),在國際上有著廣泛的應(yīng)用[4]。隨著國內(nèi)教育信息化進(jìn)程的加快和Moodle平臺(tái)插件使用資料的逐漸增多,越來越多的教師開始認(rèn)識(shí)、了解并使用Moodle。Moodle不僅適合于在線學(xué)習(xí),而且可以輔助課堂管理與教學(xué)。
開發(fā)數(shù)據(jù)結(jié)構(gòu)線上學(xué)習(xí)平臺(tái)之前,向3位學(xué)生分析在數(shù)據(jù)結(jié)構(gòu)課程教學(xué)中融入線上學(xué)習(xí)的原因,如數(shù)據(jù)結(jié)構(gòu)課程知識(shí)點(diǎn)多、理論抽象,而學(xué)時(shí)有限,絕大多數(shù)學(xué)生沒有真正掌握高級(jí)語言程序設(shè)計(jì)基礎(chǔ)知識(shí)(數(shù)組、鏈表、結(jié)構(gòu)體類型、基本的循環(huán)結(jié)構(gòu)等);學(xué)生白天上課多,晚上沒有養(yǎng)成復(fù)習(xí)的習(xí)慣;學(xué)生沒有養(yǎng)成每天編寫程序的習(xí)慣;平時(shí)學(xué)生與教師的溝通少,教師無法及時(shí)監(jiān)控每個(gè)學(xué)生的課程學(xué)習(xí)情況并對(duì)其進(jìn)行有針對(duì)性的學(xué)習(xí)預(yù)警等,同時(shí)講解平臺(tái)需要具備的功能。這些想法得到了3位學(xué)生的認(rèn)可,他們利用一個(gè)月的時(shí)間完成了此項(xiàng)任務(wù)。所有選修本課程的學(xué)生可通過包括移動(dòng)終端在內(nèi)的任何計(jì)算機(jī)設(shè)備登錄數(shù)據(jù)結(jié)構(gòu)線上學(xué)習(xí)平臺(tái),學(xué)生課后學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的地點(diǎn)與時(shí)間具有極大的彈性。截止2019年2月,該平臺(tái)已投入使用了兩個(gè)學(xué)期,記錄了兩個(gè)教學(xué)班共162位學(xué)生線上學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)課程的行為數(shù)據(jù)。
數(shù)據(jù)結(jié)構(gòu)線上學(xué)習(xí)平臺(tái)中教學(xué)資源的發(fā)布、學(xué)生學(xué)習(xí)行為數(shù)據(jù)的收集可分別由兩位低年級(jí)學(xué)生負(fù)責(zé)。由于這兩位低年級(jí)學(xué)生是學(xué)校編程社團(tuán)中的重要成員,因此,他們參與此項(xiàng)活動(dòng)能讓許多即將學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)課程的學(xué)生了解到本課程在應(yīng)用軟件開發(fā)中的重要性。
數(shù)據(jù)結(jié)構(gòu)線上學(xué)習(xí)平臺(tái)主要包括2部分教學(xué)資源。一部分是按教材章節(jié)組織的課堂教學(xué)內(nèi)容演示文稿和Word版本的核心算法分析;另一部分是涉及該章節(jié)重要知識(shí)點(diǎn)的測試題。每位學(xué)生只有在觀看完成課堂教學(xué)演示文稿的內(nèi)容后才有權(quán)限進(jìn)入測試環(huán)節(jié)。平臺(tái)規(guī)定演示文稿的觀看時(shí)間至少為15 min,以確保學(xué)生必須要進(jìn)行課后自主復(fù)習(xí)。
為保證學(xué)生課后自主學(xué)習(xí)的時(shí)間與教師課堂授課內(nèi)容的同步,平臺(tái)規(guī)定了每章節(jié)測試的截止日期。學(xué)生只要登錄該平臺(tái),平臺(tái)就能自動(dòng)收集學(xué)生線上學(xué)習(xí)數(shù)據(jù),包括完成一次測試所花費(fèi)的時(shí)間、每一小題的得分情況、同一測試重復(fù)練習(xí)的次數(shù)等。
教師在講授數(shù)據(jù)結(jié)構(gòu)第一節(jié)課之前,指導(dǎo)學(xué)生導(dǎo)入所有選修該課程的學(xué)生基本信息,以確保每位學(xué)生能進(jìn)入平臺(tái),并指導(dǎo)學(xué)生導(dǎo)入本課程除測試練習(xí)之外的所有課堂教學(xué)資源。除此之外,教師要在每章節(jié)測試開始之后,定期觀察每位學(xué)生對(duì)知識(shí)的掌握情況,并動(dòng)態(tài)調(diào)整下節(jié)課的課程教學(xué)內(nèi)容與進(jìn)度。當(dāng)章節(jié)測試的截止時(shí)間到期后,教師要通過學(xué)生參與同一測試的次數(shù)掌握每一位學(xué)生學(xué)習(xí)本課程的態(tài)度;對(duì)照測試題涉及的知識(shí)點(diǎn)分析每位學(xué)生的薄弱環(huán)節(jié);統(tǒng)計(jì)分析每位學(xué)生的測試成績,對(duì)測試成績未達(dá)到平均分的學(xué)生,通過郵件或QQ方式給予本章的學(xué)業(yè)預(yù)警;幫助有學(xué)業(yè)預(yù)警的學(xué)生分析學(xué)習(xí)中遇到的困難及存在的原因,并為其提供具體的學(xué)習(xí)資源和幫扶的同伴。
以數(shù)據(jù)結(jié)構(gòu)第二章線性表的教學(xué)內(nèi)容為例,教師對(duì)線上學(xué)習(xí)平臺(tái)的監(jiān)控過程如下。
1) 針對(duì)授課知識(shí)點(diǎn)布置測試題。
教師根據(jù)教學(xué)大綱的要求,利用2學(xué)時(shí)講授完線性表的順序存儲(chǔ)結(jié)構(gòu)與鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)后,針對(duì)這兩部分內(nèi)容涉及的知識(shí)點(diǎn),組織由10道選擇題構(gòu)成的測試。這10道題既包括基本概念,又包括綜合應(yīng)用,以檢測學(xué)生對(duì)這兩部分理論知識(shí)的掌握情況。每一道測試題10分,共100分。
2) 觀察學(xué)生的測試情況,調(diào)整教學(xué)內(nèi)容。
從發(fā)布測試之日起,要求學(xué)生必須在兩周之內(nèi)完成測試。教師從開啟測試之日起,每天定時(shí)觀察學(xué)生登錄線上平臺(tái)的學(xué)習(xí)情況,如學(xué)生學(xué)習(xí)課堂教學(xué)資源的時(shí)間與次數(shù),在不同教學(xué)資源之間切換的頻繁程度。如果有學(xué)生完成了測試,觀察并記錄學(xué)生對(duì)知識(shí)點(diǎn)的掌握情況。2017—2018學(xué)年第2學(xué)期,有73名學(xué)生選修本課程。開啟本章測試的第2天,就有58名學(xué)生參與了測試,參與程度達(dá)到79%。在第一批參與測試的58名學(xué)生中,只有12名學(xué)生測試一次且以滿分通過,知識(shí)點(diǎn)掌握較好的比例僅為20%;其余學(xué)生中,有經(jīng)過2次、3次或4次測試最終獲得滿分的,也有測試成績不合格的學(xué)生沒有進(jìn)行下一輪測試。分析參與第一輪測試且未獲得滿分的46位學(xué)生發(fā)現(xiàn),他們的共同錯(cuò)誤主要體現(xiàn)在3方面:順序表的插入操作、線性表存儲(chǔ)結(jié)構(gòu)的選擇以及線性單鏈表插入與刪除的綜合應(yīng)用。
通過對(duì)線上平臺(tái)學(xué)生學(xué)習(xí)數(shù)據(jù)的了解,教師能夠基本掌握學(xué)生的學(xué)習(xí)態(tài)度、學(xué)生沒有掌握的共性問題,于是,在章節(jié)后續(xù)的課堂教學(xué)中,可以有意識(shí)地詳細(xì)講解學(xué)生出錯(cuò)的共性問題,淡化學(xué)生掌握較好的內(nèi)容。
3) 提供個(gè)性化學(xué)習(xí)支持與幫扶。
通過定期了解學(xué)生線上學(xué)習(xí)情況,教師已大致掌握學(xué)生的整體學(xué)習(xí)態(tài)度、學(xué)習(xí)能力與學(xué)習(xí)成績分布。在2017—2018學(xué)年第2學(xué)期,選取2名男生和1名女生作為本課程的課外教學(xué)助手。在每一章節(jié)的測試日期截止后,教師根據(jù)管理線上平臺(tái)學(xué)生提供的測試成績與相關(guān)數(shù)據(jù),為本章測試未達(dá)到平均分和未參加本章測試的學(xué)生發(fā)送郵件或QQ提醒,給予相應(yīng)的學(xué)業(yè)預(yù)警。
針對(duì)每位有學(xué)業(yè)預(yù)警的學(xué)生,指定課外教學(xué)助手,并根據(jù)每位有學(xué)業(yè)預(yù)警的學(xué)生的錯(cuò)題,分發(fā)指定的學(xué)習(xí)資料和線下作業(yè),并要求課外教學(xué)助手督促這些學(xué)生在一周內(nèi)完成指定學(xué)習(xí)內(nèi)容和作業(yè)。教師通過批閱作業(yè)進(jìn)一步了解學(xué)業(yè)預(yù)警學(xué)生的掌握情況。在2017—2018學(xué)年第2學(xué)期第二章測試中,給予了5名學(xué)生學(xué)業(yè)預(yù)警,通過后續(xù)具體的學(xué)習(xí)支持與幫扶,這5名學(xué)生在課程后續(xù)章節(jié)的學(xué)習(xí)表現(xiàn)良好,編程能力得到了大幅度提升。
利用2017—2018學(xué)年第2學(xué)期數(shù)據(jù)結(jié)構(gòu)線上平臺(tái)收集的學(xué)生學(xué)習(xí)行為數(shù)據(jù),我們對(duì)20人次學(xué)生的學(xué)習(xí)態(tài)度進(jìn)行了教育和端正;對(duì)30人次的章節(jié)學(xué)習(xí)給予了學(xué)業(yè)預(yù)警,并進(jìn)行了幫扶對(duì)接和學(xué)習(xí)支持。2017—2018學(xué)年第2學(xué)期期末考試結(jié)束,整理教師線下收集的學(xué)生學(xué)習(xí)數(shù)據(jù),如課堂出勤次數(shù)、線下作業(yè)完成次數(shù)、線下實(shí)驗(yàn)完成次數(shù)、期末考試等,并結(jié)合學(xué)生線上學(xué)習(xí)的數(shù)據(jù),如參與章節(jié)測試次數(shù)、測試時(shí)間、測試成績等,進(jìn)行統(tǒng)計(jì)分析和學(xué)生學(xué)習(xí)行為模型的構(gòu)建。通過以上學(xué)生學(xué)習(xí)數(shù)據(jù)的探索分析發(fā)現(xiàn),判斷一個(gè)學(xué)生能否掌握好本課程的知識(shí),認(rèn)真參與本課程的線上學(xué)習(xí)是關(guān)鍵,這是因?yàn)榧磿r(shí)的線上測試能夠考核學(xué)生對(duì)本課程中知識(shí)的掌握情況,從而為后繼內(nèi)容的學(xué)習(xí)奠定基礎(chǔ)。
利用上述分析結(jié)果,在2018—2019年第1學(xué)期的數(shù)據(jù)結(jié)構(gòu)課程教學(xué)中,我們對(duì)參與線上學(xué)習(xí)的89名學(xué)生進(jìn)行了更加頻繁的監(jiān)控與跟蹤。教學(xué)過程中發(fā)現(xiàn),隨著教學(xué)進(jìn)度的推進(jìn),給予章節(jié)學(xué)習(xí)預(yù)警的學(xué)生人數(shù)逐漸減少,課堂教學(xué)中曾經(jīng)講過的內(nèi)容返工重新講解的次數(shù)也隨之減少,學(xué)生課后學(xué)習(xí)的自主性明顯比上一學(xué)年有所提高。與此同時(shí),教師在學(xué)生學(xué)習(xí)興趣上升的階段,有意識(shí)地布置不同層次的工程應(yīng)用問題,要求學(xué)生根據(jù)自己的實(shí)際情況,運(yùn)用所學(xué)知識(shí)編寫相應(yīng)的程序進(jìn)行解決。經(jīng)過一學(xué)期的持續(xù)改進(jìn),課程考核的通過率提高了,更重要的是許多學(xué)生反饋通過這種教學(xué)模式,自主學(xué)習(xí)能力得到了鍛煉,編程能力得到了提升,更有興趣和信心參加各類程序設(shè)計(jì)競賽和學(xué)科競賽。
數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)相關(guān)專業(yè)培養(yǎng)學(xué)生應(yīng)用軟件開發(fā)能力的重要課程,然而,現(xiàn)有數(shù)據(jù)結(jié)構(gòu)的教與學(xué)卻存在“鴻溝”。為實(shí)現(xiàn)教師與學(xué)生之間的雙向溝通和交流,需將數(shù)據(jù)結(jié)構(gòu)課程的線上學(xué)習(xí)作為數(shù)據(jù)結(jié)構(gòu)課堂教學(xué)的拓展。教師通過監(jiān)管學(xué)生的線上學(xué)習(xí)行為,并結(jié)合課堂教學(xué)的實(shí)際情況,能真實(shí)了解每位學(xué)生對(duì)知識(shí)的掌握情況,從而給予學(xué)生個(gè)性化的支持和幫扶。實(shí)踐證明,融入線上學(xué)習(xí)的數(shù)據(jù)結(jié)構(gòu)課程教學(xué)模式借助數(shù)據(jù)驅(qū)動(dòng),讓大多數(shù)學(xué)生能基于已有的程序設(shè)計(jì)能力體驗(yàn)數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)的樂趣,培養(yǎng)自主學(xué)習(xí)的能力,提升編程的興趣,增強(qiáng)編程的自信。