馬偉良
(閩西職業(yè)技術(shù)學(xué)院,福建 龍巖 364000)
隨著計算機和互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,建立在其基礎(chǔ)上的物聯(lián)網(wǎng)技術(shù)、大數(shù)據(jù)技術(shù)、云計算技術(shù)等新的信息技術(shù)正在不斷的涌現(xiàn),相應(yīng)地對相關(guān)軟件技術(shù)提出了更高的需求,我國大部分高校的理工類專業(yè)中開設(shè)了計算機語言編程課程,有助于增強現(xiàn)代化信息技能?,F(xiàn)階段,我國高校中多個專業(yè)都開設(shè)了Python程序設(shè)計相關(guān)課程,具體包括信息與技術(shù)、軟件、物聯(lián)網(wǎng)、工程等,以此來滿足社會對專業(yè)人才的需求,同時為了畢業(yè)生順利就業(yè)。
筆者根據(jù)自身的教學(xué)經(jīng)驗,充分運用各種教學(xué)模式,以此提高程序設(shè)計過程中學(xué)生分析解決問題的綜合能力,增強自身綜合實力,有助于學(xué)校培養(yǎng)應(yīng)用型人才的目標,滿足社會對人才提出的多元化需求。
在高校辦學(xué)規(guī)模不斷擴大的今天,計算機實驗設(shè)備的數(shù)量也不斷增加。如用傳統(tǒng)的機房管理方式,需要在每臺教師機和學(xué)生機上都安裝一次編程語言的內(nèi)核和集成開發(fā)環(huán)境,工作量非常大,就算是能用還原卡的局域網(wǎng)廣播安裝的方式,也需花費大量時間。此外,教師在教學(xué)過程中布置作業(yè)任務(wù),學(xué)生做完后上交也需要通過文件傳輸或是電子郵件傳輸?shù)确绞?,傳輸完成后,教師又要逐個地將其復(fù)制到安裝了運行環(huán)境的計算機上才能編譯批改。使用傳統(tǒng)的機房管理軟件和模式進行程序設(shè)計教學(xué)的就顯得比較低效,這時就需要一種新的平臺和教學(xué)模式。
用戶所采用的Jupyter Notebook編程工具,其在Web應(yīng)用平臺基礎(chǔ)上,可更為方便地部署并進行應(yīng)用和分享。利用該工具用戶能夠在網(wǎng)頁中對代碼進行編寫和運行,最終的運行結(jié)果可在下方直接顯示出來。頁面文檔主要對Cell形式組織加以采用,能夠?qū)D文混排效果、代碼及其運行結(jié)果進行顯示,能夠結(jié)合代碼對文字說明進行組織;它支持十幾種語言,包括魔法命令、Python等,并能滿足信息技術(shù)程序設(shè)計需要用到的功能。
Jupyter Notebook作為利用瀏覽器遠程訪問方式進行編程的一種交互式應(yīng)用平臺,它支持 Python、R、Julia、C等40多種編程語言,用戶可以通過網(wǎng)頁訪問Jupyter Notebook平臺,創(chuàng)建和共享支持實時代碼和數(shù)學(xué)公式的程序文檔,在網(wǎng)頁中對代碼進行編寫和運行,并將運行結(jié)果直接展示在網(wǎng)頁中。頁面文檔主要對Cell形式組織加以采用,能夠?qū)D文混排效果、代碼及其運行結(jié)果進行顯示,能夠結(jié)合代碼對文字說明進行組織[1]。以Jupyter Notebook為平臺進行教學(xué)具有以下幾個優(yōu)點:
(1)教師可以在線上編輯,直接通過平臺發(fā)布任務(wù)和查看學(xué)生的作業(yè)完成情況。學(xué)生能在第一時間接收到信息,了解自己要完成的作業(yè),在不打開第三方軟件的情況下,直接通過瀏覽器在平臺上完成編程和執(zhí)行,方便快捷。
(2)Jupyter Notebook平臺還能清晰地顯示當前需要處理的程序,用目錄的形式呈現(xiàn)出來,程序的文檔還能以HTML、PDF、TXT等多種格式進行導(dǎo)出。
(3)Jupyter Notebook平臺可進行多空間隔離,可以修改文件,并創(chuàng)建出多個不同的工作空間,有助于學(xué)生實現(xiàn)分組隔離,防止學(xué)生之間相互影響。
Jupyter Notebook作為典型Web架構(gòu)的一個應(yīng)用,客戶端主要負責(zé)提供運行、存儲以及輸出代碼等功能,并借助markdown 語法加以標記,根據(jù)JSON 格式向服務(wù)器端發(fā)送和存儲;服務(wù)器端主要負責(zé)提供調(diào)用編譯內(nèi)核以及代碼存取等功能。[2]
圖1 Jupyter Notebook架構(gòu)示意圖
Python作為面向?qū)ο?、動態(tài)化、解釋型數(shù)據(jù)類型的一種高級程序設(shè)計語言,是在1989年由 Guido van Rossum 發(fā)明的,其具有清晰且簡潔的語法,并且類庫也非常強大和豐富[3]。因為Python語言具有可擴展、簡潔以及易讀等優(yōu)勢,在其發(fā)展的二十幾年后,逐漸成為非常重要的一門程序設(shè)計語言,在國內(nèi)外一些知名大學(xué)已經(jīng)采用Python程序設(shè)計課程。Python語言在開展程序設(shè)計教學(xué)時的特點如下:
(1)Python的語法簡單易于上手,在Python語言中并沒有指針、地址等關(guān)于計算機系統(tǒng)結(jié)構(gòu)的內(nèi)容,而且代碼簡潔,不需要通過函數(shù)封裝,不管是閱讀還是編寫都非常的清晰易懂。
(2)用Python語言編寫的程序無須進行編譯就可以直接運行,這使它的移植性更強,運行效率和擴展性也更高。
(3)Python能在多個平臺上運行,包括Linux和Windows系統(tǒng),在Python.org的官方網(wǎng)站上能夠下載支持不同操作系統(tǒng)的多個發(fā)行版本的安裝包,且安裝簡單穩(wěn)定。支持Python的集成開發(fā)環(huán)境也很多,除了其專用的PyCharm,在Eclipse + PyDev、PyCharm、Visual Studio中均能很好地支持Python語言的開發(fā)。
(4)Python有功能強大的標準庫和豐富的第三方擴展庫,標準庫可以實現(xiàn)如管理系統(tǒng)進程、訪問互聯(lián)網(wǎng)處理通信協(xié)議、大數(shù)據(jù)處理和機器學(xué)習(xí)等功能。而豐富的第三方擴展庫(具體包括Matplotlib、Num Py等常用的擴展庫,分別對繪圖功能、快速數(shù)組處理等各種功能進行提供;計算機視覺庫 Open CV、三維可視化庫 VTK、醫(yī)學(xué)圖像處理庫 ITK等各種行業(yè)的擴展庫。)正是由于豐富的庫資源,有助于各個行業(yè)的開發(fā)者對所在行業(yè)需要的工具包進行探索。
由于Jupyter Notebook支持多個操作系統(tǒng),本文安裝的操作系統(tǒng)為Windows 10專業(yè)版。在安裝Jupyter Notebook之前需要先安裝Python,Python的版本為2.0以即可。在Python安裝完成之后,打開命令提示符窗口,根據(jù)Python版本輸入安裝命令pip install jupyter,這時系統(tǒng)會自動進行安裝。
圖2 Jupyter Notebook安裝命令
圖3 Jupyter Notebook安裝過程
安裝完成后我們在命令提示符窗口輸入Jupyter Notebook,這時默認瀏覽器會打開 Jupyter Notebook窗口,說明 Jupyter Notebook 安裝成功了。
除了Windows平臺,Jupyter Notebook還可以在Linux、MacOS等平臺上運行,其安裝均可采用此命令行的模式進行。
Jupyter Notebook安裝配置成功后,就可以讓學(xué)生用瀏覽器進行遠程訪問。當輸入正確的IP地址+端口號后,就可以以網(wǎng)頁的形式在瀏覽器上直接啟動Jupyter Notebook,這時可在頁面中直接編寫程序代碼和運行程序。
當學(xué)生在瀏覽器上啟動Jupyter Notebook后,可直接單擊new按鈕選擇Python3,建立一個新的Python文檔。如圖4所示。Notebook文檔由一系列單元構(gòu)成,分為代碼單元和Markdown單元。對于代碼單元,用戶進行代碼編寫,單擊運行按鈕,其結(jié)果就會顯示在本單元下方[4]。
圖4 Jupyter Notebook上運行Python程序
圖5 Jupyter Notebook下建立Python文檔
用戶可以在Jupyter Notebook中單擊new按鈕選擇folder建立目錄,在選擇自建目錄后單擊Rename按鈕修改名稱,這樣就可以在自己的目錄下進行操作了,當學(xué)生在代碼單元編寫完程序后,就可以將文件直接存放在自己的目錄下,便于教師端的檢查和批改。
Jupyter Notebook作為集合了開發(fā)、文檔編寫、運行代碼和展示結(jié)果于一體的交互式編程工具,能夠很方便地應(yīng)用到編程教學(xué)中。而Python作為當下最熱門的編程語言,又是Jupyter Notebook平臺所直接支持的程序設(shè)計語言之一,兩者相結(jié)合后非常適合高校進行教學(xué)。本文演示了如何在Jupyter Notebook平臺上進行Python語言教學(xué)的過程,可以看出,使用該方式既能快捷地在計算機機房的系統(tǒng)中安裝軟件平臺,又能方便教師的教學(xué)和學(xué)生的學(xué)習(xí),非常適合當下高校教學(xué)改革和人才培養(yǎng)的需要,建議在高校的程序設(shè)計課程上使用該平臺。■