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