999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

循序漸進式教學方法在“Python程序設計”課程中的應用

2024-04-29 00:00:00楊艷玲彭紅霞彭顯琪
無線互聯科技 2024年3期
關鍵詞:課程

摘要:針對Python課程教學過程中存在的課時不足、Python語言的學習難度分層遞增等問題,文章提出教師可以通過舉一反三、歸納梳理、知識遷移、融入應用、對比分析、項目實踐的方法開展系統而有效的編程教學,采用逐級鞏固的循序漸進式教學方法,引導學生逐步掌握Python的知識和技術要領。

關鍵詞:“Python程序設計”課程;循序漸進式教學方法;知識遷移;關聯應用

中圖分類號:G642" 文獻標志碼:A

0 引言

Python是當前最受歡迎的主流程序設計語言之一,具有代碼簡潔、功能豐富、社區活躍等優點,可用于桌面應用程序、爬蟲技術、數據分析、機器學習、Web開發、自動化運維和測試等領域。Python語言的輕量級語法和適用范圍廣的特點非常符合高校在信息時代培養復合型人才的目標[1]。基于Python的上述優勢,許多高校已逐步從開設C、C++、Java、VFP等程序設計課程,轉為將Python作為程序設計課程的入門語言[2]。

1 “Python程序設計”課程的核心知識體系

Python語言的知識結構豐富、應用分支較多,相應地,“Python程序設計”課程的教學內容也可以分為基礎知識、進階知識、高級應用3個層級,各階段的主要知識模塊構成了Python課程的核心知識體系,如圖1所示。

2 “Python程序設計”課程教學需解決的重點問題

雖然相對其他編程語言來講,Python的入門難度不大,學習曲線相對平緩[3],但作者經過近些年的教學實踐,發現Python課程教學仍面臨以下幾個問題。

2.1 Python課程的學時有限,制約了多樣化的教學需求

由于“Python程序設計”課程通常設置為48或64學時,其中32學時用于講授內容,其余為實驗操作。因此,教師需要根據不同專業的課程需求相應選擇核心章節、重點例題進行詳細講解,而其他章節或例題則采用演示、討論、慕課等教學方式。由于不同專業的教學需求不盡相同,如何制定按需匹配的教案,值得授課教師琢磨和思考。

在程序設計課程教學中,課內以解析基礎例題和知識點為主導的講授式教學,往往比較枯燥乏味,但如果課外的線上課時比例設置過高,教學效果亦不理想。一是大學階段每學期的課程門數較多,分配到每門課的課外時間非常有限;二是真正自律的學生占比不多,有些學生主動學習編程的積極性不高[4]。如果學生持續被動投入時間和學習精力,通常學習效果不佳。

2.2 Python初學者易產生畏難情緒

“Python程序設計”課程一般在第二或第三學期排課,學段較低,學生的專業基礎較薄弱,自主學習能力不強,多數學生在大學之前沒有編程基礎,屬于初學者,在學習第一門編程語言的初始階段,往往不得要領;其次,如果初學者缺乏有效的引導,只看書、不練代碼,抑或上機練習的力度不夠,對語法陌生、調試代碼的經驗不足,缺少快速糾錯的能力等,都將導致他們信心不足,由于調試代碼反復受挫而失去耐心;一部分學生對編程不感興趣,沒有學習程序設計的動力;另外,部分學生在完成電子作業時采取復制粘貼的方式[5],由于缺乏獨立思考的過程,其程序設計課程的學習效果往往不甚理想。

2.3 Python語言的學習難度分層遞增

一門優秀的編程語言所涵蓋的知識點非常廣泛,Python也不例外。一名新手學習編程,如果依次經歷由點及面,再到系統掌握,并具備融會貫通的能力,需要花費大量的時間精力進行海量練習,不斷地思考和積累編程實踐經驗,才能達到熟能生巧的程度,如果只是泛泛而學,則只能編寫常規的基礎程序,很難系統掌握Python的程序設計精髓,進而較難達到融會貫通、學以致用的境界。

通常Python編程的學習階段依次經歷基礎入門、進階練習以及高階應用,不同層級、不同應用領域所包含的知識體系、代碼編寫的難度和知識應用的能力要求,差異顯著。Python基礎編程的入門學習階段較為容易,數據類型精煉實用、語法簡潔、代碼語句簡單易學,但對于更深層次的Python應用,如數據科學、人工智能、軟件工程等領域的數據挖掘、商務數據分析、機器學習、數據可視化、自動化測試等技能,則要求學習者不斷深入思考,磨礪程序設計以及代碼編寫的能力,積累項目實踐的經驗。

