龔俊梅 劉 洋
1.電子科技大學成都學院文理學院應用數學系 四川成都 611731;2.電子科技大學機械與電氣工程學院 四川成都 611731
在大數據、人工智能等技術發展的新形勢下,如今統計類或數學類專業的應用型本專科生除了需要具備基本的數據分析技能,還需要掌握一定的計算機編程技能。“Python語言”是一款用于數據統計、分析、可視化等任務以及機器學習、人工智能等領域的解釋型、面向對象的計算機程序設計語言,它能滿足幾乎所有數據挖掘所需的數據處理、統計模型和圖表繪制等功能需求[1]。從目前人才市場的需求來看,具有扎實的專業基礎和Python編程應用技能的復合型人才更加受到青睞。因此,從應用型人才培養的角度,對該專業的學生開設Python課程的必要性尤為凸顯,然而當前高等學校Python課程存在問題較多,針對我校Python教學過程存在的問題,課程組進行了教學體系改革,搭建了支持移動終端遠程調試的開發環境,創建了線上學習資源庫并搭建了GitHub師生互動平臺,顯著改善了教學效果。
由于Python課程是針對大一新生開的課,大部分學生在學習這門課程時沒有電腦,僅僅只通過課堂教學時間進行實踐操作。同時,課程課時相對緊張,若在課堂上花費大量時間練習,教學進度會受到影響。此外,課后學生無法通過電腦操作鞏固其對代碼的理解,不利于對新知識的吸收和掌握,導致學習效果較差。
Python的學習僅通過課堂老師講授理論知識的方式相對枯燥,學生缺乏學習動力,容易導致學生學起來沒有興趣。因此,需要伴隨大量的代碼練習和實際案例,才能更好地培養學生獨立寫代碼的能力,為真正成為應用型人才打下基礎。然而當前學生很難接觸到實際的工程案例,缺乏具體應用需求,導致課堂教學與工程應用脫節。
由于老師和學生課程較多,師生間彼此交流的時間很少,學生在課后的學習過程中,很難及時地將問題反饋給老師,使得老師也無法掌握學生的具體學習情況和效果。
由于專業建設的核心內容是課程建設,課堂教學質量的提升是關鍵問題,現有Python課程存在的這些問題,導致理論與實踐脫節,使得課堂教學的質量不高。因此,亟須構建一個支持遠程在線調試的Python課程,加強學生實踐聯系,促進師生積極交流,從而保障課程教學質量的提升。
綜上所述,為進一步增強Python課程的實踐應用性,更好地培養學生的數據分析與編程技能,Python課程的實踐教學改革也是不可避免的趨勢。
3.1.1 編譯軟件Jupyter Notebook
對于剛接觸“Python語言”的學生來說,比較受歡迎的軟件有:Anaconda3、IPython、Jupyter Notebook和Pycharm等。其中,Jupyter Notebook是一個交互式筆記本,支持運行40多種編程語言,其本質是一個Web應用程序,便于創建和共享文學化程序文檔,支持實時代碼、數學方程、可視化,用途包括:數據清理和轉換,數值模擬,統計建模,機器學習,等等。Jupyter Notebook就像一個草稿本,能將文本注釋、數學方程、代碼和可視化內容全部組合到一個易于共享的文檔中,以Web頁面的方式展示,是數據分析、機器學習的必備工具。結合本專業學生開設Python課程的目的,課程組選取Jupyter Notebook作為編譯代碼的軟件。
3.1.2 遠程調試軟件Termux和Aid Learning
為了滿足離開實驗室后學生在課下復習及完成作業的需求,可以通過在移動終端安裝Termux和Aid Learning軟件,并配備Jupyter,實現遠程代碼調試。
Termux是Android平臺上的一個終端模擬器,它將眾多Linux上運行的軟件和工具近乎完美地移植到了手機端。無須任何復雜的安裝和配置過程,軟件裝好以后即會自動配置一個基本的運行環境,用以執行一些常見的Linux命令。
Termux下可以進行Python環境搭建以及Jupyter開發環境搭建。從而我們可以在手機上使用Jupyter Notebook運行Python代碼,解決大一學生沒有電腦無法進行代碼調試的問題。
Python代碼可移植性強,PC平臺開發的代碼可以直接在手機端運行和調試,為學生自主進行數學實驗提供了便利的環境。安卓平臺可以運行PPython的APP有QPython、Temux和Pydroid3[3]。
Aid Learning在Android手機上構建了一個帶圖形界面的Linux系統(不需要Root),和Android系統共生共存,并內置了目前排名top7的深度學習框架包括Caffe、Tensorflow、Mxnet、Pytorch、Keras、Ncnn、Opencv。AidLearning同時是一款口袋AI編程工具,內置的AiCode可視化編程器,可以在手機上用Python(同時支持Python2和Python3)輕松零基礎編程,支持觸摸拖拽式界面設計,支持代碼實時調試和圖形化運行。
3.1.3 共享代碼平臺GitHub
GitHub可以共享代碼(托管代碼),它也是一個開源平臺,可以用來下載很多知名開源項目的源代碼,在修改項目的時候,可以創建一個分支,在修改完成后將它合并到主分支,進行版本管理。利用GitHub收集學生作業,免去花時間和學生溝通作業問題,也便于期末平時成績匯總。同時,學生接觸GitHub后可從上面下載其他優秀Python項目以供進一步學習。
GitHub是一個代碼托管云服務網站,幫助開發者存儲和管理其項目源代碼,且能夠追蹤、記錄并控制用戶對其代碼的修改。它會自動記錄代碼的修改,在必要的時候,能夠快速回退到之前的版本。
GitHub是世界頂級開發者的聚集地,在這里幾乎可以找到任何想要的東西。在遵守其License的前提下,可以免費使用、下載許多優秀、著名的開源項目。GitHub上有很多優秀開源項目和教程資源去學習。
3.1.4 線上資源課程資源開發
隨著互聯網的普及以及網絡技術的提升,在這兩三年來,國內的在線教育獲得大量資本注入,國內各大高等院校也開始積極研發、制作在線課程。線上免費教學資源主要包括MOOC、網頁公開課、騰訊課堂、學習通、雨課堂、B站等,這些平臺可以幫助學生進行自主學習。
越來越多的學校或教育機構采用線上教育的方式,這種方式雖然打破了地域上的限制,但是也有一定的弊端。如缺乏互動性、缺乏實踐、缺乏有效的管理。在教學過程中可以將線上線下教育結合起來,從而使學生更容易接受知識。
3.2.1 利用Termux搭建Python運行環境
安卓手機上利用超級終端Termux安裝Python運行環境,這樣可以應付沒有電腦的情況,可以隨時練習Python基礎,Termux是一個Android的高級終端模擬器,安裝后可以在Android手機上搭建一個完整的Linux環境,開源且支持Apt管理軟件包,十分方便安裝各類軟件,完美支持Python、PHP、Ruby、Go、Nodejs、MySQL等等。
Termux有官方的軟件源,網速不快,國內用戶下載安裝Termux后可以修改配置使用清華軟件源,安裝更新各類軟件速度很快[2],上面的軟件基本與Linux軟件源保持同步,安裝后效果如圖1所示。

