岳增龍 王雪
(北京電子科技職業學院)
隨著數據分析和開放科學的發展,Jupyter平臺的出現充分體現了一種交互式編程的范式,主要通過基于網頁的用于交互計算的應用程序,貫穿開發全過程:開發、文檔編寫、運行代碼和展示結果。其實質可以理解為一個在線可交互式筆記本,允許用戶創建和共享包含代碼、方程式、可視化、融合音頻、文本等富媒體信息。結合線上、線下教學模式的不斷創新與發展,充分發揮該平臺易于交互展示的優點,利用該平臺通過合理的教學設計,充分結合學情,可以提供完整“教、練、答、評、賽”五步閉環的交互式教學過程,確保線上線下教學同質等效。
Jupyternotebook可以包含來自各種語言的實時代碼,以及可視化、解釋性文本HTML 或Markdown、格式化的文本、圖像、以及用 LaTeX編寫的公式,主要特點包括:
(1)編程時具有語法高亮、縮進、tab補全的功能。
(2)可直接通過瀏覽器運行代碼,同時在代碼塊下方展示運行結果。
(3)以富媒體格式展示計算結果。富媒體格式包括:HTML,LaTeX,PNG,SVG 等。
(4)對代碼編寫說明文檔或語句時,支持Markdown語法。
(5)支持使用LaTeX編寫數學性說明。
其架構示意圖1所示,JupyterNotebook用戶用瀏覽器以網頁的形式打開相應資源,并在本地修改和編輯文件、運行代碼,代碼的運行結果也能夠直接輸出顯示。

圖1 JupterNotebook架構示意圖
用Jupyter Notebook進行教學的主要優勢如下:
(1)各功能集于一體,適合仿真、實驗數據分析,富媒體形式直展示。
(2)可以實現交互式展現。頁面結構是以Cell(單元)形式組織的,其中每個獨立單元,都可實現各種元素單獨或者混排格式。在集成第三方插件的支持下,能夠呈現一些互動可視化內容,如信號處理變化的動態過程等。
教學交互層次塔理論如圖2所示將遠程學習交互模型按照“操作交互—信息交互—概念交互”從下到上表示教學交互由低級到高級、由具體到抽象的一個過程,交互式教學方法框架。

圖2 教學交互層次塔
操作交互是學習者與媒體界面的交互,體現的是學習者使用學習媒體的熟練程度。在課程中,充分利用JupyterNotebook來實現網頁操作為主的交互式學習。
信息交互是學生與教學要素的交互,體現的是教學設計和教學實施水平,其包括學生與學習資源之間的交互、師生之間交互,以及學生與學生之間關于信息的交互。
概念交互是學習者的概念與新概念的交互。概念交互是所有其它教學交互的根本目的,信息交互是實現概念交互的策略與過程。
總體來說,通過結合Jupyter Notebook完成整個交互式教學過程如圖3所示。

圖3 Jupyter平臺交互教學過程
首先由授課老師創建教學過程中所有交互過程、編寫說明文檔、數學公式圖片以及其他形式的輸入和輸出,也可以是html或PDF的格式的教學材料、課程項目案例文檔、部分代碼等課程資源,當用到項目代碼時,學生在線完成代碼編輯和編譯后,即可形成相應知識點的學習筆記,供后面復習與檢索知識點的時候使用。
第二步從本地計算機推送并存儲到服務端或者云端。充分利用Jupter云端分布式版本控制系統,讓學生可以實時在云端獲取所需的學習資料,而其完成的作業代碼也可以提交到系統中,在需要的時候教師和其他學生均可查看。具體操作為創建一個主分支與若干個學生分支。主分支的內容包括教師使用的材料如課件與筆記、課堂練習所需的文檔、代碼、發布給學生的練習題。教師可根據需要控制主分支的版本,比如在所有學生均提交作業后才發布對應的答案。其次,學生可以從服務端或云端隨時克隆和拉取最新版本的學習資料,在課外自主學習。學生完成的代碼可以推送到其在服務端或云端對應的分支,而通過分布式版本控制系統,這些學生分支不會與主分支產生沖突。
最后,教師在課堂講授過程中共享自己的屏幕,在講解理論知識的同時,實時編寫并運行代碼,加深與鞏固學生的理解,提高學習效率。同時學生應同步進行代碼編寫,理解和實踐遇到問題的時候,教師可隨時切換到學生屏幕檢查其完成情況,達到知行合一的效果。
對比網絡和現實課堂的差異,結合實際具體情況,四種最常用場景如圖4,基于JupterNotebook平臺實現學生與服務端或者云端數據中心數據交互、信息交互、自愿交互、價值交互和身份交互。

