彭鵬



摘要:自定節奏教育是斯坦福2025計劃四項核心部分中的一項,將大學生的在校學習分為了三個階段(調整、提升、啟動)。本次研究基于斯坦福2025計劃,以Python程序設計為背景,以在校生特色為主,將Python程序設計的教學模式分為四個階段,讓學生根據自己的掌握情況在階段中進行學習調整。以此來達到因材施教,提升學生的編程能力,從而推動教學改革。
關鍵詞:Python程序設計;斯坦福大學2025計劃;自定節奏教育;教學改革
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)34-0164-03
1 引言
提及人工智能,我們腦海中浮現出的往往是Python程序語言,迄今為止,人工智能在現代社會中的地位越來越重要,而Python作為人工智能(機器學習、深度學習等)的首選編程語言,由于其開源的特性,已經被移植到多個平臺上(Linux、Window、MacOS、Solaris等),且標準庫已經非常強大,再由全球的開發者持續貢獻更多的庫資源,Python不僅與人工智能緊密地捆綁在一起,也滲透到日常辦公、IT運維、電子商務、社交網絡等各個行業當中,體現出其強大功能。
截至2020年,TIOBE榜(結合程序員、課程和廠商使用搜索引擎等工具統計出的排名數據榜),Python優勢非常明顯,不僅漲幅巨大,而且依靠其強大的社區資源,生態應用日益劇增,用途廣泛。
1.1 Python語言
Python是最為熱門的編程語言之一,語法要素不多,是一門簡單易學的程序設計語言,依靠其便捷性、靈活性的第三方擴展,成就了其在程序開發領域的地位。特點如下[1]:
(a)簡單:對于初學者(包括計算機專業或非計算機專業的學生),非常接近人類的語言,強制的語法格式,使其代碼易于閱讀。Python是解釋類型的程序設計語言,偽代碼本質是其較大的優勢,能夠降低學生
(b)開源:Python由全世界的工程師共同維護,無論你是面向過程、面向對象或者是函數式編程的工程師,都可以在Python中找到合適的語言范式。而且依賴Python的開源性,在面向開源及私有軟件項目的托管平臺Github上擁有近一百八十萬個項目倉庫。
(c)緊缺:目前國內對Python開發工程師的需求高達四十萬,涉及領域如大數據分析、人工智能、應用運維等,且薪資普遍高于其他類型工程師,隨著國內在人工智能的投入與規劃,對于Python人才的需求會呈現爆發式增長。
2 自定節奏教育
斯坦福大學于2010年成立專門的教學改革小組,開啟新的本科教學工作研究項目。圍繞著幾百年來一直保持不變的教育模式進行研究,認為在線學習會潛在地影響高等教育中的時間、空間、專業知識、資格認證和學生機構。斯坦福大學認為大學有多重目標,它不只是一個獲得專業知識和發展能力的地方,也是一個成熟的地方。在這種復雜特殊的環境當中,多重因素交織在一起,希望通過探索現在和未來的校園學習和生活來更好地推動教育的發展。
四項核心要素組成了斯坦福大學2025計劃的教育目標。它們是開環大學、軸翻轉[1]、自定節奏學習[2]、有目的地學習。此次教學改革的探索嘗試是自定節奏教育。
自定節奏教育(Paced Education):強調學生個性發展,根據學生個人的基礎條件和意愿設計自己的學習節奏來完成各階段的學習,主要包括三個階段:調整(Calibrate)、提升(Elevate)和啟動(Activate)。這三個階段又分別個性化地預設了學習時間及其目標:
(a)調整階段為6至18個月,旨在使學生通過了解學校、教師、專業以及自己的興趣特質等來選擇未來的學習。
(b)提升階段為12至24個月,學生在此階段組件包括學術導師、個人導師以及高年同學和信任伙伴在內的個人學習委員會,營造有利于深度學習專業知識的環境。
(c)啟動階段為12至18個月,意在培養學生將學習的知識轉化為實際應用活動中,如實習、項目、研究等。
結合我校軟件技術專業的人才培養方案,在開設《Python程序設計》之前的學期已經學習了《Java程序設計》和《Java程序設計實訓》,學生已經有了編程的基礎,尤其是面向對象的是程序設計思想,便于開展Python程序設計教學。
我校軟件專業學生在兩年的專業學習后將進行一年的頂崗實習,然后進入社會工作,為了更好地滿足相關公司對軟件專業學生的能力要求,增強學生的動手能力和主動學習習慣,希望通過此次教學探索達到目標。
3 自定節奏教育的教學實踐
結合我校軟件專業學生的人才培養方案,在《Python程序設計》課程開設前的學期已經開設的課程有《C#程序設計》《軟件工程》《大數據分析與應用》《數據結構》《Linux程序設計》《計算機網絡》《Java程序設計》《網頁設計與開發》等課程,同學期開設的課程有《軟件測試技術》《數據庫應用與維護》《UML建模與設計模式》《JavaEE企業級開發》等課程,其中有專業核心課程,也有基礎必修課程,其中網頁設計、數據庫、計算機網絡等基礎課程是學習Python程序設計的基礎,再加上已經學習過Java程序設計,有了面向對象思維模式,對Python程序設計有相當的幫助功能。
在斯坦福大學2025計劃軸翻轉[2]的基礎上,已經把教學過程分為如表1所示:
在傳統的高職教育中,學生的學習計劃被分為兩年在校學習時間和一年的實習,在每一門的課程學習中每個專業、每個班級的學生被當成一個整體來進行教學,優點是可以整體把握教學進度,存在的缺點是學生的學習能力參差不齊,導致最終的掌握程度不同。
自定節奏教育[3]將學生的學習過程分為“調整階段(Calibration)”“提升階段(Elevation)”“啟動階段(Activation)”,每個學生可以根據自己的學習習慣在自我掌握的程度上決定是否進入下一階段,也可循環往復在三個階段。
第一階段(調整階段):該階段重點在于使學生盡快適應Python開發特色。
Python的基礎語法如下:
(1)開發環境搭建:針對Windows、Linux、MacOS各種系統的搭建,開發工具PyCharm的使用方式等;
(2)基本語法:注釋、行與縮進、變量和數據類型、標識符和關鍵字、數值類型、運算符及位運算等;
(3)常用語句:判斷、循環和其他語句等;
(4)字符串:輸入輸出、內建函數;
(5)列表、元組和字典:不同容器的操作方式和內建函數用法;
(6)函數:參數、返回值、作用域、遞歸和匿名函數、日期時間函數等。
軟件專業學生在之前的學期中已經學習過Java、C#等程序設計語言,已經掌握了較好的面向對象思維模式開發基礎,所以絕大多數學生能夠順利平穩地度過,而且軸翻轉教學中的第一階段為基礎語法,與自定節奏教育的“調整階段”契合,與Java、C#語言相似的語法以相對較快的速度講授并練習,重點講授Python特有的語法知識點,如:列表、元組和字典等,通過四個教學周的學習讓學生調整好自己的狀態適應Python的開發特色。
第二階段(提升階段):該階段重點在于讓學生結合實際項目發現薄弱點,學習后能提升自身能力。
教學中以Python最常見的爬蟲項目為例,目前比較常用的爬蟲技術有urllib、requests、scrapy等[4],各自優缺點不同,選取urllib為例進行教學,流程如圖1所示:
(1)導入包涉及知識點:Python模塊,知識薄弱點為如何引入第三方模塊;
(2)設置抓取網頁、HTTP頭部header:知識薄弱點為網頁URL組織Get請求參數和HTTP請求頭部參數;
(3)發送HTTP請求網頁:知識薄弱點為如何使用第三方模塊相關函數方法;
(4)解析返回的網頁內容并存入列表:知識薄弱點為HTML網頁代碼結構、XPath格式用法;
(5)進入列表循環并解析內容存入文本文件:知識薄弱點為列表循環、Python文件讀寫操作、使用第三方模塊進行圖片下載等。
通過該階段的項目應用讓學生發現已學知識當中的薄弱點,不只是Python的知識點,還包括HTML、計算機網絡等其他學科的薄弱點,通過項目促進學生再次夯實相關學科知識點,促進學生全面發展,增強其自我學習、自我修復、自我增強的能力。補齊短板后并自我選擇進入下一階段學習新技能。
第三階段(啟動階段):
斯坦福2025計劃當中的激發階段是指將已掌握的技能知識應用到現實當中,結合本校軟件專業學生特點布置相應的項目,在對應的項目中重新進入第二階段再次發現新的知識薄弱點,以此循環往復第二、第三階段,能夠豐富學生的Python編程知識并提升能力,項目如表2:
該階段教學以項目督促學生找自身的薄弱點,如此反復多個項目后學生即可自主學習大型項目增強動手能力。
4 結語
針對斯坦福大學2025計劃的自定節奏教育模式,借以項目教學的模式查找學生的薄弱點,反向督促學生找到掌握還不夠熟練的技能知識點,通過課堂教學和持續的自我學習來補足技能短板,提升對Python的興趣。此種教學改革探索也督促任課教師持續的學習能力,通過編寫多個項目來融入課堂教學當中,促成自身的技術迭代更新。
參考文獻:
[1] 嵩天,黃天羽. Python語言程序設計教學案例新思維[J]. 計算機教育,2017(12):11-14.
[2] Stanford University 2025. Axis Flip[EB/OL].[2020-12-12].http://www.stanford2025.com/axis-flip
[3] Stanford University 2025. Paced Education[EB/OL].[2020-12-12].http://www.stanford2025.com/paced-education
[4] 孫夢薇,姚渝琪.關于爬蟲在網頁信息統計中的應用探討[J].電子世界,2020(5):60-61.
【通聯編輯:王力】