
摘 "要 "一切教學活動都離不開問題,程序設計語言教學更離不開問題。基于問題驅動教學法的Python語言教學設計,可圍繞Python內容模塊化、知識單元化、問題實戰化,利用問題驅動教學過程,結合網絡實現多元助學等手段,實現Python語言的高效教學,達到培養學生計算思維和編程思維的目的。
關鍵詞 "計算思維;Python語言;問題驅動教學法;編程
思維;網絡教學平臺
中圖分類號:G642.4 " "文獻標識碼:B
文章編號:1671-489X(2022)01-0098-03
1 "問題驅動教學法
信息化教育條件下,教師遵循教育發展規律,依據教學大綱,按照“以學生為主體,以教師為主導”的教學理念,將教學內容各知識點單元中的知識與技能轉化成精心設計的問題,以問題提出的形式依次呈現在教學過程中。學生在問題驅動下,在認識、理解、分析、探求問題解決的思維活動中,掌握知識、培養技能、發展智力,進而形成運用知識與技能發現問題、分析問題、解決問題的能力,這是問題驅動教學法的核心思想。連環設計的分層次的驅動問題是問題驅動教學法的核心和主線。因此,整個教學流程是圍繞問題的提出、分析、解決來進行的,學生沉浸在問題思考、探究和問題解決當中,潛移默化中實現新知和技能的獲得并內化到知識結構中去,提高分析解決問題能力。
2 "Python語言課程特點
未來,編程將是大多數人必備的一種技能。Py-
thon語言是一種解釋性、交互式、面向對象的高層次腳本語言,支持廣泛的應用程序開發,從簡單的文本處理到大型游戲編程開發,具有很強的可讀性,擁有大量不斷更新的庫,而且有社區技術支持,是目前使用人數最多的編程語言之一。同時,Python
是相對容易入門的超級語言,適用范圍廣,且提供免費開源的源代碼。學生通過學習該課程,掌握Python語言的基本知識和使用Python語言進行軟件開發的思想與基本方法,進而掌握程序設計的基本步驟和通用方法,提高運用算法編程解決實際問題的能力,并為數據采集、數據分析等大數據和人工智能等運用打好基礎。Python課程是培養編程思維的一門功能強大的編程語言課程,是軟件技術、大數據技術等計算機應用專業的專業基礎課程。由于Python語言語法概念較多、Python標準庫豐富,編程語言學習本身煩冗枯燥,因此,Python語言教學需提高教學趣味性、啟迪性和實踐性,基于問題驅動的教學法適合運用在Python語言課程中。
3 "問題驅動教學法實踐思考
信息化條件下,編程語言課程設計遵循基本的教育發展規律,可采用系統化教學設計理念。首先進行教學分析,包括目標和任務分析、學習者分析、課程內容分析、教學資源分析和教學環境分析;其次進行課程大綱制定、課程體系規劃、課程目標撰寫、評價策略方法設計等,經過課程分析和課程設計環節后,進行課程開發、教學活動設計等;再次,開展教學實踐活動,并對教學過程進行記錄;最后,評估課程教學活動是否有效,內容包括課程內容評估、教學效果評估等。通過分析、設計、開發、實施和評估五個環節循序漸進與反復迭代,不斷優化課程設計和教學實踐效果。基于問題驅動教學法的Python語言教學實踐按照這五個環節進行課程設計,在分析和明確課程教學目標的前提下,進行教學內容設計、教學活動設計和教學評估等。驅動問題設計是關鍵,是課堂教學主線。圍繞驅動問題,Python語言教學實踐有以下幾點思考。
3.1 "內容模塊化,知識單元化
問題驅動教學可根據模塊化內容、單元化知識點設計教學問題。因此,教學實踐中應圍繞Python
語言課程教學大綱和課程教學目標,結合學生學習風格和學習經驗,采用分層次設計等方法,將內容劃分為幾個模塊,各教學模塊設計多個主題,各主題包括相應教學知識單元。課程內容模塊化、知識單元化后,進行教學活動設計。課堂教學設計每次圍繞1~2個教學主題展開,圍繞課堂教學目標,把課堂教學主題拆分為多個教學活動和教學問題,并精心設計達到教學目標所對應的教學知識點單元。
教學內容模塊化,與之對應的課堂教學環節設計可采用導入、主要教學任務解決和結課三段遞進式進行,如圖1所示。以Python語言課程基礎入門教學內容設計為例,劃分的教學模塊及知識點單元有print函數、變量和數據類型、input函數,每個模塊內容設計相應的主題和教學問題,各主題以導課、主要任務、結課三段式把教學內容設計在各教學環節。
3.2 "問題設計實戰化
Python語言語法知識繁多,其Python標準庫和第三庫數據量龐大,算法設計涉及知識點眾多。針對這些編程語言中常遇到的學習問題,為使Python
課程教學不再乏味、難以理解,教學過程設計應避免簡單地羅列知識點,盡量不使用過于專業的編程語言術語來分析問題,而是廣泛采用實戰化驅動問題吸引學生注意,激發興趣、啟迪思考。
設計基于問題驅動的Python語言教學實踐時,大量設計生動有趣的編程語言學習活動,引用大量令人印象深刻的趣味性、實戰化案例,用通俗易懂、妙趣橫生的語言描述案例。實例化問題的提出與解決,創設了沉浸式教學環境,教學流程每個環節均圍繞Python語言新知、新技能的獲得和內化展開。打破傳統的教師教、學生被動聽的教學模式,學生成為積極主動思考、自覺探求和學習的主人。
問題不是為了設計而設計,問題驅動教學,問題促進學習思考。這里要注意,問題設計實戰化不僅要分析學生特點和學習基礎,關注實際生活,設計出的問題要能夠激發興趣、啟發思考,而且要從趣味性、實戰化的問題案例中,提煉出與教學目標一致的各種典型精巧的教學問題。這是問題驅動教學法的關鍵,巧妙設計的教學問題是問題驅動教學的靈魂。比如在講解for循環結構,創設人際PK游戲的編程問題情境后,首先展示問題解決的一段Python實現代碼,并展示運行結果,吸引學生注意并明確教學目標;然后分析問題,建立數據模型,將課前提出的問題拆解成多個巧妙設計的典型問題,讓學生在問題提出、探索、編程實踐和問題解決過程中,實現for循環語法結構和算法編程技巧知識技能的內化與遷移。
3.3 "教學過程問題驅動化
基于問題驅動教學法的Python語言教學實踐,離不開先進教育教學理念的指導。加涅九步教學法在問題驅動教學法中的運用,提高了教與學的成效。基于問題驅動的九步教學設計法包括:課程導入以吸引學員的注意力;告知學員明確的學習目標;讓學員回憶以前的學習,以刺激學員記憶先前學習經驗,促進與以往學習經驗的鏈接;教學內容展示與新知講授;利用多種教學手段(如演示、案例教學、數據展示等)提供學習指導;設計練習實踐環節,鞏固練習、促發思考;及時反饋,提供指導;評價并給予改進建議;加強知識與技能的遷移。
實踐證明,依據九個教學事件,設計問題,實踐Python語言問題驅動教學,能夠將枯燥、晦澀、實踐性強的編程語言的教學,變成輕松、充滿樂趣的啟迪性教學,極大地激發學生學習興趣。在這種教學法中,一切教學活動圍繞問題和問題的解決展開。教學以問題為主線,圍繞問題的提出、分析、解決,學生在潛移默化中學到新知識、新技能,達到知識結構的內化。依據課程大綱、模塊化課程教學內容及知識點單元,設計各模塊、各學習單元教學目標。問題驅動教學法核心是問題驅動,關鍵是問題設計,問題活動設計遵循九個教學事件。驅動教學問題題材可以是當前熱點話題、熱門影視大片、經典歷史故事或實際生活中提煉出來的常見生活問題等。注意驅動問題設計需要層次化、精心設計,情境問題提出時須結合Python相關內容知識點和基本語法,將問題分解為一個個小問題、小任務、小練習。學生在問題解決過程中,通過學習、思考、交流、動手實踐、程序調試等,掌握相應語法和編程技能,發展思維。
如講解循環嵌套知識單元時,通過誰是臥底的游戲,利用循環嵌套來解決邏輯判斷問題。教學中首先呈現臥底游戲的規則,明確要求,創設引人入勝的學習情境;然后利用微視頻等手段,講解什么是循環嵌套和如何實現循環嵌套的語法等新知識技能;接著引導學生在尋找臥底的游戲任務分解中,巧妙地運用循環嵌套,輕松解決循環繁復的邏輯判斷問題;最后利用Python循環嵌套語法,在Python
程序設計中找出臥底,解決誰是臥底這個問題。再如運用問題驅動教學法,在字符串數組部分,通過破譯密碼案例,講解Python語言程序設計中應用字符串數組。
3.4 "助學方式多元化
信息網絡為Python語言學習提供了豐富的學習資源和各種功能強大的互助式學習交流共同體平臺,為學生學習交流提供多元助學方式,常見的有兩種。
3.4.1 "深度知識服務的網絡社區 "如知乎、大家論壇等,這些平臺既提供優質學習資料,也是知識問答交流平臺,任何人都可以在這些社區提問或者學習其他人的問答。
3.4.2 "網絡教學平臺 "如雨課堂、釘釘等,具有強大的網絡教學、學習社區、學習者分析等網絡學習功能,學生可以在任何地方、任何時間學習到任何內容。除此之外,學生可通過網絡通信工具如微信學習群組建學習小組,開展學習競賽,互幫互助、共同激勵,達到最佳學習效果。多元式助學網絡信息技術手段不但可以促進學生的學,而且可以高效提高教師的教。教師借助大數據技術、學習分析技術,通過網絡學習平臺和其他通信APP,可及時掌握學生詳細的學習信息,跟蹤學習進度,分析學習效果,及時作出教學調整和補充,針對不同學生提供不同層次的教學訓練。
3.5 "關注計算思維的培養
任何一門編程語言課程,不單是簡單傳授知識條目和枯燥語法,也不單是死記硬背幾個編程算法。編程設計最重要的是算法和數據結構,但運用程序語言編程最難的并非算法,而是需要用程序來解決的問題本身。比如漢諾塔問題,算法代碼很簡潔并不難,但是解決漢諾塔問題過程中,漢諾塔問題如何解析與如何找到解決方法的策略是難點。實踐表明,培養Python語言編程人才,在掌握Python語言基本知識點與算法之外,更要注重培養學生的計算思維,即運用計算技術等解決問題的思維。以Python語言課程為例,在學生掌握Python語言的基礎知識、語法和算法的同時,要強調初級編程思維的培養。為培養學生形成初級編程思維,可在教學過程中穿插編程思維學習的專門主題,如“如何運用Python語言解決問題”“產品思維”,兩個主題看似與教學大綱無關,卻能有效培養學生知識技能運用的思維,培養編程思維、計算思維。
參考文獻
[1] 張金玲.對話式在線教學設計模式淺探(一)[J].現
代職業教育,2021(1):166-167.
[2] 張金玲.問題驅動教學法在visual basic程序設計
中的應用分析[J].科學與信息化,2021(10):186-187.
[3] 馬克姆.PBL項目學習:項目設計及輔導指南[M].董
艷,譯.北京:光明日報出版社,2015.
[4] 加涅,韋杰,戈勒斯,等.教學設計原理[M].王小
明,龐維國,陳保華,等,譯.上海:華東師范大學出版社,1992.