鄭秀杰
摘要:"任務驅動教學法"是一種建立在建構主義學習理論基礎上的教學方法,通過情境模擬,圍繞任務開展學習,以任務的完成結果檢驗和總結學習過程。隨著我國的大數據和人工智能產業進入飛速發展時期,Python編程這門課的開設在高校中變得普及。針對非計算機專業的學生,采取“任務驅動”式教學方式,將“項目”引入課堂,充分調動同學的學習興趣和主動性,同時在教學過程中滲透對計算思維的培養,采取多種教學輔助手段,以期獲得更好的教學質量。
關鍵詞:Python;任務驅動;教學實踐;計算思維;教學改革
中圖分類號:G642? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)02-0100-02
Abstract:Task-driving teaching method is a kind of teaching method based on constructivism learning theory. Learning is carried out around the task through situational simulation, and the learning process is tested and summarized by the completion of the task. With the rapid development of big data and artificial intelligence industry in China, python programming has become popular in Colleges and universities. For non-computer major students, we adopt the task-driving teaching method, introduce the "project" into the classroom, fully mobilize the students' interest and initiative in learning, at the same time, infiltrate the cultivation of Computational Thinking in the teaching process, and adopt a variety of teaching auxiliary means, in order to obtain better teaching quality.
Key words: python; task-driving; teaching practice; computational thinking;course reform
1 引言
從TIOBE發布的世界編程語言排行榜上可知,近年來Python語言熱度穩定且一直位列主流編程語言之列,儼然已成為 AI 和大數據時代的第一開發語言。它在人工智能、統計、腳本編寫、系統測試、Web編程以及科學計算等方面均處于優勢地位。現今Python不僅進入到教育部考試中心的計算機二級考試考級體系,就連小學生都開始接觸 Python 語言了。Python不僅擁有眾多的使用者和支持者,同時其日益增加的市場需求及就業崗位也被看好,有關Python的各層次教學也開展得如火如荼。
在Python編程普及的今天,如何獲得更好的教學質量,值得每位教師思考。采用“任務驅動”式教學方式就是一種很好的選擇。
2 如何有效進行“任務驅動”式教學
任務驅動式教學方法是一種建立在建構主義學習理論基礎上的教學方法[1]。建構主義學習理論強調學習是學習者對目標建構和對其理解的過程, 學生是知識意義的主動建構者, 而不是外部信息刺激的被動接受者;教師是學生在學習過程中主動建構知識意義的幫助者, 而不是知識意義的灌輸者[2]。任務驅動教學方法就是把直接傳授知識的傳統教學方式轉變為通過解決問題、完成任務從而掌握知識的教學方式[3]。任務驅動式教學對于培養和提高學生的綜合能力具有積極意義。
在“任務驅動”式教學的課堂,不會出現傳統的“填鴨式”側重理論教學的局面。教師可以提前將各章節知識點轉化成一個或多個與企業實際應用契合度較高的實踐項目,即“任務”。整個教學都緊緊圍繞著教師設計的任務開展。教師在此過程中,處于指導者的角色,而學生則是任務實現的主體。
整個任務驅動式Python教學實踐主要包含以下幾個教學環節:課前準備工作、任務描述、基礎知識介紹、任務分析、任務實現、交流及總結、課后復習。課前準備工作要落實好,教師可提前將PPT、導學提綱、教學相關視頻及網址等發送給學生,學生花費10~15分鐘提前預習;在任務描述環節,教師盡量采用簡短易懂的語言,抓住重點做出描述,讓同學對即將要做的任務心里有數,避免拖沓冗長,引起同學厭煩;在基礎知識介紹環節,教師介紹基礎內容要做到語言精煉、案例經典、重點突出,同時可適當將部分內容下放給學生自學;在任務分析環節,教師要充分發揮學習小組的作用,引導學生對任務做深入分析,對涉及的知識點做充分了解及學習;在任務實現環節,教師應從任務完成進度、質量等方面進行把控,確保課堂高效;應重視交流及總結環節,要求學生主動展示交流,主動點評總結,發動全員參與,達到開拓視野、提升自身、總結升華的目的。最后,課后要及時復習鞏固。課后復習主要形式是小組學習,通過完成課后作業或拓展項目,達到“溫故而知新”的效果。
把握以下幾個關鍵點,可有效提高“任務驅動”式教學的質量。
關鍵點一:在設計“任務”時,要依賴教師的教學經驗,精準把握任務的難度,充分考慮到學生的個體差異,將任務細分,做到分層次、設梯度、突出重點、簡化難點。同時任務情境模擬要以企業真實的需求為導向,達到學以致用的效果。任務首選為各種小游戲,或者可將各知識點串起形成小游戲;在此過程中,適當選擇添加網絡熱門事件/詞匯/段子等,貼近生活,活躍氣氛,調動同學的積極性。例如,在講解列表的時候,任務為“圖形形狀小游戲”;在講解元組的時候,任務為“趣味點餐系統”;在講解字典的時候,任務為“迷你圖書借閱系統”。通過靈活多變的任務,吸引同學注意力,提高參與熱情,在任務完成時獲得成就感,從而積累能量,促進更好的學習。
關鍵點二:注重過程大于注重結果。在學習每章內容之前,可以通過任務分析、學習目標設定,讓同學對要做的任務了然于心。然后針對各知識點逐一突破。在此過程中需輔以自學環節、動手環節、交流環節等,最后將所完成的各個小任務匯總,最終完成整個任務。對于動手能力較弱,基礎較差的同學,應多點耐心;對最終未完成任務的同學,應充分肯定其在實現過程中做出的努力,督促其在課下完善任務。
關鍵點三:弱化教師“指導者”的角色,強化其“參與者”“組織者”的角色。教師需全程掌控任務進度,確保課堂學習目標明確,行動迅速,組織高效。必要時應給與指導與提示,促進教師與學生之間、學生與學生之間的技術交流溝通,讓學生擁有更多的學習主動權;部分學生在學習過程中對教師具有依賴性。針對這部分學生,教師可適當參與到其任務當中,為任務的實現保駕護航,同時讓學生慢慢建立自信,打好基礎,逐步擺脫對教師的依賴,養成自學的習慣。對知識點進行總結強化很重要。任務完成之后,教師要對完成質量進行評估,同時總結所學內容。
關鍵點四:建立起有效的考核體系。“任務驅動”式教學評價困難,很難具體掌握每名同學的學習情況。鑒于此,可以充分利用現有的手機端App,比如翻轉校園、超星學習通等,在限定時間內進行隨堂考核,以此來補充解決部分同學學習自主性不夠、渾水摸魚等問題。在考核中,應當要側重各種能力的考核,采取多元化的考核方法,以期達到準確評價學習效果的目的。
3 在教學中貫穿培養學生的計算思維
自從2006年卡內基·梅隆大學的周以真教授提出計算思維的概念以來,計算思維越來越受到重視,尤其是在計算機基礎課程的教學中。計算思維是基于計算機技術的科學思維,計算思維可以通過熟練地掌握計算機科學的基礎概念而得到提高。其核心概念為:計算、抽象、自動化、設計、評估、通信、協調、記憶。計算思維以設計和構造為特征,以自動化和抽象為本質。
作為一門有著三十多年歷史的編程語言,Python簡單、開源、可移植、可擴展、可嵌入、代碼規范及支持庫豐富,是一種結合了解釋性、編譯性、互動性和面向對象的高層次計算機程序語言。由于非計算機專業學生學習程序設計的時間短、授課對象年級低,因此,如何在有限的教學時間里充分培養學生的編程能力和計算思維是程序設計類課程需要考慮的首要問題[4]。像Python編程這樣的程序設計類課程是培養學生計算思維的首選。Python易學易用(對比其他語言,比如C++、Java),語法簡潔優雅,代碼可閱讀性高,擁有強大的“膠水”功能,將其開設成一門必修課,在課堂上貫穿培養學生的計算思維,對于電子信息類非計算機專業的學生來說是尤為合適的。
學生“計算思維”能力的培養對教師的教學能力提出了更高的要求。教師應提升學科理論素養,具備對“計算思維”的深入理解,對《大學計算機基礎課程教學基本要求》中提出的以MOOC(包括SPOC)為代表的新興教學模式及方法開展積極的實踐,注重教學過程中學生的各種應用能力的培養,在教學實踐中提高教學質量。學生“計算思維”的培養不在一朝一夕,而是一個長期的、“潤物細無聲”的過程。教師需要在備課、教案、課程安排、課堂用例、課堂組織、網絡資源、考查考核等細節處下功夫,真正把“計算思維”的培養落到實處。
在“任務驅動”式教學課堂中,做好學生計算思維的滲透工作,需要從加強知識理解以及應用能力的培養著手。比如,在講解嵌套循環和多變量迭代時候,任務為“打印數字金字塔”。同學需要自己去探討并加深對迭代概念的理解,嘗試設計程序并理解算法。在課堂編碼過程中,應充分發揮小組交流討論的作用。一組同學內部通過講解、討論、自學等手段開展學習,各組之間通過演講、答辯、示范等競爭活動,進一步加深了解典型問題的算法求解策略。最后,請同學以代碼注釋的形式,結合個人情況,對本次任務中涉及的重點、難點等問題進行歸納,給出任務學習總結。
“任務驅動式”Python程序設計課程開展以來,有效地提高了學生的計算思維能力。學生對基礎概念、基本語法、開發工具使用等掌握扎實,在任務實現階段能夠綜合應用已有資源,靈活使用各種庫,一定程度上提高了學生的自學能力、獨立解決問題能力、溝通合作能力、創新能力等。
4 結論
現今,人工智能、大數據等已經滲透進人們生活的方方面面,與其息息相關的Python語言教學也有了長足的進步。Python 語言教學內容改革是程序設計課程發展的重要歷史契機,將在十年甚至更長的時間尺度上影響本科生計算思維和基礎計算機應用能力的培養[5]。在“任務驅動”式非計算機專業Python程序設計的課堂,豐富的學習活動與個性自學環節的設置,使得學生能在學習過程中享受到程序設計的樂趣;引入計算思維的培養,使得學生擁有扎實的專業基礎,改善了學生的知識結構,同時可將計算思維的思想應用到其他工科類課程,起到潛移默化的效果;在課堂上將所學知識和掌握技能與社會需求掛鉤,有利于培養企業認可、具備良好職業素養同時自我可持續發展的人才,同時對提高專業就業率也具有積極的意義。
參考文獻:
[1] 何克抗.建構主義革新傳統教學的理論基礎 (上) [J].電化教育研究, 1997(2) :3-9.
[2] 錢曉菁,馬玉娟.試論“任務驅動”[J].中國電化教育, 2002(9) :35-36.
[3] 夏海江.細分任務驅動C語言實驗教學改革探索[J].電腦知識與技術,2012(10):2312-2326.
[4] 王婷婷.基于計算思維的非計算機專業開設Python語言程序設計課程的探討[J].中國多媒體與網絡教學學報(中旬刊),2020(1):190-191.
[5] 嵩天,黃天羽,禮欣. Python語言:程序設計課程教學改革的理想選擇[J].中國大學教學,2016(2):42-47.
【通聯編輯:王力】