因此,教師如何在有限的課時內提高Python課程的教學效果,提高學生的學習效率,從而實現引領他們達到熟能生巧、學以致用的教學目標,是一個值得探討的話題。

3 “Python程序設計”課程的循序漸進式教學方法

根據經管類相關專業在Python語言各學習階段的能力要求,以及作者近些年從事程序設計課程教學的體會,加之這門語言的編程素材和案例的特點,本文總結了提升“Python程序設計”課程教學效果的循序漸進式方法。

3.1 舉一反三的仿寫和延伸練習

Python語言的基礎學習階段有許多相似的編程實例,如編程求解平面圖形的面積。此例可枚舉出長方形、三角形、梯形、橢圓等平面圖形,它們的共同點是均需完成輸入、計算、輸出3個步驟,只是輸入的變量個數、計算公式、輸出的信息有所不同,因此授課教師可以舉一反三,首先講解長方形面積的程序代碼,然后布置一個編程計算其他平面圖形的面積或周長的鞏固練習,再延伸到長方體或圓柱體、椎體等幾何體的表面積或體積的編程訓練,形成點、線、面的系統授課思維,使學生達到觸類旁通的學習效果。

再比如,在類的繼承中,相似的例子有:設計“學生-大學生-研究生”“職員-銷售人員-銷售經理”的面向對象的程序。這兩個編程實例的思路均是構建父類、子類的繼承關系,并編寫每個類的數據屬性和成員方法的具體代碼。如果以第一個關于學生、大學生、研究生3個類之間實現繼承關系的程序作為參照,教師將其作為仿寫模板,則能指導學生快速寫出第二個關于職員-銷售人員-銷售經理的代碼。

舉一反三的仿寫和延伸練習的方法能使初學者在基礎學習階段加深對基本語法、基礎技能的理解和鞏固。表1列舉了此方法的編程實例和主要步驟。

3.2 類比知識點的歸納和梳理

教師在講解Python語法時,可歸納相同或相近的編程任務,梳理和對比這些代碼的用法區別。此方法能精細化地比較Python語句和方法調用等代碼細節,從而減少Python基本用法的語法錯誤,有效提高代碼編寫的正確率。

以Python復合數據類型為例,每類數據結構均提供了一系列函數或方法,如果學生單純從字面上觀察函數名,容易混淆它們的含義或用法,因此需要進行歸納和梳理。對于相同編程任務的不同實現方式,如增加列表元素的方式有:+ 、append()、extend()、insert();又如,刪除字典元素的常用方式有:pop()、popitem()、clear()、del命令等,它們在用法上有一定的區別,教師應結合具體代碼語句指導學生進行對比練習。

Python函數的默認參數和關鍵參數均體現在為函數的參數賦值,不同的是,默認參數是在定義函數時為形參賦值,且默認參數通常寫在形參列表的右邊;而關鍵參數是指調用函數時,為函數的實參賦值,關鍵參數的順序可自由設定。

教師在講授正則表達式的用法時,可將英文字母、數字字符、URL、IP、E-mail、手機號、身份證號等高頻使用的正則表達式進行歸納和梳理,從而引導學生在網絡數據獲取、新用戶注冊、產生隨機驗證碼等程序設計任務中分門別類地按需取用。

3.3 知識遷移和關聯應用

Python語言的知識點和編程技巧在程序設計過程中,時常包含承上啟下、先后銜接的邏輯關聯,這類情形適宜開展知識遷移和關聯應用的編程訓練。

以2個例子進行說明,第一個例子是從判斷單個整數是否為質數的編程任務,遷移到輸出指定的整數范圍內所有的質數,然后關聯到驗證歐拉版本的哥德巴赫猜想,即任一大于2的偶數均能寫成2個質數之和。其主要思路是函數的定義和嵌套調用,首先將單個整數是否為質數的判斷寫為1個函數isPrime(n),另2個關聯應用的循環體語句則可以調用這個函數求解問題。

另一個例子是首先定義1個求2個整數的最大公約數的函數getCmd(m,n),知識遷移練習是求2個整數的最小公倍數的函數,其關鍵語句是return m*n/getCmd(m,n),相應的關聯應用為以面向對象的編程方式實現有理數的加減乘除運算,其中將調用求最大公約數的函數作為對有理數的分子分母約分的支撐方法。

遷移練習和關聯應用的方法能將零散的知識點有機銜接,訓練學生的邏輯思維和知識聚合的能力,表2列舉了此方法的典型應用實例。

3.4 融入應用情景的編程訓練

