葉 琪,胡國(guó)玲
(華東理工大學(xué) 信息科學(xué)與工程學(xué)院,上海 200237)
近年來(lái),隨著新興的互聯(lián)網(wǎng)信息技術(shù)不斷滲透到教育行業(yè),傳統(tǒng)的教學(xué)方式正在不斷地發(fā)生著改變。特別是《國(guó)家長(zhǎng)期教育改革和發(fā)展規(guī)劃綱要》(2010—2020)的提出,加速了教育信息化的進(jìn)程。云課堂作為“互聯(lián)網(wǎng)+教育”的典型教學(xué)形式受到了廣泛的關(guān)注。云課堂[1]提供多種具有更大靈活性的教學(xué)方式,為計(jì)算機(jī)教育發(fā)展提出了新思路和方法。由于云課堂與傳統(tǒng)教學(xué)存在較大的差異,通常教師針對(duì)不同的教學(xué)形式各自單獨(dú)建設(shè)課程,往往教學(xué)資源未能得到充分的利用。因此,如何建立一套豐富的、多層次、多視角、兼容性強(qiáng)的課程模型,實(shí)現(xiàn)多種教學(xué)形式的交叉互補(bǔ),打通線上與線下兩種模式,確保課程能滿足不同層面的學(xué)生需求,這些都給課程建設(shè)帶來(lái)了新的挑戰(zhàn)。
數(shù)據(jù)結(jié)構(gòu)課程是計(jì)算機(jī)專業(yè)的核心課程,是一門研究非數(shù)值計(jì)算的程序設(shè)計(jì)問(wèn)題中計(jì)算機(jī)的操作對(duì)象以及它們之間的關(guān)系和操作等的學(xué)科[2]。它是進(jìn)一步學(xué)習(xí)計(jì)算機(jī)領(lǐng)域其他專業(yè)課程的基礎(chǔ),對(duì)從事軟件研發(fā)的專業(yè)人員起著重要的樞紐作用。該門課程對(duì)理論性和實(shí)踐性的要求都很高,不僅要求學(xué)生掌握數(shù)據(jù)的組織方法和現(xiàn)實(shí)問(wèn)題在計(jì)算機(jī)內(nèi)的表示方法,還要培養(yǎng)學(xué)生分析、設(shè)計(jì)、解決問(wèn)題和創(chuàng)新思維等多方面的綜合能力。
為了改變過(guò)去以知識(shí)灌輸為主的培養(yǎng)模式,使學(xué)生主動(dòng)地學(xué)習(xí),專家們從不同角度探討了數(shù)據(jù)結(jié)構(gòu)課程的建設(shè)。目前主流有兩類建設(shè)方案:一是構(gòu)建案例庫(kù)或游戲庫(kù),例如,Dicheva 等人[3]將數(shù)據(jù)結(jié)構(gòu)中的概念、應(yīng)用和實(shí)現(xiàn)3 個(gè)方面聯(lián)系在一起,設(shè)計(jì)了棧結(jié)構(gòu)的教育游戲,幫助學(xué)生在概念和實(shí)踐層面中對(duì)棧結(jié)構(gòu)的理解。楊武等人[4]提出了以實(shí)際工程項(xiàng)目和科研項(xiàng)目為素材構(gòu)建較大規(guī)模的案例庫(kù),以及徐新[5]提出的基于案例驅(qū)動(dòng)的系統(tǒng)構(gòu)建方法,都采用了案例庫(kù)進(jìn)行教學(xué)實(shí)踐,通過(guò)案例庫(kù)的實(shí)踐提高學(xué)生學(xué)習(xí)的積極性。另一類從教學(xué)模式進(jìn)行改革,例如徐薇[6]等人提出了基于智慧教室的翻轉(zhuǎn)課堂教學(xué)模式,給出數(shù)據(jù)結(jié)構(gòu)課程的翻轉(zhuǎn)課堂教學(xué)的設(shè)計(jì)與實(shí)施,并以調(diào)查問(wèn)卷對(duì)教學(xué)效果進(jìn)行評(píng)估。王翠娥[7]等人按照MOOC 平臺(tái)的教學(xué)模式,制定數(shù)據(jù)結(jié)構(gòu)課程規(guī)劃,并合理設(shè)置課程的授課內(nèi)容及時(shí)長(zhǎng)。
李明華[8]將MOOCs 分為3 種模型:完全網(wǎng)絡(luò)授課模式、網(wǎng)絡(luò)課程+學(xué)生自助式面對(duì)面互動(dòng)模式、網(wǎng)路課程+本地大學(xué)教授面對(duì)面深度參與教學(xué)模式。在此基礎(chǔ)上,我們根據(jù)課程的適用群體,建立一種如圖1 所示的基于云課堂的混合式模型,提供慕課、案例分析、在線課程、線下課堂4 種教學(xué)模式,以及公共的教學(xué)文件和數(shù)據(jù)分析模塊。其中,僅線下課堂是按傳統(tǒng)的教學(xué)方式安排教學(xué)時(shí)間和場(chǎng)地,慕課、案例分析、在線課程、公共的教學(xué)文件和數(shù)據(jù)分析模塊建立在網(wǎng)絡(luò)環(huán)境中。慕課和在線課程都是視頻形式的網(wǎng)絡(luò)課程。案例分析平臺(tái)中包含了案例資源庫(kù)、案例題庫(kù)及實(shí)現(xiàn)等。公共的教學(xué)文件包括課件、每個(gè)知識(shí)點(diǎn)的作業(yè)、測(cè)試題、習(xí)題詳解、階段性測(cè)試等。
圖1 基于云課堂的混合式模型
混合式模式將不同教學(xué)模式進(jìn)行組合,以適合不同的學(xué)生群體。具體如下:
(1)慕課+案例分析模式:慕課和案例分析相結(jié)合的方式一方面提供了數(shù)據(jù)結(jié)構(gòu)中基礎(chǔ)知識(shí)點(diǎn)的MOOC 精講,另一方面利用案例分析幫助學(xué)習(xí)者強(qiáng)化工程應(yīng)用能力,使得規(guī)?;虒W(xué)和個(gè)性化學(xué)習(xí)得到了統(tǒng)一。該模式有很強(qiáng)的靈活性,適合于對(duì)數(shù)據(jù)結(jié)構(gòu)課程有興趣的任何人員。
(2)慕課+線下課堂模式:學(xué)生利用在線慕課學(xué)習(xí)掌握基礎(chǔ)知識(shí)點(diǎn),再通過(guò)線下的學(xué)習(xí)匯報(bào)、分組項(xiàng)目實(shí)踐、課堂討論等多種模式來(lái)鞏固知識(shí)點(diǎn)的理解,更進(jìn)一步提高學(xué)生分析問(wèn)題、解決問(wèn)題的能力。該模式基礎(chǔ)知識(shí)點(diǎn)的學(xué)習(xí)過(guò)程自由靈活,線下課堂所需集中教學(xué)時(shí)間較少,適合少數(shù)真實(shí)注冊(cè)的在校非相關(guān)專業(yè)的學(xué)生。
(3)在線課程+案例分析+線下課堂模式:在線課程提供了數(shù)據(jù)知識(shí)點(diǎn)以及抽象數(shù)據(jù)類型實(shí)現(xiàn)的詳細(xì)講解和分析,案例分析平臺(tái)給出具體案例的解析并提供學(xué)生實(shí)現(xiàn)的平臺(tái),線下課堂提供學(xué)生答疑解惑和項(xiàng)目合作交流的機(jī)會(huì)。該模式解決線下課時(shí)嚴(yán)重不足與深入學(xué)習(xí)要求之間的矛盾,適合于少數(shù)真實(shí)注冊(cè)的在校相近專業(yè)的學(xué)生。
(4)線下課堂+在線課程模式:線下課堂和在線課程相結(jié)合的模式兼顧了知識(shí)講解與能力培養(yǎng),既充分發(fā)揮學(xué)生自主學(xué)習(xí)的積極性與主動(dòng)性,又有教師的引導(dǎo)和學(xué)習(xí)過(guò)程的管理,適合于本校計(jì)算機(jī)專業(yè)的學(xué)生。
本模型建設(shè)慕課和在線課程兩種不同形式的網(wǎng)絡(luò)課程。雖然慕課和在線課堂的核心要素都是視頻,依托的都是互聯(lián)網(wǎng)信息技術(shù),但兩者在建設(shè)中存在許多的不同之處。表1 從適用人群、特點(diǎn)、教學(xué)內(nèi)容、教學(xué)方法、教學(xué)過(guò)程等不同角度給出了慕課和在線課程的比較。
表1 慕課和在線課程的比較
慕課的建設(shè)目標(biāo)是實(shí)現(xiàn)教學(xué)資源的開放與共享,為學(xué)生提供更具廣度的知識(shí)。慕課采用單獨(dú)錄播的形式制作,強(qiáng)調(diào)了精巧的課程設(shè)計(jì),側(cè)重于數(shù)據(jù)結(jié)構(gòu)知識(shí)體系的構(gòu)建。慕課面向全社會(huì)開放,滿足學(xué)生個(gè)性化學(xué)習(xí)需求。此外,為了有效保證慕課課程的質(zhì)量,采用在線作業(yè)和測(cè)驗(yàn)等評(píng)價(jià)方法來(lái)督促學(xué)生的學(xué)習(xí)過(guò)程。
在線課程的建設(shè)目標(biāo)是建立一個(gè)不受時(shí)空限制的學(xué)習(xí)環(huán)境,緩解學(xué)生基礎(chǔ)參差不齊的情況。在線課程是在直接傳統(tǒng)教學(xué)課堂中進(jìn)行錄播和剪輯制作而成,課程設(shè)計(jì)的側(cè)重點(diǎn)在學(xué)習(xí)內(nèi)容基礎(chǔ)上獲取復(fù)雜技能。在線課程兼顧了傳統(tǒng)課堂的交互性強(qiáng)、課堂氣氛活躍特點(diǎn)以及網(wǎng)絡(luò)課程傳播廣、可重復(fù)學(xué)習(xí)等特點(diǎn)。由于在線課程的建設(shè)目標(biāo)和自身特點(diǎn),主要是面向本校學(xué)生相近專業(yè)學(xué)生開放。在線課程的考核方式采用了在線評(píng)估和線下考核方式相結(jié)合的綜合評(píng)估,考核方式更加靈活,同時(shí)也保證了考核成績(jī)的真實(shí)性。
以最小生成樹的Kruskal 算法為例,慕課教學(xué)充分利用多媒體教學(xué)載體,首先使用Flash 實(shí)例演示該算法構(gòu)造最小生成樹的過(guò)程,然后深入淺出地總結(jié)該算法的基本思想,接著給出偽代碼,最后簡(jiǎn)要分析算法的性能。
在線課程教學(xué)采用了啟發(fā)式教學(xué)方式,首先給出算法的基本思想,然后通過(guò)剪輯技術(shù)實(shí)現(xiàn)對(duì)實(shí)例和在線學(xué)習(xí)的學(xué)生交互地構(gòu)造最小生成樹,接著復(fù)習(xí)圖的存儲(chǔ)結(jié)構(gòu)并給出鄰接矩陣創(chuàng)建圖的實(shí)現(xiàn)函數(shù):CreateGraph()、BuildGraph(),然后再在此基礎(chǔ)上講解以鄰接矩陣為存儲(chǔ)結(jié)構(gòu)的Kruskal 算法的實(shí)現(xiàn)函數(shù),最后給出主函數(shù)以及輸入文件,分析Kruskal 算法的輸出結(jié)果和算法的時(shí)間/空間復(fù)雜度。此外,展開討論利用最小生成樹算法實(shí)現(xiàn)聚類算法[9],引導(dǎo)學(xué)生概括和發(fā)現(xiàn)最小生成樹算法不同的應(yīng)用領(lǐng)域。
這種更具有針對(duì)性的建設(shè)使得教學(xué)更貼合不同的學(xué)生群體,給予學(xué)生更大的自由,避免學(xué)生產(chǎn)生厭學(xué)、棄學(xué)的現(xiàn)象。
隨著軟件產(chǎn)業(yè)的不斷發(fā)展以及競(jìng)爭(zhēng)的加劇,一方面對(duì)計(jì)算機(jī)專業(yè)人員提出了更高的工程實(shí)踐要求;另一方面,無(wú)論是網(wǎng)絡(luò)教學(xué)還是傳統(tǒng)的線下教學(xué)都面臨著學(xué)生無(wú)法將課堂所學(xué)的知識(shí)與實(shí)際應(yīng)用項(xiàng)目之間建立聯(lián)系,不清楚線性表、棧、隊(duì)列、樹、圖等結(jié)構(gòu)能解決什么應(yīng)用問(wèn)題以及應(yīng)該如何應(yīng)用。
除此之外,不同種類學(xué)生的基礎(chǔ)各不相同、前期專業(yè)各不相同、能力水平差異很大。部分學(xué)生數(shù)據(jù)結(jié)構(gòu)的先導(dǎo)課程C 語(yǔ)言程序設(shè)計(jì)或面向?qū)ο蟮某绦蛟O(shè)計(jì)課程基礎(chǔ)較差,無(wú)法熟練地應(yīng)用指針、構(gòu)造類型、鏈表等結(jié)構(gòu),直接影響數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)。而編程能力較強(qiáng)的學(xué)生又感覺基礎(chǔ)的課后實(shí)驗(yàn)過(guò)于簡(jiǎn)單,學(xué)習(xí)的積極性不高。
針對(duì)上述問(wèn)題,構(gòu)建多層次的案例庫(kù)能很好將教學(xué)內(nèi)容與前沿技術(shù)以及產(chǎn)業(yè)需求相結(jié)合,彌補(bǔ)目前教學(xué)中常見的課程實(shí)驗(yàn)與實(shí)際工程項(xiàng)目脫節(jié)的情況,不同層次的案例也能解決學(xué)生能力差異大的問(wèn)題[10]。
案例分析平臺(tái)的建設(shè)目標(biāo)是強(qiáng)調(diào)數(shù)據(jù)結(jié)構(gòu)基本思想的應(yīng)用實(shí)踐,將能力培養(yǎng)落到具體的案例實(shí)踐中,使學(xué)生通過(guò)案例的實(shí)踐訓(xùn)練,具備分析問(wèn)題、設(shè)計(jì)方案和解決問(wèn)題的能力。更進(jìn)一步,培養(yǎng)學(xué)生的團(tuán)隊(duì)合作和溝通能力。
建設(shè)包括基礎(chǔ)型案例、設(shè)計(jì)型案例、綜合型案例三類覆蓋全部知識(shí)點(diǎn),且難易程度不一的案例。每個(gè)案例庫(kù)給出案例的設(shè)計(jì)要求、設(shè)計(jì)思路、測(cè)試用例、代碼示例、常見問(wèn)題分析等。其中,基礎(chǔ)型案例、設(shè)計(jì)型案例以個(gè)人完成為主,綜合型案例鼓勵(lì)學(xué)生組隊(duì)完成。
學(xué)生可以根據(jù)實(shí)際情況選擇不同層次和難度的案例,不要求所有學(xué)生對(duì)所有層次的案例都能掌握和實(shí)現(xiàn)。例如,對(duì)課程感興趣的人員可以要求實(shí)現(xiàn)基礎(chǔ)案例,學(xué)習(xí)理解設(shè)計(jì)型案例的設(shè)計(jì)思路;本校計(jì)算機(jī)專業(yè)的學(xué)生則要求實(shí)現(xiàn)基礎(chǔ)型案例和設(shè)計(jì)型案例,掌握綜合型案例的設(shè)計(jì)思路。
多層次的案例和知識(shí)點(diǎn)的覆蓋關(guān)系設(shè)置見表2,圖中每列代表一個(gè)知識(shí)點(diǎn),前三行表示了每個(gè)基礎(chǔ)型案例、設(shè)計(jì)型案例、綜合型案例編號(hào)所覆蓋的知識(shí)點(diǎn),例如基礎(chǔ)案例(1)涉及線性表—順序結(jié)構(gòu),第一個(gè)綜合案例就覆蓋了線性表—順序結(jié)構(gòu)、堆、簡(jiǎn)單排序等三個(gè)知識(shí)點(diǎn)。第四行到最后一行分別表示每個(gè)知識(shí)點(diǎn)在案例實(shí)現(xiàn)時(shí)需要考察的更細(xì)分的小知識(shí)點(diǎn),并以“△”標(biāo)識(shí),例如線性表—順序結(jié)構(gòu)知識(shí)點(diǎn)中包括了存儲(chǔ)結(jié)構(gòu)、操作(創(chuàng)建順序表、插入/刪除、查詢)、性能分析等小的知識(shí)點(diǎn)。
表2 案例和知識(shí)點(diǎn)的覆蓋關(guān)系設(shè)置
基礎(chǔ)型案例主要以基礎(chǔ)實(shí)驗(yàn)為主,目的是驗(yàn)證各種基本數(shù)據(jù)結(jié)構(gòu)算法。學(xué)生通過(guò)案例實(shí)踐過(guò)程中發(fā)現(xiàn)存在的問(wèn)題,將理論知識(shí)與實(shí)踐具體操作相結(jié)合形成學(xué)習(xí)的環(huán)路,再進(jìn)一步返回加深理論知識(shí)的學(xué)習(xí)。學(xué)生通過(guò)基礎(chǔ)型案例的練習(xí)和訓(xùn)練,不但加深了對(duì)理論知識(shí)的理解,同時(shí)還強(qiáng)化了代碼實(shí)現(xiàn)的訓(xùn)練。基礎(chǔ)型案例覆蓋數(shù)據(jù)結(jié)構(gòu)中所有主要的知識(shí)點(diǎn),設(shè)計(jì)案例時(shí)可以選擇每個(gè)知識(shí)點(diǎn)中2~3 個(gè)小知識(shí)點(diǎn)作為考察學(xué)生的設(shè)計(jì)要求。
設(shè)計(jì)型案例以一些小型的實(shí)際問(wèn)題和以往教學(xué)中累計(jì)的項(xiàng)目為來(lái)源,其建設(shè)目標(biāo)是要求學(xué)生能運(yùn)用各類基本數(shù)據(jù)結(jié)構(gòu),識(shí)別案例問(wèn)題的關(guān)鍵環(huán)節(jié),培養(yǎng)學(xué)生的個(gè)人技能。設(shè)計(jì)型案例以考察一個(gè)知識(shí)點(diǎn)的應(yīng)用為核心,包括分析問(wèn)題定義數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),給出設(shè)計(jì)思路并實(shí)現(xiàn)相關(guān)的算法,以及算法的性能分析等多個(gè)環(huán)節(jié)。此外,設(shè)計(jì)型案例還需給出過(guò)去教學(xué)實(shí)踐中常見的錯(cuò)誤問(wèn)題分析實(shí)例。
綜合型案例以一些真實(shí)項(xiàng)目為來(lái)源,要求學(xué)生能夠針對(duì)復(fù)雜工程問(wèn)題,選擇適當(dāng)?shù)募夹g(shù)解決實(shí)際問(wèn)題,并理解方法的局限性。綜合型案例是需要使用多種不同基本數(shù)據(jù)結(jié)構(gòu)組合才能解決的實(shí)際案例。
基于云課堂的混合式教學(xué)的線下課堂采取翻轉(zhuǎn)課堂的教學(xué)模式,以學(xué)生為主,教師主要是答疑解惑。學(xué)生將前期在看課程視頻和實(shí)現(xiàn)案例過(guò)程中出現(xiàn)的問(wèn)題帶到課堂,教師采用分組討論、現(xiàn)場(chǎng)匯報(bào)、綜合型案例成果匯報(bào)等多種形式,引導(dǎo)學(xué)生自主解決難點(diǎn)問(wèn)題,從而進(jìn)一步確認(rèn)、強(qiáng)化、提升學(xué)生對(duì)知識(shí)點(diǎn)的理解。教師還需對(duì)慕課或在線課程中相關(guān)知識(shí)的重點(diǎn)和難點(diǎn)進(jìn)行擴(kuò)展和延伸,指導(dǎo)學(xué)生深層次內(nèi)化知識(shí),并建立更完整的知識(shí)體系。
為了保障多層次人才培養(yǎng)的需求,本文建立了數(shù)據(jù)結(jié)構(gòu)課程的基于云課堂的混合式模型。云課堂的建設(shè)符合了現(xiàn)代高等教育的發(fā)展趨勢(shì),具有靈活、交互性強(qiáng)、可重復(fù)等特點(diǎn),滿足學(xué)生個(gè)性化、自主學(xué)習(xí)的需求。數(shù)據(jù)結(jié)構(gòu)課程的混合式模型提供了一個(gè)整體解決方案,促進(jìn)教學(xué)資源的整合和共享,實(shí)現(xiàn)了教學(xué)資源最大化的利用。