?

基于在線開放課程的Python語言混合教學模式*

2018-11-29 07:56李芬芬高尚兵
中國教育信息化 2018年22期
關鍵詞:程序設計生態語言

李芬芬,高尚兵

(淮陰工學院 計算機與軟件工程學院,江蘇 淮陰 223000)

Python語言在計算生態的大背景下誕生、發展與再生,以最接近自然語言及面向生態的設計理念得到了廣泛的關注,目前已有超過14萬個第三方庫,支持從數據處理到人工智能、從Web解析到網絡空間、從人機交互到藝術設計的所有計算領域的應用[1-2]。2016年教育部高等學校大學計算機課程教學指導委員會發布了《大學計算機基礎課程教學基本要求》,首次建議將Python語言作為程序設計課程的教學語言,并給出了Python語言教學方案[3]。2017年12月,教育部考試中心發布了全國計算機等級考試 (National Computer Rank Examination,簡稱NCRE)新增科目二級Python語言程序設計,該科目于2018年9月首次開考。在應用和應試的大背景下,筆者依托《Python語言程序設計》國家精品在線課程,面向淮陰工學院的計算機專業學生和非計算機專業學生開展了Python語言程序設計實踐教學與課程教學,取得了較好的教學效果和反饋。

一、Python語言在線開放課程

Python語言誕生于1990年前后,經過近30年的改進與發展,以其開源通用、簡潔優雅及高效生態的特點已經成為國際上最受歡迎的程序設計語言。搜索引擎Google的核心代碼、迪士尼公司的動畫和生成、豆瓣網的網站架構和相關應用的設計與開發都使用了Python語言。Python具有極其簡單的語法,采用強制縮進方式體現程序格式框架,具有極強的可讀性,是容易入門的程序設計語言。目前國際著名高校大都在開設Python程序設計課程,近3年,國內一批高校逐漸開設了Python語言課程,進行較好的教學實踐。

2017年12月,根據《教育部關于加強高等學校在線開放課程建設應用與管理的意見》(教高 [2015]3號)精神和 《教育部辦公廳關于開展2017年國家精品在線開放課程認定工作的通知》(教高廳函[2017]40號)要求,教育部認定490門課程為國家精品在線開放課程。愛課程(中國大學MOOC)有3門關于Python語言的在線開放課程被認定為國家精品在線開放課程,分別是北京理工大學嵩天等老師的《Python語言程序設計》、南京大學張莉老師的《用Python玩轉數據》、哈爾濱工業大學車萬翔老師的《高級語言程序設計(Python)》。由985高校開展Python語言教學的教師開設的在線開放課程,從課程定位到教學方法,從教學理念到教學資源,從考核目標到課程互動,均體現了一流大學的高水平教學。

Python在線開放課程提供了最先進的課程教學大綱、高質量的課程教學視頻,適合系統化學習的課程資源(課件、實例、練習)和OJ平臺,非常適合普通二本高校在教學資源缺乏、師資緊張的情況下開展翻轉課堂教學,進行以學生為中心的課程改革、教學方式與學習方式變革,實現教育教學質量全面提高。

二、面向計算生態的Python語言課程教學

1.Python語言課程教學方案

“計算生態”,是“生態”概念在計算機技術中的對應,在此特指在程序設計領域構建的支撐計算機技術發展的生態體系,即以開源項目為組織形式,充分利用“共識原則”和“社會利他原則”組織人員,在競爭發展、相互依存和迅速更迭中完成信息技術的更新換代,形成技術的自我演化路徑[4]。Python語言課程教學旨在培養學生理解、運用和構建計算生態的能力,學會使用第三方庫,理解快速開發理念,建立對信息世界的新認識[2]。筆者基于中國大學MOOC在線開放課程《Python語言程序設計》,制定了課程教學方案、課程考核方案及課程評價與建議。