純粹地編寫和講解代碼有時是非常枯燥的,因此,增加編程的趣味性和實用性是提升程序設計課程教學效果的一種有效方式。例如:教師在講解Python列表推導式時,融入阿凡提與國王比賽下棋的故事來展示編程的價值和樂趣。這個故事運用Python列表推導式為主要解題思路,求解全部大米總粒數的代碼為:

gains = sum([2**i for i in range(64)]

假設大米的平均千粒重為16.7g,則求解全部大米總噸數的代碼為:

tons = (gains/1 000)*16.7/1 000**2

在Python命令行運行上述代碼,返回的總粒數、總噸數分別為18 446 744 073 709 551 615、308 060 626 030.949 5。

融入應用情景的方法適合在不同教學階段適時引入計算BMI體重指數、課堂隨機點名、搶紅包、背單詞、在線考試等編程實例,如表3所示。教師將這些實用有趣的或啟發思考或解決實際問題的應用場景作為素材導入授課過程,分別融入相應知識點,使課程學習既有趣又學以致用。

3.5 一題多解的編程訓練方法

Python的程序設計任務常常能實現一題多解的效果,教師可以鼓勵學生嘗試從不同的解題思路、不同的編程技巧、多角度地鞏固Python編程能力,拓寬思路,提高編程段位。

例如,統計從鍵盤輸入的字符串中包含大小寫英文字母、數字字符數目的程序,至少有3個不同的編程途徑:可以綜合運用循環結構、多分支結構和鏈式比較,根據各類別的ASCII碼值判斷區間分別進行統計;可以在遍歷輸入字符串的循環結構中分別調用isupper()、islower()、isdigit()來判斷和統計;還可以通過匹配大小寫英文字母、數字字符的正則表達式的方式進行統計。

Python語言中類似一題多解的例子不勝枚舉,表4列舉了其中2個實例闡述一題多解的編程訓練方法。

教師首先對編程題目每種方法的關鍵思路給出提示,然后由學生編寫完成具體的代碼,最后師生共同將每題的多個方法進行對比總結。實例一:生成斐波那契數列,分別采用遞歸法、遞推法、生成器法3種方法編程。教師在講授函數的用法時,以此為例,分別講解3種思路,然后指導學生寫出關鍵代碼,進而對比遞歸、循環、生成器函數三者之間的異同。實例二:查找2個列表中的相同元素,分別采用兩層循環、列表推導式、集合amp;運算3種方法編程。

因為Python語言的功能豐富,代碼編寫的方式靈活多樣,教師在教學過程中引導學生從不同的思維方式、不同的數據結構、不同的函數用法等多角度開展一題多解的編程訓練,并指導學生在實踐應用中依據程序的簡潔、易讀、高效等評價標準選擇最適宜的編程方法。

3.6 通過實踐項目提升Python應用能力

通過Python基礎知識、進階知識的模塊學習,學生總體上能編寫常規程序,而要達到真正解決實際應用問題、實踐所學知識和技術的目標,課程還需從項目實踐著手提升學生的Python綜合應用能力。參與項目能加深學生對知識技術的理解和記憶,激發他們的創造力和學習興趣,增加自信心和成就感。

該方法的一個實施方式是在Python基礎學習階段完成后,課程轉入實訓階段或與Python應用相關的后續專業課程的教學,教師將授課班級分為若干小組,分別布置Python項目實踐的課程大作業,提供Python綜合應用選題,如新聞頁面的信息獲取、學生成績的統計分析與可視化、大學宿舍管理系統、二手物品交易系統、在線考試系統、城市的房價分析、電商網站的用戶行為分析等。項目實踐能充分發揮小組成員的個體優勢和團隊協作能力,團隊成員通過共同完成具有一定應用價值和挑戰度的任務,全面鍛煉Python項目開發的各項技能。

另外,教師也可以鼓勵學生參加Python技術相關的實驗室、競賽、社團、開源項目等,通過與其他開發者交流和學習獲得專業的指導和反饋,從而快速提高技術水平和學習效率。

4 結語

綜上所述,雖然講授一門程序設計課程是一項煩瑣而細致的工程,但若遵循學習編程語言循序漸進的科學規律,教師通過舉一反三、歸納梳理、知識遷移、融入應用、對比分析、項目實踐等方法開展系統而有效的編程教學和訓練,采用逐級鞏固的循序漸進式教學方法,引導學生逐步掌握Python課程的知識和技術要領,由此獲得積極的教學反饋和良好的教學效果。

參考文獻

[1]劉光蓉,周俊博.基于IPO問題驅動的Python語言教學設計[J].武漢輕工大學學報,2022(4):113-118.

[2]賴錦輝.“Python程序設計”目標問題導向研討式教學模式研究與實踐[J].工業和信息化教育,2023(2):13-16.

[3]劉盈,谷建濤,閆海波,等.基于OBE理念的Python程序設計課程實踐案例教學[J].計算機教育,2023(1):21-27.

[4]李向群,許新征,高娟.混合教學模式下Python程序設計教學改革探索[J].軟件導刊,2022(7):45-48.

[5]邊小勇,李晨,吳志祥,等.新工科背景下計算機類實踐教學創新培養與成績溯源[J].計算機教育,2023(6):7-11.

Application of progressive teaching method in “Python Programming” course

Abstract: "Regarding the problems in the teaching process of “Python Programming” course, such as insufficient class hours and learning difficulty gradually increases with Python knowledge levels, this paper proposes that teacher implements a systematic and effective programming training to guide students to consolidate knowledge points and master technical essentials step by step. This progressive teaching method includes six main points, which are inferring other things from one fact, summarizing and organizing programming skills, knowledge transfer, integrating programming into applications, comparative analysis of programs and project practices.

Key words: “Python Programming” course; progressive teaching method; knowledge transfer; related applications

猜你喜歡
課程
《無機化學》課程教學改革
云南化工(2021年6期)2021-12-21 07:31:42
數字圖像處理課程混合式教學改革與探索
寓寫于玩:童化班本課程的成長之路
軟件設計與開發實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
基于OBE的軟件測試課程教學改革探索
計算機教育(2020年5期)2020-07-24 08:53:20
為什么要學習HAA課程?
早期教育與課程建設
商周刊(2017年23期)2017-11-24 03:24:01
A—Level統計課程和AP統計課程的比較
精細高分子課程教學改革
熟悉的米,奇妙的稻——課程敘事:我們的班本課程“稻”
幼兒100(2016年30期)2016-02-28 21:26:29
主站蜘蛛池模板: 免费jizz在线播放| 亚洲成人精品| 久青草免费在线视频| 97无码免费人妻超级碰碰碰| 亚洲成人免费看| 国产欧美视频综合二区| 久无码久无码av无码| 色老头综合网| 亚洲第一成年人网站| 9cao视频精品| 亚洲视频四区| 国产亚洲欧美在线专区| 99久久无色码中文字幕| 2021天堂在线亚洲精品专区| 精品福利视频网| 青草精品视频| 啪啪免费视频一区二区| 亚洲视屏在线观看| 日韩精品专区免费无码aⅴ| 欧美日韩资源| 欧美成在线视频| 国产免费一级精品视频| 国产在线自在拍91精品黑人| 精品久久蜜桃| 日本不卡视频在线| 在线精品视频成人网| 国产福利影院在线观看| 欧美成一级| 国产精品分类视频分类一区| 国产99在线| 国产精品第一区在线观看| 亚洲女同欧美在线| 日本欧美中文字幕精品亚洲| 欧美怡红院视频一区二区三区| 人人艹人人爽| 国产精品福利一区二区久久| 久久99国产综合精品1| 国产成人无码AV在线播放动漫| 欧美19综合中文字幕| 黄色三级网站免费| 青青青国产免费线在| 成人在线第一页| 国产人在线成免费视频| 久久综合成人| 久久精品视频亚洲| 色婷婷成人| 911亚洲精品| 五月婷婷亚洲综合| 欧亚日韩Av| 久久婷婷色综合老司机| 国产亚洲高清在线精品99| 精品久久蜜桃| 国产一二视频| 大学生久久香蕉国产线观看 | 亚洲综合婷婷激情| 激情乱人伦| 日韩免费毛片视频| 人妻丰满熟妇αv无码| 亚洲天堂网在线观看视频| 国产精品私拍在线爆乳| 精品日韩亚洲欧美高清a| 综合人妻久久一区二区精品 | 国产成人亚洲精品蜜芽影院| 一级毛片在线免费视频| 日韩欧美国产综合| 成人免费午夜视频| 国产一级视频久久| 在线观看网站国产| 国产成人成人一区二区| 看你懂的巨臀中文字幕一区二区 | 天天摸夜夜操| 久综合日韩| 无码福利日韩神码福利片| 亚洲欧洲AV一区二区三区| 亚洲人成网站日本片| 动漫精品啪啪一区二区三区| 日韩一区二区三免费高清| 欧美精品色视频| 91青青在线视频| 夜夜操狠狠操| 国产欧美高清| 久操中文在线|