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