李 培
(1.西安郵電大學 計算機學院,陜西 西安 710121;2.西安郵電大學 陜西省網絡數據分析與智能處理重點實驗室,陜西 西安 710121)
C 語言課程是理工科各專業學習計算機的基礎課,兼有高級語言和低級語言的特點。C 語言課程內容大部分比較抽象,如果只是依靠老師課堂講授,可能學生實際的掌握情況并不理想,因此,課內配有相應的實驗環節,才可以真正做到對理論知識的消化掌握,特別是最終達到解決實際應用問題的目的。但是,現在設置的實驗內容基本為較簡單的課堂例題驗證,學生完成實驗任務并不需要太多的獨立思考,更不要說創新思維和結合實際了。隨著翻轉課堂在理論課上運用的越來越多,取得了較好的教學效果,將翻轉課堂引入實驗課就成了C 語言課程新的探究對象。
在布魯姆教學目標的各個層次當中,最底層的記憶和理解是最簡單的任務,處于中間層次的應用和分析顯然是有一定難度的,而位于最高層的評估和創造是最有難度的任務。在傳統的課堂當中,較低層次的活動都是在課堂上完成的,之后通過課下的練習、研究從而完成階梯中較高層次的活動。這種方式對部分學生而言,沒有專業的指導,會導致課后任務完成質量無法保障,教師需要再次通過課堂講解或其他的方式進行補充和完善。因此,在翻轉教學過程中,應先將低層次的活動布置給學生課前完成,而在課堂上有專業老師指導的情況下和學生一起進行以能力導向為目標的高階活動,將會提高教學的效果。這種自上而下的方式可以充分發揮課堂上最寶貴的資源——教師,因此我們翻轉布魯姆教育目標的分類;同時,結合實際教學情況,將布魯姆教育目標分類法的三角形結構改為圖1 的菱形結構布魯姆教育目標分類等級模型,假設面積越大代表用于該級別任務的課堂時間越多,將分析和應用作為我們課上的主體任務[1]。

圖1 菱形結構布魯姆教育目標分類等級模型
從本質上來說,結合翻轉教學的實質,翻轉課堂這一方法非常簡單:通過課前學習翻轉視頻,將講解的基本內容傳遞給學生,把課堂的時間和學生分享,用于應用、分析和實踐,在老師在場的情況下,糾正錯誤的觀念,建立知識體系[2-4]。在和學生、教師的交流中,會發現幾個關鍵點:①學生需要將低階的基礎性任務在課前完成,不造成太大負擔且保證效果;②學生需要在課上完成中高階任務,需要接觸老師,得到老師的幫助;③學生需要合作,共同完成任務并討論分享;④課堂需要參與性,參與的過程讓課堂質量提高。顯然,同時滿足了上述幾個關鍵點,能力導向的目標也就達成了,而這幾個關鍵點在實驗課上同樣可以采用,并具有可以邊討論邊實踐的優勢,故嘗試實驗課的翻轉教學模式是具有探究意義的。
作為實踐操作類課程,程序設計語言課程需要大量的上機實驗。在傳統的教學模式下,課程內的實驗環節難以實現對理論課程的輔助作用,因此,除了理論課的翻轉,在實驗課開展翻轉混合教學是非常必要的。與傳統的翻轉課堂相比,借助實驗教學平臺和教學輔助工具,可以在課程教學過程中的實驗環節引入翻轉課堂的教學模式,實現“教學相長”[5-6]。
在實驗課開展翻轉教學,需要解決傳統理論翻轉課堂的問題之外,也面臨一些新的問題[7]。例如,如何最大化地利用實驗課上機動手的機會,如何在有限的時間內讓學生能夠獨立編寫并執行程序,如何在有限的時間里培養學生舉一反三的能力和創新應用能力,如何在每次課程中除了將課本所學的語法知識加以運用還能夠掌握更多的編程技巧。因此,需要對實驗課翻轉課堂進行重新設計,包括課前翻轉視頻、翻轉任務單、實驗課翻轉形式、實驗課翻轉效果評價等,通過一個完整的翻轉課堂組織設計以求達到理想的實驗課翻轉課堂效果。結合前期的對翻轉課堂與布魯姆教育目標分類法的分析,我們需要構建的是將中高階任務安排在課上,由同學討論和教師輔助,最終達到以能力導向為目的的翻轉實驗課。
一個完整的實驗課翻轉課堂教學模式需要涵蓋以下幾個環節:①實驗準備;②課前自主學習;③實驗課活動;④課后反饋與評價。其中,首先由教師完成實驗準備工作,主要包括各種與實驗相關的教學資源;學生根據課前任務單完成課前的自主學習,并通過課前測試;課堂活動會根據實驗內容,由教師安排進行分組交流討論、小組分工協作完成任務、小組匯報、班級討論、答疑指導等多種形式,為實驗課的主體,并保證教學目標的達成。課后反饋包含實驗結果公示和實驗報告的提交,同時,每個環節都進行評價打分,并配合課后調研,結合每個環節的反饋,全面了解學生知識和能力掌握的情況,從而對實驗設計進行調整并結合理論課堂有針對性的補充。整個實驗課翻轉課堂的設計見圖2,環環相扣,調整靈活,利用教師及時調整教學內容和教學方式。

