仲曉潔
摘要:C語言作為結構化程序設計語言,是全國青少年信息學奧林匹克競賽使用的三種語言之一。由于其按照模塊化方式組織程序結構,因此程序層次分明、條理清晰,深受廣大教師和學生的喜愛。但是在C語言的入門和競賽算法的深入學習階段,由于初中生抽象思維薄弱,理解力不強,因此存在一些學習障礙。如果能在C程序設計的教學中使用微課,不僅能將深奧的信息學奧賽知識化整為零,分散競賽內容的難度和深度,還能充分發揮學生學習的自主性,不再局限于教師面授、學生被動聽課的傳統教學模式,而是更有利于學生反復學習競賽內容和操作方法,加深學習記憶。同時,在C程序設計教學中使用微課還可以做到因材施教,學生可根據自己的需求,通過非正式學習篩選自己需要的知識,在學習方式上獲得更大的自由。本文介紹了微課在初中信息學奧賽輔導“C語言程序設計”教學中的特點和實用性,以及將微課應用于C語言程序設計教學的具體操作方法,闡述了微課在C程序設計教學中的作用和意義。
關鍵詞:微課;C語言程序設計;翻轉課堂
中圖分類號:G434 文獻標識碼:A 論文編號:1674-2117(2015)17-0138-03
傳統的教學模式下,一節課45分鐘,真正的精華部分、重難點的重要環節卻只有10分鐘左右。根據國外可汗課程的統計和腦科學的研究,學生的注意力集中的有效時間也在10分鐘左右。若時間太長,學生就會出現注意力不集中等一系列問題,從而影響教學質量與教學進度。2012年初,翻轉課堂、可汗學院、微課等新概念的引入和推廣,猶如在教學方法中注入了新鮮的血液,特別在初中信息學奧賽輔導教學中引入微課能解決學生學習時間短、學習內容多、學習難度大的矛盾,因此深受奧賽輔導教師們的重視與喜愛。
微課是從“翻轉課堂”中涌現的新概念,指時間在10分鐘以內,有明確的教學目標、內容短小,集中說明一個問題的小課程。在“翻轉課堂”的教學流程中,可汗式“微課程”是指記錄教師給學生講授課程內容的一段10分鐘以內的“微視頻”。微課具有“微課件”和“微課程”兩層含義:從資源的角度看,“微課”是“微課件”的縮寫,指以闡釋某一知識點為目標,以短小精悍的在線視頻為表現形式,以學習或教學應用為目的的在線教學視頻。從課程的角度看,“微課”是“微課程”的縮寫,除了視頻教學資源外,它還包含著教學活動和學習體驗等。
微課不僅是學校實施翻轉課堂的基礎和前提,作為微學習的一種,微課還支持翻轉學習、混合學習、移動學習、碎片化學習等多種學習方式,因此,越來越多的學校教育資源采用微課的呈現形式,C程序設計教學也不例外。
● C語言程序設計教學中引入微課的環節
1.在課前預習中引入微課
學習任何課程都少不了課前預習,C語言程序設計也不例外。學生只有預習充分,才能在課堂上集中注意力學習知識,提高聽課效率。因此,可以將C語言程序設計的一些重難點制作成微課,并將這些微課上傳到相應的網站平臺,如中國微課網等。教學過程中,當要接觸一些新概念時,可以要求學生提前觀看微課,進行預習,從感性上了解要學習的概念。這樣,學生會在觀看過程中思考提問,并將這些疑問帶回課堂或在網絡中直接向教師提問,與教師共同探討。
2.在新課導入中引入微課
新課導入在整個C語言程序設計課堂上是非常重要的環節,引導恰當,可以快速吸引學生注意力,激發學生學習的興趣和動力。所以,可以在這一環節引入直觀、針對性強、畫面具有動感的微課,設計一些新穎的導入內容。這樣不但解決了教師口述引導枯燥、任務式引導乏味的問題,還可以利用微課引導學生進行協作學習,達到真正意義上的“翻轉課堂”。
3.在“程序編譯”理解中引入微課
C語言程序的編譯過程實踐操作性強,按照傳統的教學模式,很難做到面面俱到、層層深入。但是,如果在編譯程序教學中引入微課,則可有效地解決這一問題。例如,在講解數據排序算法時,由于數據排序的算法較多,如果逐一操作演示,很難在課堂上講清數據排序的全過程。而通過多媒體課件講解又因為涵蓋的知識點多,要想將每個排序算法都講解透徹,至少需要兩到三節課的時間,并且學生還會因為理論知識繁瑣而影響學習編程的興趣,最終導致教學效果不理想。而如果將每個排序算法的精華內容制作成相應的微課,上傳到中國微課網,學生利用這個平臺進行課前預習,如果遇到難以理解的知識點,則重復或暫停播放微課,這樣就可以將整個課堂翻轉,將課堂上的大部分時間用來交流討論和進行程序編譯的操作,從整體上提高編譯程序的教學效率。
4.在計算機基礎知識中引入微課
在全國青少年信息學奧賽的初賽活動中,考查的計算機基礎知識相對比較復雜,按照傳統的教學模式,初中生很難將抽象的計算機理論轉化成形象記憶。因此,教師可以借助微課短小精悍、主題性強的特點,在學習這些較抽象、復雜的基礎知識時,將重難點制作成微課。這樣,學生在學習過程中可以暫停、重復播放相應的微課,達到提高記憶和理解計算機理論知識的目的。
例如,在講解二進制運算法則時,由于二進制的進位規則、借位規則、運算法則、二進制數和十進制數、八進制數、十六進制數的相互換算等知識點繁冗、復雜,學生很難在有限的課堂時間內系統掌握。如果能將二進制的概念、表示方法、運算規則、二進制和十進制、二進制和八進制、十六進制的相互轉換以及二進制的配套練習制作成微課,讓學生在課前觀看學習,在課堂上再由教師和學生共同強化運算訓練。這樣,微課不僅可以輔助教師進行課堂教學,把課堂內容細微化、精深化,也可以作為學生自主學習的預習資料和復習運算的練習材料,實現真正意義上的“翻轉課堂”。以此類推,其他一些比較常見、實用的計算機基礎理論知識都可以采用這種方式制作成微課。
● C語言程序設計教學中引入微課的作用
1.微小、精細、直觀演示程序編譯過程
微課的出現,改變了C語言程序設計的教學模式,因為其“微”,才可以更靈活地滲透到程序教學的每一個環節中;因為其“精”,才能用最短的時間將精要算法講透徹;因為其“直觀”,所以能把每個程序結構進行分解講解,直觀地給學生演示。例如,在全國青少年信息學奧賽復賽活動中,參賽規則要求編譯程序必須使用文件。通過微課,可以將文件的使用步驟逐一講解,再借助屏幕錄制軟件錄制文件使用的方法,將輸入、輸出文件的定義、打開、讀入、寫入、關閉等一一具體地呈現在微課中,這樣制作出來的微課,演示形象、直觀,即使是不懂編程的學生通過微課也能很快地掌握使用文件編譯程序的技巧。
2.加強交流、討論,促進學生自主學習
教師可將制作的微課上傳網絡,使其成為共享資源,以便學生進行自主學習、自我評價。使用網絡課堂作為課外學習的主要平臺,加強了學生交流、討論的主動性,增強了學習效率,改變了教學模式。例如,教師可借助中國微課網,把C語言程序設計的知識模塊制作成微課、課件、練習,共享到這個網絡平臺中,學生就可以在任何地方任何時間登錄平臺進行自主學習。
3.使分層教學成為可能
因為微課是將知識點分精、分細制作而成的可重復、暫停播放的視頻,所以可以將學生分成不同等級、不同層次來實施教學,在初中信息學奧賽普及組C語言程序設計的輔導教學過程中,可以靈活安排不同學齡段的學生進行微課學習。
例如,在講解三種基本語句結構時,涉及順序結構、選擇結構、選擇的嵌套、循環結構、循環的嵌套等知識點,就可引入微課,先將這些基礎知識點分層制作成微課,然后作為各小組的學習資料,教師要求學生按自己的能力水平進行分層學習,嘗試學習更高層級的知識,并對各小組的完成情況進行評分,這樣不但小組內可以分層學習相關知識和任務,而且每個小組間又增強了學習的競爭力。所以,微課不僅讓分層教學成為可能,而且還能培養學生溝通和合作的能力。
雖然微課在C語言程序設計教學中起著催化劑的作用,但在實施中還存在一些問題。例如,由于教師制作微課的水平有限,造成微課吸引學生的注意力有限;由于學生學習能力的參差不齊,造成培優扶差的教學效果不如課堂教學效果。因此,微課在課堂教學中的應用研究還需要我們不斷思考、不斷實踐。