李天格,許 鵬
(鄭州財經(jīng)學院,河南 鄭州 450000)
數(shù)據(jù)科學與大數(shù)據(jù)技術(shù)專業(yè)(簡稱大數(shù)據(jù)專業(yè))是教育部為落實國家《促進大數(shù)據(jù)發(fā)展行動綱要》而批準設(shè)立的新工科專業(yè),最早于2016年開設(shè)。該專業(yè)旨在培養(yǎng)具備分析和解決大數(shù)據(jù)采集、存儲、挖掘與可視化的能力,能從事大數(shù)據(jù)系統(tǒng)開發(fā)與應用的全面發(fā)展的高素質(zhì)應用型人才。其中,該專業(yè)的基礎(chǔ)核心課程之一是“Python程序設(shè)計”。
Python由研究員Guido van Rossum 于1989 年年末開發(fā),于1991年公開發(fā)表。是一種簡單易學、面向?qū)ο蟮慕忉屝统绦蛟O(shè)計語言。Python 語法簡潔、功能強大、免費且開源、具有豐富和強大的類庫。它能夠輕松地將復雜的應用程序(尤其是C/C++)粘和在一起,又被稱為“膠水”語言。
自從Python語言公開發(fā)行后,Python開發(fā)者和用戶社區(qū)逐漸增大,使用率呈線性增長。IEEE Spectrum(美國電氣電子工程師學會的權(quán)威雜志)發(fā)布了2021年編程語言排行榜,官方的標題是:Python 在新技術(shù)領(lǐng)域依然是主導地位。TIOBE(世界上最權(quán)威的編程語言排行榜單)排行榜將Python評為2021年年度語言。
隨著Python 的流行和廣泛使用,各大高校相繼開設(shè)了“Python 程序設(shè)計”課程,大數(shù)據(jù)專業(yè)也不例外。Python 在大數(shù)據(jù)方向的主要進階應用有數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)挖掘、數(shù)據(jù)可視化等?!癙ython 程序設(shè)計”作為一門核心基礎(chǔ)課,學生對該課程的掌握程度很大地影響了對后續(xù)進階課程的學習效果。鑒于此,本文主要對大數(shù)據(jù)專業(yè)“Python程序設(shè)計”課程的建設(shè)進行探究,以期提升教學質(zhì)量。
以筆者所在學校為例,課程的授課對象為來自大學二年級下學期的學生,他們對大學的學習和生活已經(jīng)有所適應,對新知識、新技術(shù)、新內(nèi)容有強烈的學習渴望。同時,他們樂于探索未知的學習領(lǐng)域,對新的平臺、新的工具、新的教學方法都樂于嘗試、勇于接受。
另外,經(jīng)過三個學期的持續(xù)學習,學生們已經(jīng)打下了較為牢固成熟的計算機、數(shù)學、思想政治修養(yǎng)基礎(chǔ)。以計算機專業(yè)基礎(chǔ)為例,在學習本門課程之前,學生們已經(jīng)學習了兩門程序設(shè)計語言課程,分別是“C語言程序設(shè)計”和“面向?qū)ο蟪绦蛟O(shè)計”。因此他們已經(jīng)具備了一定的學習能力和一定的編程語言基礎(chǔ)。計算機編程語言的學習都是互通的,學生可以很自然地將前面所學的知識以及沉淀的思維方式遷移到本門課程的學習中來。
通過本課程的學習,學生能夠理解Python 的編程模式,熟練Python 列表、元組、字典、集合等基本數(shù)據(jù)類型的使用,掌握Python 的結(jié)構(gòu)化編程方法,熟悉Python 面向?qū)ο缶幊棠J?,以及Python 在數(shù)據(jù)爬蟲、數(shù)據(jù)挖掘分析、數(shù)據(jù)可視化的簡單使用。同時還應培養(yǎng)學生的綜合能力和綜合素質(zhì)。
理解Python 語言的基本語法、條件表達式、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。掌握Python 常見數(shù)據(jù)結(jié)構(gòu)的使用以及面向?qū)ο缶幊痰南嚓P(guān)知識。了解函數(shù)的基本概念以及Python的相關(guān)擴展庫。
具有嚴謹?shù)倪壿嬎季S能力和正確的分析推理能力;具有較強的自主學習能力以及將理論與實際相結(jié)合的問題解決能力;能夠進行簡單的數(shù)據(jù)爬蟲、數(shù)據(jù)分析、數(shù)據(jù)可視化編程。
具有對Python 編程的強烈興趣;具有愛國、愛黨、擁護社會主義的基本素質(zhì);具有思想政治明確、品行良好、身心健康的堅強素質(zhì);具有團結(jié)合作、善于溝通、勇于創(chuàng)新的精神;具有精益求精的大國工匠精神,激發(fā)學生科技報國的家國情懷和使命擔當。
翻轉(zhuǎn)課堂(Flipped Classroom)是對傳統(tǒng)課堂教學模式進行了翻轉(zhuǎn)和顛倒,它將以往在課堂完成的知識傳授環(huán)節(jié)放到課前進行,而把對知識的吸收內(nèi)化環(huán)節(jié)放在課內(nèi)進行,并將學習的決定權(quán)從教師手上交還給了學生。如前文所述,學生們在學習本門課程之前已經(jīng)學習了兩門編程語言類課程,具有一定的計算機語言基礎(chǔ)。因此,本課程的基礎(chǔ)語法知識(數(shù)據(jù)類型、運算符及表達式、程序流程控制)對學生來說較為簡單,這些基礎(chǔ)知識可以在課前讓學生自主學習,具體途徑有MOOC 公開課,教師自行錄制數(shù)字材料至超星學習通等線上學習平臺,而在課上注重對這些知識的應用學習。對于后續(xù)章節(jié)(映射、集合、函數(shù)、面向?qū)ο蟆ython爬蟲、數(shù)據(jù)分析、數(shù)據(jù)可視化)可結(jié)合線上線下進行混合式教學,線上依托超星學習通開展教學,線下以多媒體教室教學和機房實踐為主。最后,學生可通過學習通、QQ、微信等媒介進行交流。
習近平總書記在全國高校思想政治工作會議上強調(diào),“要堅持把立德樹人作為中心環(huán)節(jié),把思想政治工作貫穿教育教學全過程,實現(xiàn)全員育人、全程育人、全方位育人”?!罢n程思政”作為高校思想政治教育的重要載體,不僅能滿足“三全育人”的要求,還有助于培養(yǎng)合格的社會主義接班人。因此,本課程建設(shè)要以課程思政為核心進行展開,不僅關(guān)注學生的知識掌握、能力培養(yǎng),還應培養(yǎng)學生優(yōu)秀的品德和高尚的素養(yǎng)。課程思政融入示例如表1所示。
表1 課程思政融入示例
案例驅(qū)動教學是一種新的教學模式,指的是將所學內(nèi)容通過案例的形式展現(xiàn)出來。教學可分為三步,分別是案例引入、案例分析和案例實現(xiàn)。以Python 數(shù)據(jù)分析章節(jié)為例,可引入《紅樓夢》分析案例,通過對案例的目標(制作《紅樓夢》高頻詞詞云以及社交關(guān)系網(wǎng)絡(luò)圖)介紹來吸引學生的學習興趣和學習主動性,接著講解實現(xiàn)該案例所需要的Python 庫,通過對這些“庫”的講解來引導學生自主編程,從而實現(xiàn)案例的相應功能。課后可以給學生布置類似的作業(yè),以讓學生對課堂所學案例內(nèi)容進行舉一反三的掌握。例如,可讓學生下載《三國演義》txt格式電子書,制作高頻詞云,并為出場次數(shù)最多的20個人物制作社交關(guān)系網(wǎng)絡(luò)圖。
本課程的授課學生均來自于大數(shù)據(jù)專業(yè),截止到大二下學期,學生主要修學專業(yè)基礎(chǔ)課程。專業(yè)進階課程(如Python 數(shù)據(jù)爬蟲、大數(shù)據(jù)可視化、大數(shù)據(jù)處理技術(shù)等)較多地放在了高年級修學。因此,大數(shù)據(jù)專業(yè)的“Python 程序設(shè)計”課程教學可以結(jié)合專業(yè)特色,在前期給學生們鋪墊或拓展一些大數(shù)據(jù)應用相關(guān)的知識,包括但不限于Python 的常用庫,如numpy、matplotlib、requests、BeautifulSoup等。
本課程通常采用“紙質(zhì)化”考核方式,而“Python程序設(shè)計”課程實踐性較強,對學生的分析能力、實際問題解決能力、綜合運用能力要求較高,而這些能力的檢測并不能通過一張紙質(zhì)考核試卷來實現(xiàn),因此,需要重點優(yōu)化考核方式,如最終成績可分為平時成績和期末成績兩部分。其中,平時成績可以包括平時作業(yè),平時測試,課堂表現(xiàn)(包括但不限于課堂提問,課堂參與度等)和上機實驗。而期末成績也可以由兩部分構(gòu)成,分別為紙質(zhì)試卷和綜合上機,前者考察基礎(chǔ)知識、基礎(chǔ)理論、基本技能的掌握程度;后者考察學生的綜合應用能力和實踐動手能力。
本課程是一門實踐性、應用性、綜合性較強的課程。因此,對于本課程,可增加為期一周的課程設(shè)計以期提升學生的實踐動手能力和知識綜合運用能力。課程設(shè)計的內(nèi)容可以分為兩大類:系統(tǒng)類和分析類。前者可以做一個小型實用的系統(tǒng),比如用戶注冊信息管理系統(tǒng)。后者可以利用已學的爬蟲和可視化技術(shù)進行簡單的分析,比如大數(shù)據(jù)行業(yè)熱門招聘崗位分析與可視化。
本課程在MOOCs 上有很多公開課,如南開大學的“Python編程基礎(chǔ)”、北京理工大學的“Python語言程序設(shè)計”、北京大學的“實用Python 程序設(shè)計”、南京大學的“用Python 玩轉(zhuǎn)數(shù)據(jù)”等。學生可以根據(jù)自身情況有針對性的學習慕課課程中的相關(guān)教學內(nèi)容。另外,教師可以在超星學習通平臺上傳學習資料,包括但不限于課前導入視頻、課后習題、課后拓展材料等。以供學生課前預習和課后復習??傊?,教師和學生都應充分利用以互聯(lián)網(wǎng)+為基礎(chǔ)的各種現(xiàn)有教學資源,以期更加便捷、高效地學習本課程。
大數(shù)據(jù)時代,作為數(shù)據(jù)科學與大數(shù)據(jù)專業(yè)的學生,數(shù)據(jù)素養(yǎng)是必備素養(yǎng)。因此,本課程應注重培養(yǎng)學生的數(shù)據(jù)素養(yǎng)。國內(nèi)外學者從不同的角度對數(shù)據(jù)素養(yǎng)的概念進行了表述,而目前一般認為數(shù)據(jù)素養(yǎng)教育包含3 個模塊的內(nèi)容:培養(yǎng)數(shù)據(jù)意識、培育數(shù)據(jù)能力、樹立數(shù)據(jù)倫理。其中第二項數(shù)據(jù)能力即貫穿于數(shù)據(jù)生命全周期的數(shù)據(jù)采集、表示、描述、發(fā)現(xiàn)與檢索、選擇與評價、分析、利用、引用、整合、復用、保存、管理等一系列活動所需的技能。
Python 語言擁有大量優(yōu)秀的第三方庫,可以用于數(shù)據(jù)分析的各個環(huán)節(jié)。因此,本課程應注意培養(yǎng)學生的數(shù)據(jù)素養(yǎng),使得學生成為合格的大數(shù)據(jù)人才。
本文首先概述了“Python程序設(shè)計”這門課程的學情和課程目標,并從多個方面對該課程的建設(shè)進行了探究,以期提升該門課的教學質(zhì)量和教學效果,并為后面高年級的專業(yè)進階教學打下堅實的基礎(chǔ)。實踐證明:這些舉措在教學中取得了較好的成效。下一步將重點探究課程的思政建設(shè),爭取形成更加豐富、詳實的思政體系庫。