面向非計算機專業Python零基礎學生開設公共選修課,教學目標定位為學生能掌握Python語言基礎語法及理解計算生態,學時設置為32學時,由24講授學時和8學時上機學時構成。面向計算機科學與技術專業學生,在 《人工智能應用》專業選修課程中,主要介紹Python計算生態實例,由16講授學時構成,教學目標定位為學生具有能運用計算生態的能力。

Python語言基礎語法主要包括數字類型(int,float,complex)、字符串類型(str)、程序的控制結構、函數和代碼復用、組合數據類型(元組、列表、集合和字典)、文件和數據格式化。

理解計算生態是指讓學生廣泛感知計算生態的存在[4]。課程內容主要包括常用的第三方庫的應用,第三方庫主要包括turtle庫、math庫、random庫、time庫、pyinstaller庫、jieba庫、PIL庫、csv庫、json庫等。 利用第三方庫wordcloud,使用5行代碼即可生成中英文詞云[2]。

運用計算生態是指面向能力、圍繞一系列第三方庫培養學生掌握某一方面的基礎能力[4]。如講解PyQT,培養學生掌握GUI圖形用戶界面庫;如講解itchat,培養學生理解微信個人微信網頁版接口。

在課堂教學中,通過12個生動有趣具有現代氣息的實例把基礎語法與計算生態緊密聯系起來,包括溫度轉換、Python蟒蛇繪制、天天向上的力量、文本進度條、身體質量指數BMI、利用蒙特卡洛方法計算圓周率、七段數碼管繪制、科赫雪花小包裹、基本統計值計算、中英文詞頻統計、自動軌跡繪制、政府工作報告詞云。

2.Python語言課程考核方案

《Python語言程序設計》課程是實踐性強、邏輯性強的課程,教師和學生的互動時間主要在于課堂教學和上機操作。本課程的考核方案旨在于課堂之外建立有效途徑,幫助建立學生自主學習、快速學習,進而培養其終身學習能力及團隊合作能力。

(1)考核點一:平時 OJ練習

在免費的OJ平臺https://python123.io/上完成教師設置的課程單元練習內容,課程代碼為hyitpython。單元類型設置為練習,特點是不限提交次數提交代碼,根據測試用例,在線評測代碼的準確度。學生通過在線提交代碼查看得分,如對分數不滿意修改代碼,再次提交代碼查看得分,如此反復直到自己對得分滿意。

Python語言課程教學開設時間與北京理工大學國家精品在線開放課程《Python語言程序設計》保持相同的課程進度,建議學生在中國大學MOOC在線同步學習,學生通過實名認證后,系統提供相應練習、測試和考核頁面的作業提交界面(見圖1)作為作業依據。如果同期獲得中國大學MOOC北京理工大學《Python語言程序設計》課程認證證書,證書可作為本課程認定成績。

圖1 練習、作業及考試部分界面

(2)考核點二:團隊任務

