黃永鋒


【摘 要】“翻轉課堂”的傳入,給大學教育帶了新的機遇與挑戰;本文針對算法分析與設計課程與大學本科生的學情特點,從翻轉目的,翻轉策略及翻轉過程三個方面,論述了“翻轉課堂”的實施過程;特別是,在翻轉的詳細實施中,以“最長公共子序列”求解為例,闡述了翻轉教學過程的細節,取得了良好的教學效果,可為廣大一線教師提供參考。
【關鍵詞】翻轉課堂;算法設計與分析;教學改革;最長公共子序列
Application of Flipped Classroom in the Teaching of
Algorithm Design and Analysis HUANG Yong-feng
(School of Computer Engineering, Jiangsu University of Technology, Changzhou Jiangsu 213001, China)
【Abstract】According to the characteristics of “algorithm analysis and design” course and the learning situation of undergraduates, we discusses the implementation of the flipped classroom from three aspects: the purpose, the strategy and the process. In particular, taking the solution of “the longest common subsequence problem” as an example, the details of the process of flipped classroom are illustrated, which is proved to attain effective results. Therefore, the introduction of this kind of teach method brings new opportunities and challenges to the university education, which can provide the reference for the teachers who work in the teaching front line.
【Key words】Flipped classroom; Algorithm design and analysis; Teaching reform; Longest common subsequence
0 引言
“翻轉課堂”是教師根據教學內容及學生學習情況,事先制作整理相關教學資料,讓學生在課外自主地進行學習,然后帶著自學過程產生的問題進入課堂,通過討論來解決問題的一種教學模式[1]。該模式起源于美國高中,經過推廣進入我國,給我們的教學改革帶來了一股清風。
現今許多科學問題和工程實踐問題的解決,算法都扮演了重要角色。“算法設計與分析”課程的教學任務是使學生掌握求解計算機應用中經典問題的方法,掌握設計和分析算法的基本原理和技巧,培養學生正確分析算法復雜性的能力[2]。由于該課程對學生編程與實踐均有較高要求,對于本科學生,傳統的教師授課方式容易讓人走神,學生普遍反映課程知識點抽象、難以理解,久而久之,學生水平間的差異越來越大。往往只有幾個天才和非常勤奮的學生才能夠理解算法過程,而大部分同學逐漸喪失學習該課程的動力和信心。
高度抽象的“算法設計與分析”課程給了翻轉教學模式充分的自由發揮空間:翻轉教學強調先學后教,通過設定任務,讓學生先進行自主學習,沒有限定的學習時間有利于加深對算法問題本質上的理解。帶著學習中產生的問題進入課堂,通過合作探究的方式尋求解決方案,可以充分發揮課堂效率。教師走下講壇,從“教學主體”轉為教練角色,可以充分發掘學生特點,從而“以學定教”,根據學情調整教學進程。另外,通過適時點撥和引導,把那些起初唯有學霸才能解決的高難度問題抽絲剝繭,讓大部分同學都能夠從沉思、申辯、競爭中張揚個性,從解決問題的過程中獲得成就,可以培養學生獨立思考、分析問題與解決問題的能力。下面從翻轉目標,翻轉策略與翻轉過程三個方面探索如何在算法設計與分析這門課程中進行翻轉教學的實施。
1 翻轉目標
社會發展在許多方面已改變了人類生活,然而,人們對物質利益的追求越來越高,而對自身價值的追求卻越來越淡,在這種畸形風氣影響下,很多人變成了單純的“技術動物”[3],社會也趨于功利,缺乏創新活力。要改變這種社會狀態,必須讓大學教育回歸人的本性。即在“算法設計與分析”課程教學中,教師必須進行教學理念的翻轉,徹底摒棄功利性的教學目的觀,在教學中傾注人文情懷[4]。
算法課程的最終目標絕非單純掌握幾種經典算法,而是通過算法過程的學習,讓學生在發現問題—定義問題—抽象問題—數學建模—算法設計與優化—實踐編碼的訓練中,培養和鍛煉計算思維[5],同時,讓他們的個性在思辨中得到張揚,在課程的教學實施過程中體驗快樂;使他們的表達、溝通、組織與協作能力一并得到鍛煉。在翻轉教學的整個過程中,只有始終牢記這樣的目標,教師才能真正做到與學生平等自主地進行溝通和指導,并騰出說教的時間,抽出更多精力來滿足學生的個性需求,體驗教學的快樂。
2 翻轉策略
部分教師機械地認為翻轉教學就是單純地從教師主講轉變為學生主講,課前并不給學生預設教學目標,課堂過程也缺乏互動,學生泛泛而談,教師對課堂缺乏管理,完全放任自流。正因如此,加上傳統教學理念的束縛,翻轉課堂在一定意義上被部分教師視為偷懶行為。其實,這是對“翻轉”的一種誤解,真正的翻轉要求教師對課程內容進行事先準備,注重課程創生,要精心設計學生自主學習的內容(制作微課),深入推敲知識點,把知識點進行有效肢解和串聯,讓學生做到既能各個擊破,又能從整體上把握。“翻轉課堂”還要求教師對教學過程進行仔細策劃,如預設教學目標和問題,讓學生有的放矢。endprint
真正的翻轉課堂對教師的教學能力實際上提出了更為嚴格的要求。教師必須能非常熟練地掌握教學內容,與前后關聯課程能進行有效串接,在實際場景中能靈活應用,在課堂上與學生的互動中能信手粘來,這樣才能引導課堂翻轉過程,發揮課堂效率。例如,對“算法設計與分析”這門課,教師不僅要能完全吃透數據結構、程序設計課程的內容,更要掌握計算復雜性、操作系統、計算機網絡中與算法相關的部分,只有這樣,在課堂的思辨中才能做到游刃有余。通常情況下,教師在自己還沒有熟練掌握“算法設計與分析”內容之前,不建議直接采用翻轉形式進行教學。
翻轉絕非流于形式上的翻轉,而需要根據課程與學情特點詳細敲定翻轉的內容,對于給本科生開設的“算法設計與分析”課程,由于對抽象思維和實踐要求均較高,我們采取了如下漸近策略:首先,整個課程結構按照算法大類,即分治、貪心、動態規劃、回溯與分支限界這樣的脈絡去安排學生學習,方便學生掌握各類算法中共有的核心思想。在起初的教學中,我們發現,讓學生一開始便完全自主學習所有大類的經典算法,由于事先沒有接觸過類似的思維方式,大部分同學容易遭受挫折,許多同學因無法繼續學習下去而喪失興趣和信心。因此,在最初每個算法分類的第一個經典案例學習中,我們預先布置同學們預習,在課堂上,仍然主要通過授課與啟發提問的方式帶領學生剖析算法的核心思想。需要注意的是,通過擺現實問題,然后進行數學抽象等逐層引導的方式歸納出科學問題并提出解法后,課堂中需要空出適當的時間讓學生自己總結一類算法所解決問題的共性特點以及具體的實現細節。其次,在后續算法的經典案例中,再逐漸采用翻轉教學模式,讓學生成為課堂的主人。最后,當完成部分算法的一些大類學習后,對于后面新的大類算法,可以一開始就采用翻轉形式,讓學生完全控制學習節奏,鍛煉他們的創新思維。通過這樣逐層遞進的方式,不僅讓學生們消除了畏難情緒,在學習過程中嘗到了成功的滋味,培養起他們的自信和興趣,也讓他們于潛移默化中掌握了知識內容。
由于“算法設計與分析”課程實踐性強,學生除了要掌握算法的基本理論外,也要能夠掌握實現算法的技巧,因此,上機實踐對于算法的掌握和應用非常關鍵。除了在理論教學中體現翻轉外,上機實踐中同樣可以運用翻轉教學。以往的上機實踐通常是學生在課堂內機械地敲寫代碼和調試程序,課后完成實驗報告,學生之間、師生之間的互動較少,等到學生發現自己的問題,往往是快要下課了,實驗中的問題很難完美解決。采用翻轉模式后,要求學生在課前就已經至少調試過一遍所有程序,實驗結果當堂檢測,存在問題的當堂提問。另外,可通過分配小組的形式,讓動手能力較強的學生來輔助教師解決問題。對于一些共性問題,教師也可以當堂發起討論并演示解決辦法。對于實驗的評價,除了實驗結果檢測外,更重要的是要參考學生的實驗課堂表現,包括學生提出問題的質量、解決問題的辦法,以及幫助其他同學解決問題的能力。
5 總結
翻轉課堂弱化了教師的主導地位,學生成了課堂主人,學生根據自己提前自學掌握的知識,帶著疑問進入課堂,又通過合作探究解決了自己的疑問。在算法設計與分析課程中,我們根據教學內容和學生的學習情況,部分內容采用了翻轉教學模式,取得了良好的教學效果。經過對比發現,翻轉課堂采用之前,大約只有30%的學生能夠真正掌握最長公共子序列的求解步驟,而其中仍然有一半的學生只其然而不知其所以然,對動態規劃本身的思想要點仍然不得要領。采用翻轉課堂后,至少80%的學生能夠掌握該解題步驟,而且有超過50%的學生能夠真正吃透動態規劃優于窮舉和分治的真正原因。這種“以學定教”[1]的教學過程,使課堂效率得以迅速提升。
在今后的教學過程中,我們將繼續深化這種模式的應用,引入更多的翻轉形式。也將考慮引入藍橋杯大賽、ACM-ICPC等競賽的在線評判(OJ)系統來進一步輔助翻轉在實踐教學中的應用,同時深入探索多層次的教學評價機制,更多考慮學生在合作探究過程中的表現在評價中的作用,以達到更好的激勵目的。
【參考文獻】
[1]許興亮.“翻轉課堂”翻轉了什么[J].當代教育科學,2014(16):34-35.
[2]高尚.“算法設計與分析”課程改革初探[J].計算機教育, 2008,No.74(14):37-38.
[3]王坤慶.論人文主義教育的價值取向[J].高等教育研究,1999(5):20-23.
[4]高敏,段兆兵.課堂翻轉期待教師教學理念的“翻轉”[J].教育探索,2016(5):134-137.
[5]盧俊嶺,王小明,吳三斌.基于計算思維的算法設計與分析課程改革[J]. 計算機教育, 2011(22):36-39.endprint