圖1 Termux安裝界面
依次安裝Jupyter、Numpy、Pandas、Matplotlib等包。輸入Jupyter Notebook并復制運行結果下的網址,打開瀏覽器得到Python代碼編寫頁面,如圖2所示。

圖2 瀏覽器中Python代碼編輯頁面
學生可在此頁面內調試測試教材及課上演示代碼,也可將完成作業提交到Github上,如圖3所示。

圖3 移動終端代碼運行效果圖
3.2.2 利用Aid Learning搭建Python運行環境
移動終端搭建Python運行環境也可使用工具軟件Aid Learning。相比Termux而言,借助Aid Learning安裝Jupyter過程更加簡便。在Aid Learning中打開應用中心,搜索Jupyter,點安裝即可完成插件安裝,如圖4所示。

圖4 在Aid Learning中安裝Jupyter
安裝后的效果如圖5所示。

圖5 移動終端上安裝Jupyter
點擊Jupyter圖標,代碼編輯運行頁面與圖2、圖3所示方式相同。
課下可通過GitHub和學生之間進行溝通交流,解決學生課上不懂的問題,同時發布課上資料、課后作業,學生通過GitHub下載完成后上傳,如圖6所示。

圖6 學生在Github上傳作業文件夾
同時GitHub上可以接觸到最新的、最前沿的IT技術。任何軟件或者產品在上線發布之前,都有開發的過程和測試的過程,GitHub上可以接觸到這些產品的初始狀態、中間狀態和發布狀態,可以第一時間了解到產品的動向。而且根據GitHub上每年發布的統計數據,可以知道哪些技術是最火熱的技術,及時跟上這些技術,這對Python課程的學習有很大幫助。
在線下課程的基礎上,借助線上課程資源,引導學生課下學習。為了引導學生進行線上學習,對學生學習效果評價方式的選取直觀重要。結合Python程序設計課程輕理論重應用的特點,關于該課程的考核,可選擇多元化過程考核方法[3]。
階段性測試則利用線上考試專用題庫組卷,且要求學生線下統一時間和地點在老師監督下完成,最大限度保證測試的公平性、有效性[4]。
期末成績需包含線上課程學習,例如,可采取課程學習結構截圖后予以平時成績加分的形式。為了保證公平性隨機試卷中所涉及的知識點、分值以及題型均保持一致,力爭通過多元化考核方法實現科學評價[5]。
“Python語言”的學習重在實踐,學生需要有大量的案例實踐才能盡快上手。手機端運行Python代碼可解決一部分學生沒有電腦無法運行代碼的問題,可隨時隨地測試代碼。GitHub提供教師與學生交流學習的平臺,讓學生能更好地接受這門課。線上資源的利用突破了教學的時空限制,提高了學生的自主學習能力,提升了教學質量。這種教學模式整合了優質的教學資源,達到資源共享,給學生提供了更好的學習平臺[5]。