圖4 網絡課堂vs現實課堂
第一是在線教室,老師和學生可以在家里或者任何Web網絡環境下上課。第二是電子教室,可以在電子教室里面使用數字黑板,所有的文檔、信息和在線教室是通用的。第三是課后的各種項目和活動,包括作業、評測、打卡。第四是自主學習,包括閱讀、寫作、筆記。
利用jupter平臺搭建及其他工具使用,輔助完成課堂場景、討論場景、練習場景、考核場景、自學場景、自我管理6種主要交互式教學場景教學任務。
對于線上教學過程,采用超星學習通為主要線上日常教學管理系統,結合Jupyter Notebook的交互功能實現對該課程的教學交互設計,通過直播軟件實現教師與學生之間的屏幕共享和課堂互動。對于信號與系統課程的建設,總體能夠覆蓋課前引入,理論探討,實操演練,總結評價的4個主要方面,具體與學生互動過程包括在線領取任務書,課程資源線上發布,理論學習過程,線上考核,互動討論,實驗操作及評價,基本職業素養、能力過程評價,以及課后拓展任務完成。
以下以課程中信號與系統中LTI系統的沖激響應和階躍響應這一知識點的教學過程為例,闡述該教學方法的實施情況。以LTI系統的階躍響應為例,

學生自主完成主要代碼輸入和編輯,運行后通過繪圖工具可以實時驗證結果。
首先,將關于LTI系統的階躍響應所涉及到的理論知識對應的學習材料,以及將使用超星學習通將基本課程內容上傳到平臺端,學生可以在課前預習并熟悉這部分內容。然后在課程中,教師實時使用Jupyter Notebook在不同的Cell中輸入格式化的文本、圖像、公式和視頻、Python代碼(如圖5),學生在各自計算機上同步操作,完成Cell配置和修改后即可運行相應代碼,顯示結果如圖6所示。這能讓學生快速獲得一種將所學知識運用到實際中的成就感,激發學習興趣,并通過軟件調試等過程,培養學生培養批判性思維和獨立解決問題的能力。

圖5 LTI系統階躍響應參考代碼

圖6 階躍響應
針對教學過程中的重點和難點,結合學生情況充分了解學生情況,在課中充分發揮平臺“交互式”的特點,以學生為中心,引導學生邊學習理論知識,邊動手實踐,學會觀察實驗結果,發現和解決問題能力提升為主要目標,實施過程中針對對學生練習過程存在的問題,通過不斷修改和優化Cell中的內容引導學生完成操作實驗,并在此基礎上進行一定的知識拓展。課程最后學生可以通過提交代碼、運行結果進行在線考核,有效的提高課堂上全程和步步評測的效率。
利用Jupter平臺通過新型交互式教學模式可以有效幫助信號與系統課程教學活動,實現了在線學習的更高效率和更好效果,極大的滿足學生個性化學習、泛在學習的學習要求;同時提升了學生自主學習能力,計算機應用及軟件編程能力;培養學生在實際工程背景項目中發現問題、提出問題以及解決問題的能力,有效促進學生的全面發展,也是對跨學科利用該平臺實現交互式教學的十分有意義的嘗試。