圖2 實驗翻轉課堂的設計
實驗準備階段包含實驗環節需要的實驗指導書和實驗資源包。針對翻轉課堂,需要準備實驗課翻轉任務單、翻轉預習視頻、課前測試題和環境設置,完善實驗資源包。其中翻轉任務單應該在傳統實驗指導書的基礎上明確翻轉課堂的實驗流程,學生需要完成的前期任務和需要做的前期準備,課上環節如何開展,課后需要達到的知識和技能要求。教師可以通過課前測試題完成情況對實驗課堂教師講解設計和翻轉預習視頻進行調整。其中,翻轉預習視頻中的理論部分可以從對應理論課微課中提取,其他環節配以PPT 和錄屏演示,加上教師講解就可以完成??傮w來說,翻轉預習視頻,時間應該以10~15 分鐘為宜。
以循環嵌套為例,圖形輸出問題就是非常直觀形象,在預習視頻中經過分析講解、總結類型編程思路后,很容易掌握的一類問題,例如實現圖3 的輸出。

圖3 預習視頻講解問題及該類型總結
同時,在預習視頻中加入單步調試和斷點使用的操作指導,不僅可以幫助學生解決調試中出現的問題,還可以通過這樣的練習觀察加深對循環嵌套的理解。
實驗室環節除了傳統實驗室機器和環境的要求之外,為了便于討論和展示方便,在教師機安裝共享投屏和文件傳輸系統。
由于學生水平存在一定差異,即使按照學情做了匹配,但是考慮到翻轉課堂后續擴展的需要,適當在原有的實驗資源包中添加拓展實驗和延伸學習資源,達到更高階的水平,供學有余力的學生繼續學習,教師同樣可以在實驗課上提供答疑和指導。
首先,學生需要認真閱讀實驗指導書,從而對實驗內容有所了解。第二,仔細閱讀實驗課翻轉課堂任務單,知曉實驗課翻轉過程,明白需要課前完成的任務。腦中帶著問題,心中裝著問題,認真學習翻轉預習視頻。第三,初步考查預習效果,完成學習通的課前測試題,根據完成情況查漏補缺,甚至二次學習,達到掌握低階基礎知識的目標。第四,結合預習視頻,查找資料,完成實驗課翻轉課堂課前任務,完成代碼編寫,調試和運行驗證。
以循環嵌套為例,布置圖4 的兩個任務,在前述的基礎上,學生稍加變形就可以實現系列代碼。

