李天格,許 鵬
(鄭州財經學院,河南 鄭州 450000)
數據科學與大數據技術專業(簡稱大數據專業)是教育部為落實國家《促進大數據發展行動綱要》而批準設立的新工科專業,最早于2016年開設。該專業旨在培養具備分析和解決大數據采集、存儲、挖掘與可視化的能力,能從事大數據系統開發與應用的全面發展的高素質應用型人才。其中,該專業的基礎核心課程之一是“Python程序設計”。
Python由研究員Guido van Rossum 于1989 年年末開發,于1991年公開發表。是一種簡單易學、面向對象的解釋型程序設計語言。Python 語法簡潔、功能強大、免費且開源、具有豐富和強大的類庫。它能夠輕松地將復雜的應用程序(尤其是C/C++)粘和在一起,又被稱為“膠水”語言。
自從Python語言公開發行后,Python開發者和用戶社區逐漸增大,使用率呈線性增長。IEEE Spectrum(美國電氣電子工程師學會的權威雜志)發布了2021年編程語言排行榜,官方的標題是:Python 在新技術領域依然是主導地位。TIOBE(世界上最權威的編程語言排行榜單)排行榜將Python評為2021年年度語言。
隨著Python 的流行和廣泛使用,各大高校相繼開設了“Python 程序設計”課程,大數據專業也不例外。Python 在大數據方向的主要進階應用有數據采集、數據處理、數據挖掘、數據可視化等?!癙ython 程序設計”作為一門核心基礎課,學生對該課程的掌握程度很大地影響了對后續進階課程的學習效果。鑒于此,本文主要對大數據專業“Python程序設計”課程的建設進行探究,以期提升教學質量。
以筆者所在學校為例,課程的授課對象為來自大學二年級下學期的學生,他們對大學的學習和生活已經有所適應,對新知識、新技術、新內容有強烈的學習渴望。同時,他們樂于探索未知的學習領域,對新的平臺、新的工具、新的教學方法都樂于嘗試、勇于接受。
另外,經過三個學期的持續學習,學生們已經打下了較為牢固成熟的計算機、數學、思想政治修養基礎。以計算機專業基礎為例,在學習本門課程之前,學生們已經學習了兩門程序設計語言課程,分別是“C語言程序設計”和“面向對象程序設計”。因此他們已經具備了一定的學習能力和一定的編程語言基礎。計算機編程語言的學習都是互通的,學生可以很自然地將前面所學的知識以及沉淀的思維方式遷移到本門課程的學習中來。
通過本課程的學習,學生能夠理解Python 的編程模式,熟練Python 列表、元組、字典、集合等基本數據類型的使用,掌握Python 的結構化編程方法,熟悉Python 面向對象編程模式,以及Python 在數據爬蟲、數據挖掘分析、數據可視化的簡單使用。同時還應培養學生的綜合能力和綜合素質。
理解Python 語言的基本語法、條件表達式、選擇結構、循環結構。掌握Python 常見數據結構的使用以及面向對象編程的相關知識。了解函數的基本概念以及Python的相關擴展庫。
具有嚴謹的邏輯思維能力和正確的分析推理能力;具有較強的自主學習能力以及將理論與實際相結合的問題解決能力;能夠進行簡單的數據爬蟲、數據分析、數據可視化編程。
具有對Python 編程的強烈興趣;具有愛國、愛黨、擁護社會主義的基本素質;具有思想政治明確、品行良好、身心健康的堅強素質;具有團結合作、善于溝通、勇于創新的精神;具有精益求精的大國工匠精神,激發學生科技報國的家國情懷和使命擔當。
翻轉課堂(Flipped Classroom)是對傳統課堂教學模式進行了翻轉和顛倒,它將以往在課堂完成的知識傳授環節放到課前進行,而把對知識的吸收內化環節放在課內進行,并將學習的決定權從教師手上交還給了學生。如前文所述,學生們在學習本門課程之前已經學習了兩門編程語言類課程,具有一定的計算機語言基礎。因此,本課程的基礎語法知識(數據類型、運算符及表達式、程序流程控制)對學生來說較為簡單,這些基礎知識可以在課前讓學生自主學習,具體途徑有MOOC 公開課,教師自行錄制數字材料至超星學習通等線上學習平臺,而在課上注重對這些知識的應用學習。對于后續章節(映射、集合、函數、面向對象、Python爬蟲、數據分析、數據可視化)可結合線上線下進行混合式教學,線上依托超星學習通開展教學,線下以多媒體教室教學和機房實踐為主。最后,學生可通過學習通、QQ、微信等媒介進行交流。
習近平總書記在全國高校思想政治工作會議上強調,“要堅持把立德樹人作為中心環節,把思想政治工作貫穿教育教學全過程,實現全員育人、全程育人、全方位育人”?!罢n程思政”作為高校思想政治教育的重要載體,不僅能滿足“三全育人”的要求,還有助于培養合格的社會主義接班人。因此,本課程建設要以課程思政為核心進行展開,不僅關注學生的知識掌握、能力培養,還應培養學生優秀的品德和高尚的素養。課程思政融入示例如表1所示。