本考核點成績由團隊任務的完成度決定。在課程教學過程中,建議學生根據自身程序設計能力組成Pair Team團隊,完成團隊任務。Pair Team組隊完成3項子任務:①設計組隊Logo,提交設計Logo的Python文件。②文本詞頻統計,團隊自行選擇感興趣的文章或者小說,設計代碼統計文章詞頻,提交分析文本的txt文件(.txt格式)、詞頻統計的Python文件(.py格式)和統計結果的詞云圖片(.png格式)。③根據學生自己專業的特點及特色,檢索考察Python的第三方庫應用,完成說明文檔一篇(每個隊1份)??蓞⒖嫉谌綆旖榻B的url鏈接:春色盎然中不可不知的 10個 Python計算生態(https://python123.io/index/monthly_packages/201803)。

每個團隊的綜合成績由3項按比例加權計算得出,每個隊員成績等同團隊成績。

(3)考核點三:平時考勤數據統計實例設計

根據每位學生10次本課程課堂考勤簽到數據的CSV文件,通過CSV標準庫設計程序統計每位學生的出勤情況和座位習慣,比較分享每個人統計結果的異同,對于學生而言,是一件很有趣的事情。

3.Python語言課程評價與建議

基于移動平臺的方便快捷,《Python語言程序設計》課程評價與建議是通過分享手機二維碼完成的。對學生而言,拿起手機掃描課程評價二維碼(如圖2),是非常友好的課程總結與評價體驗(如圖3)。目前收到了機械設計制造及其自動化、軟件工程、信息管理、工業工程、植物生產、新能源、通信工程、食品科學與工程、制藥工程、工業工程、信息與計算科學、物理、車輛工程、材料等專業60份有效課程評價數據。物理專業2017級某同學說:“打開了新世界的大門,感覺眼界開闊了許多?!敝扑幑こ虒I2017級某同學說:“結合中國大學慕課的上課形式挺好的,可以線上學習……”在課程建議中,很多學生都提到希望開設后續課程,如Python進階、Python與專業結合的應用課程等。車輛工程2017級某同學說:“以小組形式,希望老師指定計算機專業+非計算機專業組成Pair Team團隊,便于相互幫助,達到1+1>2的學習效果?!?/p>

圖2 課程評價二維碼

圖3 課程評價手機界面

三、基于翻轉課堂的Python語言實踐教學

翻轉課堂[5](Flipped Classroom)旨在重視以學生為中心的教學,把學習的主動權還給學生,教師重在啟發學生的學習興趣和動機,幫助學生構建自主學習能力,并認同多元評量與多元價值。目前很多高校在課程教學中進行了課堂翻轉[6][7],筆者在面向計算機科學與技術專業的《項目實習》實踐選修(Python語言方向)課程中,嘗試基于翻轉課堂形式的實踐教學。在實訓前,根據時間安排,建議學生選修中國大學MOOC在線開放課程《Python數據分析與展示》(2017年秋);在實訓過程中,要求學生對Python數據分析與展示課程中的概念性知識、程序性知識、元認識知識做進一步的主題討論、實例編程;最后設置項目演示環節,學生通過合作演示展示了完整的項目開發,完美地完成了項目實習。

采用翻轉課堂+項目實戰形式,運用Python計算生態,培養學生實戰項目能力,符合工程教育認證體系OBE培養目標要求。教學考核方案的考核等第由學生自評分、答辯得分、報告得分、綜合扣分、綜合得分按比例構成。其中學生自評總分包括實訓過程自我態度、概念性知識、程序性知識、元認識知識、實訓日志完成情況、Python實例完成情況、中國大學MOOC課程參與情況及課程證書取得情況、實訓課題完成情況、實習報告的完整度和格式、文字與參考文獻數量及相關、總結與課程建議。自評總分占20%,答辯得分占30%,報告得分占50%。通過線上學習和線下實戰相結合的教學方法,本課程取得了很好的教學效果。通過中國大學MOOC在線學習,85%的學生取得了2017年秋季《Python數據分析與展示》優秀課程證書(如圖4所示),有效調動了學生的對Python的學習興趣,從而順利完成了Python項目實習課題(如圖5所示)。

圖4 學生Python數據分析與展示MOOC課程證書

圖5 某生項目實戰數據分析頁面

基于“理解和運用計算生態”教學理念,筆者在本校公選課、專業選修課、實習課程中進行了基于在線開放課程的Python語言程序設計教學,學生反映熱誠且積極,教學效果非常好,說明了Python語言混合教學模式很有效。2017年,筆者所在學院獲批數據科學與大數據技術專業,目前已將Python語言作為該培養方案中的專業基礎必修課程。隨著人工智能與大數據時代的到來,Python語言的計算生態必會蓬勃發展,基于在線開放課程的Python語言混合式教學模式將會在不同專業的程序設計教學中得到廣泛認可。

猜你喜歡
程序設計生態語言
“生態養生”娛晚年
基于Visual Studio Code的C語言程序設計實踐教學探索
住進呆萌生態房
語言是刀
生態之旅
從細節入手,談PLC程序設計技巧
讓語言描寫搖曳多姿
高職高專院校C語言程序設計教學改革探索
我有我語言
PLC梯形圖程序設計技巧及應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合