劉姝



摘要:針對數據智能時代高校本科生計算思維與數據素養培養需求,分析Python數據分析通識課程建設挑戰和思路,提出以賦能為主線的分層漸進式教學內容設計,探討信息化平臺輔助的線上線下精準教學、“點-線-面”結合的實用型案例與實踐、以學生為中心的分組學習與研討,過程化多元考核評價等教學實踐,從知識點難易反饋、應用能力評價角度說明教學效果。
關鍵詞:Python;數據分析;通識課程;課程設計;教學實踐
中圖分類號:G642? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)28-0220-03
開放科學(資源服務)標識碼(OSID):
1 引言
大數據、人工智能等作為新一輪科技革命和產業革命的驅動力,正深刻影響著經濟社會發展。我國發布實施了《中國制造2025》《促進大數據發展行動綱要》《新一代人工智能發展規劃》等重大發展戰略,以新技術、新業態、新產業為特征的經濟形態繁榮發展,全面進入數據智能時代。
數據分析能力已經成為數據智能時代人才的必備能力。2018年教育部發布的《教育信息化2.0行動計劃》指出,提升信息素養對于落實立德樹人目標、培養創新人才具有重要作用。數據無處不在,數據的收集、處理和應用已成為金融、會計、政務等領域的必備技能,也是數據智能時代信息素養的重要組成部分[1,2]。高校教育順應經濟社會發展,積極推進新形勢下的人才培養方案改革和課程建設。如何面向本科生開展信息類通識課程的建設與教學,培養學生的計算思維和數據素養,是備受關注的問題。Python數據分析通識課程能夠很好地融合計算思維和數據分析能力培養目標。
2 Python數據分析課程現狀與挑戰
Python程序設計或者基于Python的數據挖掘分析通常是各高校計算機類專業的重要課程,課程內容較為深入全面[3,4]。有些高校開設Python程序設計公共課程,以培養學生編程和計算思維[5,6]。 Python數據分析通識課程的定位與培養目標與兩者不同。通識教育旨在培養較為廣泛的基本知識、技能和態度,強調“識”與“通”,而并非“專”,要使學生獲得較為合理的知識結構、科學素養和能力[7]。Python程序設計公共課大多以學習編程語法和設計思維為主,不強調數據分析。Python數據分析通識課程教學設計充分考慮學生無編程基礎的學情以及通識課程知識結構、能力和素養構建的目標,培養學生更寬的知識面和解決復雜問題的綜合知識和能力。
從2019年春季學期開始我校面向非計算機專業開設Python數據分析公共課程。該課程主要面臨的問題如下,對教學內容設計以及教學實施提出了挑戰。
1) 編程知識枯燥,需調動學習積極性。通識課程各專業學生大多零編程基礎,特別人文社科專業學生對計算機和編程語言學習存在一定畏難情緒。Python程序設計語言與C語言、Java等相比語法簡潔靈活,對非計算機專業人員更為友好,并且在數據分析挖掘、人工智能領域占重要地位。為適應學生學科背景,Python語言相關知識點的教學內容組織要明了易懂,教學方案要形象、趣味、實用,枯燥的語法和知識點講解不利于激發學生學習興趣。
2)計算機程序設計與數據分析的融合與權衡。Python數據分析通識課程需要很好地融合計算思維和數據分析能力培養目標,教學過程以語法為主還是以分析為主,先語法后實踐還是語法與實踐融合是不同的設計思路,需科學地組織教學內容,構建漸進式、以應用牽引的教學內容體系,并且在知識深度和廣度上做適當權衡。
3)程序設計思維建立和數據分析方法靈活應用難度高。Python數據分析通識課程教學難點不只在于使學生掌握Python的語法、數據分析常用的函數庫,更重要的是培養學生的計算思維和應用能力。特別對于初接觸計算機編程的學生,難以建立將現實問題轉換為計算機表示的思維方式,遇到實際問題時,不知如何選擇合適的數據結構,無法確定程序實現的流程。
4)需適應線上線下混合教學需求。線上線下混合教學可以充分利用互聯網優勢,發揮教師引導作用,調用學生學習積極性。特別受疫情影響,要充分應用在線教學平臺和信息化手段,合理設計教學內容和實施過程,提升教學效果。
3 Python數據分析課程教學研究
針對上述問題,本節提出Python數據分析通識課程的教學內容設計,并探討教學實施方案。
3.1 課程定位與設計思路
本課程將Python語言作為數據分析的支撐技術,全面貫穿數據獲取、數據預處理、數據分析、數據可視化等過程,既能在編程語言學習和應用中培養學生的基本編程能力和計算思維,又能夠以數據分析應用為目標,使學生認識數據并利用數據解決現實問題,培養具有數據素養和數據分析能力的復合型人才。更重要的是要激發學生對大數據、人工智能等新一代信息技術的學習興趣和應用意識、創新意識,為高年級的學習和終身學習建立基本的技能。
3.2以賦能為主線的分層漸進式教學內容設計
課程教學內容設計如圖1所示,以Python為技術支撐,以知識結構與能力建設為主線,按照“認識數字化——數據存儲訪問——數據處理與分析——數據可視化”逐層展開。其中,認識數字化是建立編程語言基礎,理解現實世界與計算機數字化的表達關系;后三層按照數據分析的主要過程,以應用為牽引,逐步構建完整的數據分析知識結構,在數據分析應用中繼續深化和鞏固Python程序設計,提升實踐能力。
第一層,認識數字化與編程基礎應用。該部分從淺入深,引導學生掌握基本的Python程序設計、開發方法,能夠用Python程序實現簡單應用問題,建立初步的計算思維。首先使學生逐步認識計算機編程語言的特點,理解程序、數據、變量、表達式、數據類型等基本概念,掌握Python 語言的語法,構建計算機數字化表達的思維,并掌握基于IDLE開發環境進行程序編寫、調試、運行的邏輯,能夠與計算機流暢“交流”。然后進一步深入講解字符串、列表、元組、字典、集合等序列數據結構的特點、典型操作和應用場景,以及函數的定義和使用,豐富學生程序語言表達的能力,并且建立代碼復用和模塊化程序設計的思想。
第二層,數據存儲訪問與應用提高。該部分使學生了解各類數據來源、存儲與訪問形式,重點講解目錄和txt、csv等常用文件的操作,能夠通過程序進行數據獲取與操作。
第三層,數據處理分析與應用進階。該部分基于Numpy和Pandas學習數據處理與分析常用的操作,建立完整的數據分析過程,學會查看數據、提出問題、靈活應用分析方法,在應用中鞏固Python編程思維。Numpy支持多維數組的創建、運算、排序、統計等操作,Pandas提供了大量標準數據模型和分析工具。使用這些擴展庫,學生可以學習數據預處理的原因及常用預處理方法,掌握行列選擇、排序、頻數統計、分組查詢、數據透視表等分析方法。
第四層,數據可視化與綜合應用。數據可視化可用于洞察數據集,以及直觀清晰地呈現數據分析結果。該部分基于matplotlib、seaborn等,使學生掌握散點圖,折線圖,直方圖,條形圖和餅圖等基本可視化方法,以及箱線圖、熱度圖、雷達圖、詞云等數據分析常用圖形。各類可視化圖形適用的數據表達場景,對數據形式的要求和圖形的關鍵設置是重點。至此,學生可以靈活地選用視覺化、圖像化方式,準確進行數據分析結果的表達,完成數據分析完整過程。
3.3教學實施方案
針對Python編程與數據分析能力培養中常見的知識枯燥、程序設計思維難以建立、靈活應用難度高及線上線下教學需求等問題,從信息化建設以及教、學、評全過程探討教學方案。
3.3.1 信息化平臺輔助的線上線下精準教學
采用雨課堂輔助教學過程,包括課前預習資料推送、課堂互動、隨堂測試、學習調查反饋等。課前通過雨課堂推送PPT等學習資料,學生可以初步了解講授的知識點,通過點擊“不懂”反饋難點和問題,教師授課講解更具有針對性。學生學習中能夠抓住每節課的知識點并且學懂學通,必然會提升教學效果。為了解學生課堂知識點的掌握情況,可進行課堂測試、課堂實時互動、知識點掌握情況調查等,基于學生預習、互動、測試、調查反饋等學習數據,全方位評估每一位學生的學習情況,總結課程難點和常見問題,實施"精準教學"。另外,雨課堂也為線上線下混合教學提供支撐,可以結合微信實時答疑等構建線上教學環境。
3.3.2 “點-線-面”結合的實用型案例與實踐
為提升學生學習興趣并提高學以致用的能力。課程教學中采用的案例多源自學生現實生活中常見的場景或主題,并且案例教學中,首先注意引導學生開展思路分析,然后逐步分解,構建計算機程序,再通過程序的不斷演化和改進逐步展開知識點講解,幫助學生構建計算思維,掌握程序設計和數據分析過程、方法。如程序結構教學中,使用猜數字的小游戲,從if分支判斷到for、while循環,再到break和continue的使用逐步深入;在數據分析中,使用超市營業數據,引導學生首先提出可以分析的問題,再逐步講解數據觀察、數據預處理、描述統計、交叉表等內容,在多個分析問題的案例中,反復練習數據分析的思路與過程,不斷引入新的分析方法。課程實踐也采用類似思路,在實踐題型設計上從“知識點-模塊-綜合應用”逐步深入,不斷鞏固和迭代所學知識。
3.3.3 以學生為中心的分組學習與研討
初學編程的學生由于還不能熟練掌握計算機程序設計的思路,較為復雜知識點和應用常會遇到困難。為調動學生學習積極性,促進學生間的研討交流,培養學生分析問題、解決問題的能力,采用分組學習與研討。每組由3~4名學生組成,對較復雜的編程實踐練習,分組進行討論交流和評價。每次作業由小組長提交,包括組內每名成員的代碼,組內實踐經驗、難點和問題、組內互評結果等。課堂上每組實踐匯報,教師針對每組的共性問題、以及各組有特點的地方進行評價和講解,如程序設計思路、數據分析方法、Python語言使用技巧等,通過組內、組外兩層學習循環反饋,加深學生對知識的理解和應用。
3.3.4過程化多元考核評價
Python數據分析不僅包括語法知識,還涉及應用能力、計算思維等培養,單一閉卷考核并不能全面考察學生的學習情況。課程總評成績由過程性考核成績和期末考核成績得出。過程性考核成績包括隨堂課堂測試、平時作業(包括分組編程實踐)、出勤與課堂表現成績;期末考核主要采用綜合大作業方式。通過過程化考核督促學習,輔助教學改進。為提升學生的學習主動性,課堂出勤以及教學互動等參與度也一定程度考慮在內。
開放式綜合大作業作為期末考核。教師提供多個主題的數據集,學生也可以自行搜集感興趣的數據。學生自主設計數據分析目標,利用課程所學知識或者自學的方法,完成數據導入導出、數據預處理、數據分析、數據可視化等操作。大作業完成后需提交項目報告,包括選題背景、數據集及來源、數據預處理與分析過程、結論等,并將 Python 代碼操作過程錄制為20分鐘內的短視頻,講解項目設計、代碼實現與結果。大作業不僅鞏固并考察了學生對所學知識點的理解與應用,重點是在資料搜集、選題、分析和解決問題的過程中,培養了學生的自主學習能力、運用知識解決實際問題能力、創新能力和表達溝通能力。另外,數據集和項目選題通常以社會經濟發展的統計數據、疫情統計數據、環境監測數據等重點、熱點數據等為主,在數據分析中能夠潛移默化地融入課程思政。
4 教學實踐效果分析
2020年春季學期在線教學中,面向金融專業本科二年級開設Python數據分析課程。學生在一年級通過《計算機基礎》學習了Word、PowerPoint以及Excel使用,無編程基礎。課程共14周56學時,包括24理論學時、32實踐學時。課前對學生進行了初步調查,90%認為該課程將對未來發展與就業有幫助,71%擔心學習程序設計會有難度。期末總評表明,75%的學生知識掌握與綜合應用達到良好以上。
4.1 知識難點分析
根據調查問卷和過程性考核結果分析,各部分知識難易度如圖2所示。Python編程基礎相對較容易學習,難點主要在程序控制結構和函數。使用Numpy、Pandas進行數據分析的難點是多維數組、Series和Dataframe對象使用。數據可視化的評價中認為難的比例較高。Python可視化涉及圖形選擇、數據的形式轉換、圖的格式設置等,較學生以往使用的Excel可視化而言需要進一步熟悉程序語言。這些知識難點是教學中需要特別關注的內容。
4.2 應用能力評價
綜合大作業提供了股票數據、疫情統計數據等多個數據集供學生自主選擇,并自主設計分析問題,考核要求中明確了各過程分數占比及評分細則。考核采用百分制,其中數據導入導出(10%)、數據預處理(30%)、數據分析(40%)、數據可視化(10%),課程報告與講解(10%)。評價結果如圖3所示,多數學生能夠較好地掌握和應用Python數據分析知識。
以綜合大作業各評分維度的得分率作為能力評價指標,結果如圖4所示。數據預處理和數據分析得分率相對較高,問題的提出、對分析結果的洞察和釋義是數據分析部分的難點;數據可視化方面,圖形選擇的合理性以及表達的準確性等方面需加強。
5 結語
大數據、人工智能等新一代信息技術背景下,高校順應經濟社會發展需求推進教育改革,Python數據分析通識課程能夠契合具備計算思維、數據分析能力的高校本科復合型人才培養需求。中華女子學院作為全國婦聯直屬本科高校,設有女性學、法律、社會工作、社會學、金融學、應用心理學等24個專業,致力于應用型女性人才培養,學校人才培養方案中將科技素養作為通識教育的重要組成部分。目前已在金融專業開展了多輪Python數據分析課程的建設與教學實踐探索,基本實現了預期培養目標,教學效果好。后續將針對學校各專業特點進一步擴充教學案例,優化教學方法,提高教學效果。
參考文獻:
[1] 黃如花,李白楊.數據素養教育:大數據時代信息素養教育的拓展[J].圖書情報知識,2016(1):21-29.
[2] 張璇,孟祥保.面向數字人文的高校數據素養教育案例研究[J].大學圖書館學報,2019,37(5):87-94.
[3] 焦李成,李陽陽,侯彪.人工智能學院本碩博培養體系[M].北京:清華大學出版社,2019:56-57.
[4] 李莎莎,周競文,唐晉韜,等.數據科學與大數據人才專業課程體系分析[J].計算機工程與科學,2018,40(S1):109-113.
[5] 嵩天,黃天羽,禮欣.Python語言:程序設計課程教學改革的理想選擇[J].中國大學教學,2016(2):42-47.
[6] 劉亞輝,郭祥云,李桂芝.信息管理類專業的Python語言教學模式探討[J].計算機教育,2018(9):44-47.
[7] 王紅雨,張瑞中.通識課程如何面向職業素養?——斯坦福大學通識課程的目標、實踐與生成邏輯[J].現代大學教育,2019(6):47-55,112.
【通聯編輯:王力】