表1 課程思政融入示例
案例驅動教學是一種新的教學模式,指的是將所學內容通過案例的形式展現出來。教學可分為三步,分別是案例引入、案例分析和案例實現。以Python 數據分析章節為例,可引入《紅樓夢》分析案例,通過對案例的目標(制作《紅樓夢》高頻詞詞云以及社交關系網絡圖)介紹來吸引學生的學習興趣和學習主動性,接著講解實現該案例所需要的Python 庫,通過對這些“庫”的講解來引導學生自主編程,從而實現案例的相應功能。課后可以給學生布置類似的作業,以讓學生對課堂所學案例內容進行舉一反三的掌握。例如,可讓學生下載《三國演義》txt格式電子書,制作高頻詞云,并為出場次數最多的20個人物制作社交關系網絡圖。
本課程的授課學生均來自于大數據專業,截止到大二下學期,學生主要修學專業基礎課程。專業進階課程(如Python 數據爬蟲、大數據可視化、大數據處理技術等)較多地放在了高年級修學。因此,大數據專業的“Python 程序設計”課程教學可以結合專業特色,在前期給學生們鋪墊或拓展一些大數據應用相關的知識,包括但不限于Python 的常用庫,如numpy、matplotlib、requests、BeautifulSoup等。
本課程通常采用“紙質化”考核方式,而“Python程序設計”課程實踐性較強,對學生的分析能力、實際問題解決能力、綜合運用能力要求較高,而這些能力的檢測并不能通過一張紙質考核試卷來實現,因此,需要重點優化考核方式,如最終成績可分為平時成績和期末成績兩部分。其中,平時成績可以包括平時作業,平時測試,課堂表現(包括但不限于課堂提問,課堂參與度等)和上機實驗。而期末成績也可以由兩部分構成,分別為紙質試卷和綜合上機,前者考察基礎知識、基礎理論、基本技能的掌握程度;后者考察學生的綜合應用能力和實踐動手能力。
本課程是一門實踐性、應用性、綜合性較強的課程。因此,對于本課程,可增加為期一周的課程設計以期提升學生的實踐動手能力和知識綜合運用能力。課程設計的內容可以分為兩大類:系統類和分析類。前者可以做一個小型實用的系統,比如用戶注冊信息管理系統。后者可以利用已學的爬蟲和可視化技術進行簡單的分析,比如大數據行業熱門招聘崗位分析與可視化。
本課程在MOOCs 上有很多公開課,如南開大學的“Python編程基礎”、北京理工大學的“Python語言程序設計”、北京大學的“實用Python 程序設計”、南京大學的“用Python 玩轉數據”等。學生可以根據自身情況有針對性的學習慕課課程中的相關教學內容。另外,教師可以在超星學習通平臺上傳學習資料,包括但不限于課前導入視頻、課后習題、課后拓展材料等。以供學生課前預習和課后復習??傊?,教師和學生都應充分利用以互聯網+為基礎的各種現有教學資源,以期更加便捷、高效地學習本課程。
大數據時代,作為數據科學與大數據專業的學生,數據素養是必備素養。因此,本課程應注重培養學生的數據素養。國內外學者從不同的角度對數據素養的概念進行了表述,而目前一般認為數據素養教育包含3 個模塊的內容:培養數據意識、培育數據能力、樹立數據倫理。其中第二項數據能力即貫穿于數據生命全周期的數據采集、表示、描述、發現與檢索、選擇與評價、分析、利用、引用、整合、復用、保存、管理等一系列活動所需的技能。
Python 語言擁有大量優秀的第三方庫,可以用于數據分析的各個環節。因此,本課程應注意培養學生的數據素養,使得學生成為合格的大數據人才。
本文首先概述了“Python程序設計”這門課程的學情和課程目標,并從多個方面對該課程的建設進行了探究,以期提升該門課的教學質量和教學效果,并為后面高年級的專業進階教學打下堅實的基礎。實踐證明:這些舉措在教學中取得了較好的成效。下一步將重點探究課程的思政建設,爭取形成更加豐富、詳實的思政體系庫。