岳增龍 王雪
(北京電子科技職業(yè)學(xué)院)
隨著數(shù)據(jù)分析和開(kāi)放科學(xué)的發(fā)展,Jupyter平臺(tái)的出現(xiàn)充分體現(xiàn)了一種交互式編程的范式,主要通過(guò)基于網(wǎng)頁(yè)的用于交互計(jì)算的應(yīng)用程序,貫穿開(kāi)發(fā)全過(guò)程:開(kāi)發(fā)、文檔編寫(xiě)、運(yùn)行代碼和展示結(jié)果。其實(shí)質(zhì)可以理解為一個(gè)在線(xiàn)可交互式筆記本,允許用戶(hù)創(chuàng)建和共享包含代碼、方程式、可視化、融合音頻、文本等富媒體信息。結(jié)合線(xiàn)上、線(xiàn)下教學(xué)模式的不斷創(chuàng)新與發(fā)展,充分發(fā)揮該平臺(tái)易于交互展示的優(yōu)點(diǎn),利用該平臺(tái)通過(guò)合理的教學(xué)設(shè)計(jì),充分結(jié)合學(xué)情,可以提供完整“教、練、答、評(píng)、賽”五步閉環(huán)的交互式教學(xué)過(guò)程,確保線(xiàn)上線(xiàn)下教學(xué)同質(zhì)等效。
Jupyternotebook可以包含來(lái)自各種語(yǔ)言的實(shí)時(shí)代碼,以及可視化、解釋性文本HTML 或Markdown、格式化的文本、圖像、以及用 LaTeX編寫(xiě)的公式,主要特點(diǎn)包括:
(1)編程時(shí)具有語(yǔ)法高亮、縮進(jìn)、tab補(bǔ)全的功能。
(2)可直接通過(guò)瀏覽器運(yùn)行代碼,同時(shí)在代碼塊下方展示運(yùn)行結(jié)果。
(3)以富媒體格式展示計(jì)算結(jié)果。富媒體格式包括:HTML,LaTeX,PNG,SVG 等。
(4)對(duì)代碼編寫(xiě)說(shuō)明文檔或語(yǔ)句時(shí),支持Markdown語(yǔ)法。
(5)支持使用LaTeX編寫(xiě)數(shù)學(xué)性說(shuō)明。
其架構(gòu)示意圖1所示,JupyterNotebook用戶(hù)用瀏覽器以網(wǎng)頁(yè)的形式打開(kāi)相應(yīng)資源,并在本地修改和編輯文件、運(yùn)行代碼,代碼的運(yùn)行結(jié)果也能夠直接輸出顯示。
圖1 JupterNotebook架構(gòu)示意圖
用Jupyter Notebook進(jìn)行教學(xué)的主要優(yōu)勢(shì)如下:
(1)各功能集于一體,適合仿真、實(shí)驗(yàn)數(shù)據(jù)分析,富媒體形式直展示。
(2)可以實(shí)現(xiàn)交互式展現(xiàn)。頁(yè)面結(jié)構(gòu)是以Cell(單元)形式組織的,其中每個(gè)獨(dú)立單元,都可實(shí)現(xiàn)各種元素單獨(dú)或者混排格式。在集成第三方插件的支持下,能夠呈現(xiàn)一些互動(dòng)可視化內(nèi)容,如信號(hào)處理變化的動(dòng)態(tài)過(guò)程等。
教學(xué)交互層次塔理論如圖2所示將遠(yuǎn)程學(xué)習(xí)交互模型按照“操作交互—信息交互—概念交互”從下到上表示教學(xué)交互由低級(jí)到高級(jí)、由具體到抽象的一個(gè)過(guò)程,交互式教學(xué)方法框架。
圖2 教學(xué)交互層次塔
操作交互是學(xué)習(xí)者與媒體界面的交互,體現(xiàn)的是學(xué)習(xí)者使用學(xué)習(xí)媒體的熟練程度。在課程中,充分利用JupyterNotebook來(lái)實(shí)現(xiàn)網(wǎng)頁(yè)操作為主的交互式學(xué)習(xí)。
信息交互是學(xué)生與教學(xué)要素的交互,體現(xiàn)的是教學(xué)設(shè)計(jì)和教學(xué)實(shí)施水平,其包括學(xué)生與學(xué)習(xí)資源之間的交互、師生之間交互,以及學(xué)生與學(xué)生之間關(guān)于信息的交互。
概念交互是學(xué)習(xí)者的概念與新概念的交互。概念交互是所有其它教學(xué)交互的根本目的,信息交互是實(shí)現(xiàn)概念交互的策略與過(guò)程。
總體來(lái)說(shuō),通過(guò)結(jié)合Jupyter Notebook完成整個(gè)交互式教學(xué)過(guò)程如圖3所示。
圖3 Jupyter平臺(tái)交互教學(xué)過(guò)程
首先由授課老師創(chuàng)建教學(xué)過(guò)程中所有交互過(guò)程、編寫(xiě)說(shuō)明文檔、數(shù)學(xué)公式圖片以及其他形式的輸入和輸出,也可以是html或PDF的格式的教學(xué)材料、課程項(xiàng)目案例文檔、部分代碼等課程資源,當(dāng)用到項(xiàng)目代碼時(shí),學(xué)生在線(xiàn)完成代碼編輯和編譯后,即可形成相應(yīng)知識(shí)點(diǎn)的學(xué)習(xí)筆記,供后面復(fù)習(xí)與檢索知識(shí)點(diǎn)的時(shí)候使用。
第二步從本地計(jì)算機(jī)推送并存儲(chǔ)到服務(wù)端或者云端。充分利用Jupter云端分布式版本控制系統(tǒng),讓學(xué)生可以實(shí)時(shí)在云端獲取所需的學(xué)習(xí)資料,而其完成的作業(yè)代碼也可以提交到系統(tǒng)中,在需要的時(shí)候教師和其他學(xué)生均可查看。具體操作為創(chuàng)建一個(gè)主分支與若干個(gè)學(xué)生分支。主分支的內(nèi)容包括教師使用的材料如課件與筆記、課堂練習(xí)所需的文檔、代碼、發(fā)布給學(xué)生的練習(xí)題。教師可根據(jù)需要控制主分支的版本,比如在所有學(xué)生均提交作業(yè)后才發(fā)布對(duì)應(yīng)的答案。其次,學(xué)生可以從服務(wù)端或云端隨時(shí)克隆和拉取最新版本的學(xué)習(xí)資料,在課外自主學(xué)習(xí)。學(xué)生完成的代碼可以推送到其在服務(wù)端或云端對(duì)應(yīng)的分支,而通過(guò)分布式版本控制系統(tǒng),這些學(xué)生分支不會(huì)與主分支產(chǎn)生沖突。
最后,教師在課堂講授過(guò)程中共享自己的屏幕,在講解理論知識(shí)的同時(shí),實(shí)時(shí)編寫(xiě)并運(yùn)行代碼,加深與鞏固學(xué)生的理解,提高學(xué)習(xí)效率。同時(shí)學(xué)生應(yīng)同步進(jìn)行代碼編寫(xiě),理解和實(shí)踐遇到問(wèn)題的時(shí)候,教師可隨時(shí)切換到學(xué)生屏幕檢查其完成情況,達(dá)到知行合一的效果。
對(duì)比網(wǎng)絡(luò)和現(xiàn)實(shí)課堂的差異,結(jié)合實(shí)際具體情況,四種最常用場(chǎng)景如圖4,基于JupterNotebook平臺(tái)實(shí)現(xiàn)學(xué)生與服務(wù)端或者云端數(shù)據(jù)中心數(shù)據(jù)交互、信息交互、自愿交互、價(jià)值交互和身份交互。
圖4 網(wǎng)絡(luò)課堂vs現(xiàn)實(shí)課堂
第一是在線(xiàn)教室,老師和學(xué)生可以在家里或者任何Web網(wǎng)絡(luò)環(huán)境下上課。第二是電子教室,可以在電子教室里面使用數(shù)字黑板,所有的文檔、信息和在線(xiàn)教室是通用的。第三是課后的各種項(xiàng)目和活動(dòng),包括作業(yè)、評(píng)測(cè)、打卡。第四是自主學(xué)習(xí),包括閱讀、寫(xiě)作、筆記。
利用jupter平臺(tái)搭建及其他工具使用,輔助完成課堂場(chǎng)景、討論場(chǎng)景、練習(xí)場(chǎng)景、考核場(chǎng)景、自學(xué)場(chǎng)景、自我管理6種主要交互式教學(xué)場(chǎng)景教學(xué)任務(wù)。
對(duì)于線(xiàn)上教學(xué)過(guò)程,采用超星學(xué)習(xí)通為主要線(xiàn)上日常教學(xué)管理系統(tǒng),結(jié)合Jupyter Notebook的交互功能實(shí)現(xiàn)對(duì)該課程的教學(xué)交互設(shè)計(jì),通過(guò)直播軟件實(shí)現(xiàn)教師與學(xué)生之間的屏幕共享和課堂互動(dòng)。對(duì)于信號(hào)與系統(tǒng)課程的建設(shè),總體能夠覆蓋課前引入,理論探討,實(shí)操演練,總結(jié)評(píng)價(jià)的4個(gè)主要方面,具體與學(xué)生互動(dòng)過(guò)程包括在線(xiàn)領(lǐng)取任務(wù)書(shū),課程資源線(xiàn)上發(fā)布,理論學(xué)習(xí)過(guò)程,線(xiàn)上考核,互動(dòng)討論,實(shí)驗(yàn)操作及評(píng)價(jià),基本職業(yè)素養(yǎng)、能力過(guò)程評(píng)價(jià),以及課后拓展任務(wù)完成。
以下以課程中信號(hào)與系統(tǒng)中LTI系統(tǒng)的沖激響應(yīng)和階躍響應(yīng)這一知識(shí)點(diǎn)的教學(xué)過(guò)程為例,闡述該教學(xué)方法的實(shí)施情況。以L(fǎng)TI系統(tǒng)的階躍響應(yīng)為例,
學(xué)生自主完成主要代碼輸入和編輯,運(yùn)行后通過(guò)繪圖工具可以實(shí)時(shí)驗(yàn)證結(jié)果。
首先,將關(guān)于LTI系統(tǒng)的階躍響應(yīng)所涉及到的理論知識(shí)對(duì)應(yīng)的學(xué)習(xí)材料,以及將使用超星學(xué)習(xí)通將基本課程內(nèi)容上傳到平臺(tái)端,學(xué)生可以在課前預(yù)習(xí)并熟悉這部分內(nèi)容。然后在課程中,教師實(shí)時(shí)使用Jupyter Notebook在不同的Cell中輸入格式化的文本、圖像、公式和視頻、Python代碼(如圖5),學(xué)生在各自計(jì)算機(jī)上同步操作,完成Cell配置和修改后即可運(yùn)行相應(yīng)代碼,顯示結(jié)果如圖6所示。這能讓學(xué)生快速獲得一種將所學(xué)知識(shí)運(yùn)用到實(shí)際中的成就感,激發(fā)學(xué)習(xí)興趣,并通過(guò)軟件調(diào)試等過(guò)程,培養(yǎng)學(xué)生培養(yǎng)批判性思維和獨(dú)立解決問(wèn)題的能力。
圖5 LTI系統(tǒng)階躍響應(yīng)參考代碼
圖6 階躍響應(yīng)
針對(duì)教學(xué)過(guò)程中的重點(diǎn)和難點(diǎn),結(jié)合學(xué)生情況充分了解學(xué)生情況,在課中充分發(fā)揮平臺(tái)“交互式”的特點(diǎn),以學(xué)生為中心,引導(dǎo)學(xué)生邊學(xué)習(xí)理論知識(shí),邊動(dòng)手實(shí)踐,學(xué)會(huì)觀察實(shí)驗(yàn)結(jié)果,發(fā)現(xiàn)和解決問(wèn)題能力提升為主要目標(biāo),實(shí)施過(guò)程中針對(duì)對(duì)學(xué)生練習(xí)過(guò)程存在的問(wèn)題,通過(guò)不斷修改和優(yōu)化Cell中的內(nèi)容引導(dǎo)學(xué)生完成操作實(shí)驗(yàn),并在此基礎(chǔ)上進(jìn)行一定的知識(shí)拓展。課程最后學(xué)生可以通過(guò)提交代碼、運(yùn)行結(jié)果進(jìn)行在線(xiàn)考核,有效的提高課堂上全程和步步評(píng)測(cè)的效率。
利用Jupter平臺(tái)通過(guò)新型交互式教學(xué)模式可以有效幫助信號(hào)與系統(tǒng)課程教學(xué)活動(dòng),實(shí)現(xiàn)了在線(xiàn)學(xué)習(xí)的更高效率和更好效果,極大的滿(mǎn)足學(xué)生個(gè)性化學(xué)習(xí)、泛在學(xué)習(xí)的學(xué)習(xí)要求;同時(shí)提升了學(xué)生自主學(xué)習(xí)能力,計(jì)算機(jī)應(yīng)用及軟件編程能力;培養(yǎng)學(xué)生在實(shí)際工程背景項(xiàng)目中發(fā)現(xiàn)問(wèn)題、提出問(wèn)題以及解決問(wèn)題的能力,有效促進(jìn)學(xué)生的全面發(fā)展,也是對(duì)跨學(xué)科利用該平臺(tái)實(shí)現(xiàn)交互式教學(xué)的十分有意義的嘗試。