圖4 實驗課課前翻轉任務示例
整個過程當中,每一個環節的內容相對基礎,主要是發揮學生的主觀能動性,支持學生交流探討,同時,老師提供答疑指導。但任務考核重在個人對基礎知識和能力的掌握,因此每個人都需要獨立完成并按時提交課前作業,并且做好實驗課上被隨機抽到講解的準備,達到每個學生獨立完成初級應用的目標。
本環節的課前講解準備無需像理論課翻轉課堂制作講解PPT 和板書,重點是圍繞代碼本身闡述算法思想、設計思路和調試經驗,借此減輕學生課前負擔,重心落在課前預習和代碼編寫上。
實驗課翻轉課堂活動時長以一次實驗課的課時為宜,一般為2 學時。實驗課翻轉課堂步驟在翻轉任務單里已經清楚闡述,加上理論課翻轉課堂有類似之處,學生較為熟悉,教師需要對環節非常熟悉,并注意時間的把控,做好一定的預案。
1)第1 個環節,基礎鞏固階段。
教師根據預習時完成的課前測試反饋,對重點難點易錯點點評并講解,在后續工作開展之前掃除低階基礎問題。
2)第2 個環節,初級應用階段。
隨機抽取學生,對翻轉任務單中的基礎應用編程題進行講解,采用教師機主控,學生對照代碼講解,并演示調試過程,展示運行結果。由其他學生針對其完成和講解情況進行評分,教師根據講解情況,進行補充和點評。這個環節,教師只需要規定好學生講解的要素,就可以掌控時間,保證講解效果。
以循環嵌套為例,可以給出如下講解要素。題目講解要求:
(1)執行代碼并正確演示(20 分)。
(2)題目分析講解(60 分)。
● 循環結構解決該問題的注意事項(20 分)。
● 總結該類型問題的解題心得(20 分)。
(3)鼓勵同一問題采用不同思路實現,分析不同思路的特點(20 分)。
3)第3 個環節,應用升級階段。
教師在初級應用編程題的基礎上,部署分組任務,提出更貼近實際應用、更高難度的題目要求,需要在基礎題的基礎上加以完善修改實現,要求小組討論研究,完成后經教師核對無誤后,率先完成組負責講解并獲得附加分。
延續循環嵌套實驗中圖形輸出的例子,這里可以提出如圖5 所示的3 種輸出問題,在圖3 基礎上通過分析,改造結題思路。

圖5 升級應用階段任務示例
該部分講解完成,需要接受同學提問,完成解答。期間,老師根據情況適當穿插指導和糾錯。
4)第4 個環節,總結階段。
(1)內網門戶。主要實現內網辦公相關信息的統一展示;此外,需要實現多個業務系統的統一用戶權限管理和單點登錄。
課程結束前5 分鐘,由教師對該知識和能力要求進行總結,并針對該知識點提出創新應用思路,作為課后思考拓展問題。
實驗課后,學生按照實驗指導書中的要求完成實驗報告,實驗報告中除含有傳統課程設計方案、代碼實現、結果截圖、心得體會等內容,結合實驗課翻轉課堂需要添加高階應用題完成情況、拓展任務完成情況、小組分工合作設計等在應用技能提高、創新思維培養和團隊合作方面的內容。
課程結束時,通過學習通發送課程調查問卷,對課程內容、形式進行調研反饋,重點圍繞實驗題目的設計評價,從而確定題目難度、學生興趣及最終實驗目的的達成情況。
第一時間圍繞普遍反映的遺留問題形成總結性文檔,可以附以視頻、資料,推送給學生,做到課程問題及時解決。最終,圍繞課程調研和實驗報告形成對實驗課翻轉課堂的評價,在評價的基礎上進一步完善改進。
一門課程給學生帶來的不單單是知識掌握和能力培養,通過課程傳遞價值觀更是尤為重要,由于在翻轉課堂上,師生之間的交流互動更多,生生之間的交流協作更多,因此,在翻轉課堂上傳遞價值信息應該能夠起到事半功倍的效果。
這樣的傳遞可以通過老師的言行,也可以通過課程的題目。延續循環嵌套這節課的設計,利用循環結構來解決圖6 的問題就非常有意義。

圖6 價值引導問題
2018—2019 學年第2 學期,在高級語言程序設計(C 語言)課程中采用混合教學模式,開展了理論課和實驗課翻轉課堂,其中,實驗課翻轉課堂為首次開展,采用了上述的以能力導向為目標的翻轉實驗課設計。
雖然內容有一定難度,但是學生表現出了極大的興趣和積極性。課前基礎性題目完成理想、實驗課堂講解順利,拓展拔高題目全部都在實驗課當堂通過小組討論完成,并積極踴躍進行了講解。課后調研顯示學生收獲了知識和能力的同時,具有挑戰性的題目讓學生收獲了極大的成就感,相互的協作讓學生感受到了頭腦風暴的魅力,思維的碰撞激發了學生的主動性,同時,帶給了生生、師生之間更多的交流機會,給了老師放心大膽地嘗試有針對性的教導的機會,真正做到了以學生為中心,更是真正做到了讓學生學會編程,而不是紙上談兵。翻轉實驗課達到了能力導向的目標,借助學習通和現代化教學理念,給C 語言這門傳統課程帶來了新的活力。