雷澤 劉海軍 崔春杰 王高遠(yuǎn)
摘?要:本文旨在探討面向數(shù)據(jù)分析的Python語言課程設(shè)計(jì),讓學(xué)生更好地適應(yīng)大數(shù)據(jù)時(shí)代。闡述了當(dāng)前的時(shí)代背景和Python語言課程的現(xiàn)狀,并指出Python語言課程設(shè)計(jì)的教學(xué)改革的必要性。然后分析了行業(yè)的需求以及學(xué)生需要的技能和知識(shí)。指出要實(shí)現(xiàn)教學(xué)改革目標(biāo),可以從教學(xué)方法、教學(xué)內(nèi)容、考核方案三個(gè)方面入手,最后指明了進(jìn)一步研究的可能方向。
關(guān)鍵詞:Python語言課程設(shè)計(jì);數(shù)據(jù)分析;教學(xué)改革
Abstract:This?paper?aims?to?explore?the?Python?language?course?design?for?data?analysis,so?that?students?can?better?adapt?to?the?era?of?big?data.First,this?paper?points?out?the?current?background?of?the?era?and?the?status?of?Python?language?course,and?highlights?the?necessity?of?educational?reform?for?Python?language?courses.Next,we?will?analyze?the?needs?of?the?industry?as?well?as?the?skills?and?knowledge?that?students?need.To?achieve?these?goals?in?this?educational?reform,we?can?start?from?three?aspects:teaching?methods,teaching?content,and?assessment?plans.Finally,this?paper?also?points?out?possible?directions?for?further?research.
Keywords:Python?language?course?design;Data?analysis;Teaching?reform
1?背景與現(xiàn)狀
1.1?大數(shù)據(jù)的時(shí)代背景
隨著互聯(lián)網(wǎng)的普及和信息技術(shù)的迅速進(jìn)步,我們正進(jìn)入一個(gè)大數(shù)據(jù)主導(dǎo)的新時(shí)代。數(shù)據(jù)是一種重要的資源,它會(huì)影響我們生活的方方面面。同時(shí),數(shù)據(jù)的處理和可視化,數(shù)據(jù)的分析和可視化,也成為不可或缺的一部分。企業(yè)管理通過對(duì)大量的數(shù)據(jù)進(jìn)行處理與分析,可以更好地做出決策。以短視頻行業(yè)為例,通過對(duì)播放量、用戶行為等數(shù)據(jù)的處理、分析。不僅可以提高作品的播放量和關(guān)注度,還可以為創(chuàng)作者帶來更多的收益和機(jī)會(huì)[1]。此外,在商業(yè)領(lǐng)域中,通過對(duì)市場(chǎng)數(shù)據(jù)的分析,企業(yè)可以更好地了解市場(chǎng)需求,從而制定更加精準(zhǔn)的營(yíng)銷策略和產(chǎn)品開發(fā)計(jì)劃。
在《“十四五”數(shù)字經(jīng)濟(jì)發(fā)展規(guī)劃》中更明確指出,“數(shù)據(jù)對(duì)提高生產(chǎn)效率的乘數(shù)作用不斷凸顯,成為最具時(shí)代特征的生產(chǎn)要素”[2]。由此可見,妥善處理這些數(shù)據(jù),并從這些數(shù)據(jù)中提取有意義的信息以提高生產(chǎn)效率,變得尤為關(guān)鍵。
1.2?Python語言程序設(shè)計(jì)的現(xiàn)狀
Pyhton作為一種簡(jiǎn)單、易懂,并且擁有許多很好用的庫的編程語言,這是無與倫比的優(yōu)勢(shì)。因此,Python編程課程已經(jīng)成為許多高校計(jì)算機(jī)專業(yè)的必修課程之一,并且成為數(shù)據(jù)處理與分析的主流編程語言之一[3]。但是,目前的Python程序設(shè)計(jì)課程存在若干的問題。
Python編程語言的教學(xué)內(nèi)容過于簡(jiǎn)略,并且占據(jù)了大量的學(xué)習(xí)時(shí)間。很多教師在講授過程中,只注重知識(shí)點(diǎn)的講解,而忽視了學(xué)生的實(shí)踐方面。這種情況使得學(xué)生在課程結(jié)束后,盡管已經(jīng)掌握了Python的基礎(chǔ)語法規(guī)則,但在實(shí)際應(yīng)用項(xiàng)目中仍很困難。另外,Python作為一種社區(qū)語言,更新速度極快,導(dǎo)致其課程內(nèi)容過時(shí)。如Python的不同版本在內(nèi)部功能、某些庫的兼容性和語法構(gòu)造上有著顯著的差異。然而,目前課程很少關(guān)注這些問題。因此,對(duì)Python語言程序設(shè)計(jì)的進(jìn)行改革變得非常迫切。
2?行業(yè)的需求分析
為了更有效地推進(jìn)課程改革,本文對(duì)當(dāng)前產(chǎn)業(yè)需求進(jìn)行了深入分析。需要明確教學(xué)目標(biāo)和要求,并根據(jù)實(shí)際情況制定有效措施。隨著社會(huì)的進(jìn)步,如今的各個(gè)領(lǐng)域都期待員工擁有更豐富的軟技術(shù)能力。特別是在計(jì)算機(jī)領(lǐng)域,經(jīng)常會(huì)碰到各種文件格式,雖然方便了數(shù)據(jù)存儲(chǔ)和傳輸,但也給數(shù)據(jù)處理過程帶來了一定的挑戰(zhàn)。故而,這不只是要求員工擁有扎實(shí)的編程知識(shí),還要求他們熟練掌握數(shù)據(jù)的處理、分析和可視化[4]。憑借這些專業(yè)技能,員工可以從大量數(shù)據(jù)中篩選出有意義的信息,幫助企業(yè)做出合理的決策。
因此,在推進(jìn)Python課程的改革過程中,應(yīng)該著重培養(yǎng)學(xué)生在“數(shù)據(jù)素養(yǎng)”上的能力。由于Python編程語言擁有眾多在數(shù)據(jù)處理和分析上表現(xiàn)優(yōu)異的庫,它無疑是最合適的選擇。如Pandas庫為讓員工能更便捷地進(jìn)行數(shù)據(jù)的處理、清理和整合等各種操作;Numpy庫對(duì)數(shù)組操作和數(shù)值分析的操作,有助力對(duì)數(shù)據(jù)進(jìn)行更深層次的理解和挖掘;Matplotlib庫能夠?qū)?jīng)過處理和分析的數(shù)據(jù)進(jìn)行可視化處理,進(jìn)而實(shí)現(xiàn)更深入的數(shù)據(jù)分析。
3?教學(xué)改革方案
通過Python課程的現(xiàn)狀和行業(yè)的需求分析,本文提出以下教學(xué)改革方案。主要從教學(xué)方法、教學(xué)內(nèi)容、考核方案三個(gè)方面入手。
3.1?教學(xué)方法
現(xiàn)行的課堂教學(xué)方法主要圍繞教師展開,他們?cè)谡n堂中教授知識(shí),而學(xué)生則在課堂的下方進(jìn)行傾聽。這種模式忽略了學(xué)生才是課堂的主體,在一定程度上限制了學(xué)生的主動(dòng)性和創(chuàng)造性,使得學(xué)生過于依賴教師,缺乏自主學(xué)習(xí)的能力。特別是在Python語言教學(xué)中,這種問題更加明顯。隨著Python編程語言的不斷發(fā)展和創(chuàng)新,各種新的技術(shù)和工具層出不窮,如果學(xué)生缺乏自主學(xué)習(xí)的能力的話,將很難跟上Python的發(fā)展速度。因此,有必要對(duì)現(xiàn)有的課堂教學(xué)模式進(jìn)行改革,始終把學(xué)生的需求放在首位。具體措施如下:
(1)翻轉(zhuǎn)課堂:翻轉(zhuǎn)課堂這種新的教學(xué)模式,在傳統(tǒng)的以教師為中心的教學(xué)模式的基礎(chǔ)上,引入了課外自主學(xué)習(xí)的概念,使得學(xué)生可以結(jié)合自身的實(shí)際情況,選擇適合自己的知識(shí)點(diǎn)進(jìn)行反復(fù)學(xué)習(xí)和鞏固。如此一來,學(xué)生不再僅僅是被動(dòng)的接收者,而是轉(zhuǎn)變?yōu)榉e極主動(dòng)的學(xué)習(xí)者。
翻轉(zhuǎn)課堂的實(shí)施并不意味著減輕了教師的工作壓力。事實(shí)上,這是從傳統(tǒng)的“填鴨式”教學(xué)方式到如今的“互動(dòng)型”教學(xué)方法。隨著時(shí)間的推移,教師的職責(zé)變得更加多樣化,他們需要制作和準(zhǔn)備教學(xué)視頻、策劃課堂活動(dòng)、提供學(xué)習(xí)資料[5]。盡管學(xué)生在課程開始前已經(jīng)通過獨(dú)立學(xué)習(xí)掌握了相關(guān)知識(shí)點(diǎn),但是在實(shí)際的課堂教學(xué)中,他們?nèi)匀豢赡苊媾R一些難以領(lǐng)會(huì)的挑戰(zhàn)。在這種情況下,教師需要根據(jù)學(xué)生的具體需求和問題來進(jìn)行詳細(xì)的講解和指導(dǎo),以便他們能更有效地理解和掌握所學(xué)知識(shí)。
(2)以問題導(dǎo)向的學(xué)習(xí)方法:在過去的實(shí)驗(yàn)布置中,主要是根據(jù)教科書或課程大綱的要求,指導(dǎo)學(xué)生按照實(shí)驗(yàn)的具體步驟和標(biāo)準(zhǔn)來執(zhí)行。但是,對(duì)于Python這種既靈活又開放的課程,這樣的教學(xué)方法似乎并不適宜。例如,在處理Python文件時(shí),可以選擇xlrd、openxl庫,但os庫也是一個(gè)可行的選擇。如果按照實(shí)驗(yàn)的具體步驟或規(guī)定,學(xué)生只能掌握某一特定類型的庫,而不是靈活地運(yùn)用來解決實(shí)際問題。
通過提出實(shí)際問題或挑戰(zhàn),讓學(xué)生自主探究、設(shè)計(jì)和實(shí)施實(shí)驗(yàn)方案,解決問題。不僅提高學(xué)生解決問題的能力,還可以促進(jìn)學(xué)生的合作學(xué)習(xí)和交流。通過小組成員之間的相互探討、相互交換信息以及彼此評(píng)價(jià)等形式來達(dá)到共同進(jìn)步的目的。
3.2?教學(xué)內(nèi)容
前文中已經(jīng)分析了當(dāng)前行業(yè)所需的技能,如數(shù)據(jù)的處理、分析和可視化。為了讓學(xué)生具備這些技能,課程的教學(xué)內(nèi)容必須增加關(guān)于數(shù)據(jù)處理和分析以及可視化的內(nèi)容。通過適當(dāng)?shù)卣{(diào)整教學(xué)內(nèi)容,學(xué)生不僅能更深入地掌握Python的語言基礎(chǔ)知識(shí),還能更全面地了解和應(yīng)用行業(yè)所需的各種技術(shù)。具體增加的教學(xué)內(nèi)容如下:
(1)文件處理庫:處理數(shù)據(jù)時(shí),文件的處理是不可或缺的。雖說文件處理的庫過多,比如有xlrd庫、openxl庫、os庫等,但是這些庫的基本原理都是一樣的,只是有些函數(shù)不同。xlrd庫與openxl庫這兩個(gè)庫對(duì)于處理Excel的文件特別合適。因?yàn)樵谒鼈兩厦娑加性S多表格類型的函數(shù)供用戶調(diào)用,比如公式、圖表等。它們都是用通用函數(shù)編寫而成,具有良好的兼容性。借助這些建庫,學(xué)生能夠毫不費(fèi)力地從Excel文件中讀取和更改數(shù)據(jù);os庫為用戶提供了許多與系統(tǒng)交互的功能。通過這些庫,學(xué)生可以了解如何在文件系統(tǒng)中瀏覽、創(chuàng)建、刪除文件和目錄。
文件的處理還需要學(xué)生更深入地了解不同文件類型的獨(dú)特屬性,以及如何正確地處理它們。比如,文本文件是最常見的,它包含有大量的文檔信息;CSV文件是一種通常以逗號(hào)分隔的文本文件;Excel文件是一個(gè)可以存儲(chǔ)大量數(shù)據(jù)的表格文件。
(2)Pandas庫:Pandas是一款功能極為強(qiáng)大的數(shù)據(jù)分析工具,能夠進(jìn)行數(shù)據(jù)的讀取、處理和分析工作,并根據(jù)需要生成相應(yīng)的數(shù)據(jù)表。學(xué)生必須了解如何使用Pandas讀寫數(shù)據(jù),如何執(zhí)行數(shù)據(jù)清理和分析、如何使用Pandas的各種功能來處理數(shù)據(jù)。如read_csv()和to_csv()這兩種文件,都可以輕松地進(jìn)行CSV文件的讀取和寫入。還有dropna()和fillna(),這些都是用于處理數(shù)據(jù)缺失值的工具。drop_duplicates()函數(shù)去除重復(fù)的值;groupby()函數(shù)適用于數(shù)據(jù)的分類和整合。利用這些函數(shù)和技巧,學(xué)生可以更深入地解讀和分析數(shù)據(jù),揭示其中的模式和發(fā)展方向。
Pandas還具備了DataFrame這一獨(dú)特的數(shù)據(jù)架構(gòu)。這種數(shù)據(jù)結(jié)構(gòu)不僅能夠處理原始文件,它還能適應(yīng)多種復(fù)雜應(yīng)用場(chǎng)景的需求,包括文件格式的轉(zhuǎn)換。DataFrame還可以方便地完成數(shù)據(jù)的切割、合并、篩選以及排序等眾多任務(wù)。這些優(yōu)勢(shì)共同為數(shù)據(jù)分析創(chuàng)造了有利的環(huán)境。例如,可以利用DataFrame的各種功能和策略來選擇分析的數(shù)據(jù)列,并對(duì)這些選定的數(shù)據(jù)列進(jìn)行綜合和統(tǒng)計(jì)處理,極大地簡(jiǎn)化了數(shù)據(jù)分析和處理的步驟。
(1)Numpy庫:Numpy是用于科學(xué)計(jì)算的庫,它提供了大量的數(shù)學(xué)函數(shù)和優(yōu)化的數(shù)組對(duì)象。由于Python的列表中的元素可以是各種類型,所以它們并不構(gòu)成真正的數(shù)值數(shù)組,但是Numpy很好地解決了這些問題,使得這些計(jì)算變得更加高效。從數(shù)據(jù)分析的視角出發(fā),盡管Python的列表可以用于數(shù)據(jù)的存儲(chǔ)和處理。
Numpy所特有的ndarray,實(shí)際上是一個(gè)擁有固定數(shù)據(jù)類型的多維數(shù)組。在使用時(shí),用戶只需要根據(jù)所需查詢的變量來創(chuàng)建相應(yīng)的值,就能實(shí)現(xiàn)快速查找到所需結(jié)果。除此之外,Numpy還提供了一系列功能強(qiáng)大的函數(shù),例如,rand()用于生成隨機(jī)數(shù)字;mean()用于計(jì)算平均數(shù)。這些函數(shù)使得對(duì)數(shù)組的操作變得更為簡(jiǎn)便。
從數(shù)據(jù)處理的角度看,Numpy為我們提供了眾多的線性代數(shù)函數(shù)以及傅里葉變換功能。本文通過分析這類數(shù)據(jù),給出其數(shù)學(xué)表達(dá)式及其相關(guān)性質(zhì)。solve()函數(shù)具有解決線性方程組等問題的能力。這類函數(shù)可以構(gòu)造出許多數(shù)學(xué)方程,讓Python中的數(shù)學(xué)運(yùn)算過程變得更為簡(jiǎn)潔和高效。在統(tǒng)計(jì)學(xué)領(lǐng)域,例如,numpy.median()函數(shù)能夠處理中位數(shù)的計(jì)算,而numpy.std()函數(shù)則能夠處理標(biāo)準(zhǔn)偏差等問題。這類函數(shù)扮演著至關(guān)重要的角色,它們構(gòu)成了眾多數(shù)據(jù)分析技術(shù)的核心。
(2)Matplotlib庫:Matplotlib是一個(gè)用于數(shù)據(jù)可視化的庫,可以繪制出各種類型的圖表。學(xué)生通過學(xué)習(xí)如何使用Matplotlib庫繪制餅圖、散點(diǎn)圖、折線圖、柱狀圖等圖表,以及如何對(duì)圖表進(jìn)行美化、添加標(biāo)簽和圖例等操作,可以對(duì)處理和分析之后的數(shù)據(jù)進(jìn)行可視化,然后通過圖表來分析結(jié)果。
在Matplotlib庫中,有幾個(gè)重要的函數(shù)可以幫助學(xué)生創(chuàng)建和美化圖表。例如,scatter()用于散點(diǎn)圖的繪制,它可以輕松地創(chuàng)建一系列點(diǎn),并根據(jù)需要調(diào)整點(diǎn)的顏色、大小和形狀。plot()函數(shù)可以用于繪制折線圖,它允許學(xué)生創(chuàng)建線條圖表。bar()函數(shù)用于繪制柱狀圖,它可以創(chuàng)建以條形展示數(shù)據(jù)的圖表。pie()函數(shù)可以用于繪制餅圖,它可以創(chuàng)建以扇形展示數(shù)據(jù)的圖表。subplot()函數(shù)是在一個(gè)圖形中創(chuàng)建子圖,它可以在一個(gè)圖形中放置多個(gè)子圖。legend()函數(shù)可以用于給圖形添加圖例,它允許學(xué)生在圖表中添加說明性的標(biāo)簽,以解釋每個(gè)圖例的含義。
Matplotlib還有如顏色的映射、坐標(biāo)軸的刻度配置、文本的注釋以及圖例的設(shè)定等。學(xué)生有機(jī)會(huì)通過掌握這些工具和功能,不僅可以提升圖表的美觀度,還可以給圖表增添更多的信息。這樣學(xué)生不僅能更深入地掌握和運(yùn)用Python的各個(gè)知識(shí)點(diǎn),還能更有效地滿足可視化的需求。
借助這些實(shí)用性極高的資源庫進(jìn)行教學(xué),Python課程能夠更好地滿足行業(yè)的實(shí)際需求。學(xué)生也可以更好地理解和應(yīng)用Python語言的特點(diǎn),同時(shí)也可以更好地適應(yīng)社會(huì)的發(fā)展需求。
3.3?考核方案
在這種教學(xué)方法和教學(xué)內(nèi)容的驅(qū)使下,為了更好地評(píng)估學(xué)生的學(xué)習(xí)效果和實(shí)際能力,本文提出了一種新的考核方案。通過使用平時(shí)性評(píng)價(jià)和終結(jié)性評(píng)價(jià)這兩種不同的評(píng)估方法,可以更準(zhǔn)確地評(píng)估學(xué)生對(duì)知識(shí)的掌握情況。
在總評(píng)價(jià)中,平時(shí)性評(píng)價(jià)是重要的,它占據(jù)了總評(píng)價(jià)的40%,這主要包括了學(xué)生在課堂上的行為、出席的頻率以及他們參與課堂討論的熱情等多個(gè)方面。在平時(shí)性評(píng)價(jià)中,課堂表現(xiàn)和出勤狀況各自占20%,而針對(duì)平時(shí)項(xiàng)目的評(píng)價(jià)則占據(jù)了剩下的60%。這種設(shè)計(jì)的核心目的是強(qiáng)調(diào)學(xué)生完成項(xiàng)目的能力,并進(jìn)一步培育學(xué)生的綜合能力。
終結(jié)性評(píng)價(jià)要求學(xué)生完成以問題為導(dǎo)向的課程設(shè)計(jì),占據(jù)總評(píng)價(jià)的60%。一方面是為了檢驗(yàn)學(xué)生對(duì)知識(shí)掌握的情況,另一方面是考查學(xué)生們?cè)趯?shí)際應(yīng)用方面的能力,以避免出現(xiàn)“分?jǐn)?shù)高但實(shí)際能力低”的現(xiàn)象。因此,教師要重視對(duì)教學(xué)過程進(jìn)行反思,及時(shí)調(diào)整教學(xué)方法和手段,提高教學(xué)效果。學(xué)生們對(duì)這種考核方案也感到認(rèn)同。
結(jié)語
隨著時(shí)代的進(jìn)步和教育理念的更新,Python語言課程只有不斷地更新和完善,才能更好地適應(yīng)時(shí)代和行業(yè)的發(fā)展,才可以培養(yǎng)出具備綜合能力和創(chuàng)新精神的人才。當(dāng)然,Python語言課程還面臨著很多新的挑戰(zhàn),例如,Python技術(shù)的實(shí)時(shí)應(yīng)用開發(fā)等。為了應(yīng)對(duì)這些挑戰(zhàn),Python語言課程需要不斷地更新,同時(shí),教師們也需要進(jìn)行不斷的知識(shí)更新和教學(xué)能力的提高。只有人才與發(fā)展“雙向奔赴”才能助力經(jīng)濟(jì)社會(huì)高質(zhì)量發(fā)展。
參考文獻(xiàn):
[1]蔣雪麗.大數(shù)據(jù)環(huán)境下大學(xué)生就業(yè)創(chuàng)業(yè)前景分析[J].就業(yè)與保障,2023(07):136138.
[2]李博,呂斌,王兵,等.大數(shù)據(jù)技術(shù)在木材工業(yè)中的應(yīng)用前景分析[J].中國(guó)人造板,2022,29(06):16.
[3]張樂平,李東方.醫(yī)科院校Python程序設(shè)計(jì)課程教學(xué)研究[J].計(jì)算機(jī)教育,2017(08):2831.
[4]劉海橋,袁丹丹.基于大數(shù)據(jù)工程專業(yè)人才培養(yǎng)目標(biāo)的Python語言教學(xué)改革探析[J].電腦知識(shí)與技術(shù),2023,19(26):142145.
[5]袁靜.基于翻轉(zhuǎn)課堂的“程序設(shè)計(jì)”課程改革探析[J].科教文匯(下旬刊),2020(33):9697.