陸玲 李麗華 徐瑋
摘 要:針對本科程序設計課程中講解的象性與實操性存在矛盾,對程序設計課程教學進行改革,將傳統教學與翻轉課堂結合,構建基于半翻轉課堂的教學模式,提出了課前學生學習的教學資料設計原則,設計了課堂教學討論的案例,采用實驗考核及上機考試方法,提高學生的實踐能力。
關鍵詞:翻轉課堂;程序設計;案例教學
中圖分類號:G642文獻標志碼:A文章編號:2095-9214(2016)05-0057-02
一、前言
“程序設計”課程是理工科專業一門重要的信息基礎課程,通常包括C、C++、VB等語言。教學目標是使學生掌握程序設計基本方法,具有用程序設計語言解決實際問題的能力。根據以往多年的傳統教學模式的教學分析,程序設計課程的教學方法大都是以語言知識為主,培養學生的編程能力不夠,因此學完程序設計課程后,大部分學生最多能看懂程序,而不會編寫程序。因此,探討新的適合程序設計課程特點的教學模式,改進課程實施方法非常重要。
近年來興起了”翻轉課堂”教學模式,翻轉課堂又稱為反轉課堂,與當前所采用的傳統課堂模式相反,讓學習者在課前觀看視頻、查閱資料,完成知識的自主學習;課堂上的主體由教師變成了學生,通過學生的討論,提問等主動學習的方式,實現知識的學習。各大中院校將一些課程教學采用”翻轉課堂” 方式,取得了一定的效果。在程序設計課程教學方面,趙斐等[1]針對“程序設計基礎”課程教學中存在的矛盾,采用翻轉課堂理念進行了教學模式的重新設計,強化了實踐能力的培養,并探討了建設實施過程中需要解決的問題。但未與實例相結合。屈微等[2]提出采用課前學生微課預習、課堂師生討論交流、上機開發實際案例3 個環節相結合的翻轉教學模式,并以C++ 程序設計課程的多態性章節教學為例闡述實施過程及效果。韓朝陽[3]提出以《課前自主學習任務單》為導向的翻轉課堂教學模式,并通過案例介紹該模式在C 語言程序設計教學中的應用方法。]唐琳等[4]提出基于翻轉課堂分層次的Java 實踐課程教學設計方法,該方法通過教師個性化培養方案的制訂、課前教學視頻的學習以及課堂有的放矢的實踐、溝通和討論,達到有效內化基礎知識同時提升教學效果的目的。陳剛等[5]采用翻轉課堂的理念,采用學生自學為主、教師引導指正為輔,課前學生預習教學視頻,課上學生匯報、討論、團隊編程的形式進行課程的開展。王莉莉等[6]基于翻轉課堂思想,從分析計算機專業課程特點著手,針對程序設計課程,闡述在教學中進行翻轉課堂實踐的過程,并針對高校學生的自主學習問題,提出采用分散考試的方式對學生施加壓力以提高自學能力。陳晉音等[7]提出引入翻轉課堂為C++ 程序設計課程設計相應的教學方法、教學模式和綜合評價機制以及一種線上線下混合式的學生能力和素質綜合評價方法。
我們認為翻轉課堂能夠提高學生的學習積極性必須滿足兩個條件:一是教學資源方面,課后的學習資料易被學生接受;二是學生的主動性方面,課后學生能主動學習。根據目前的學生狀況,最好是將傳統的教學方法與翻轉課堂結合起來,采用半翻轉課堂的教學模式,也就是在課堂上一半的時間進行講解,另一半時間用于學生討論,本文以VB程序設計為例。
二、課外學習資料的設計
程序設計課程的最終教學目標是讓學生應用程序設計語言解決簡單的實際問題,因此課外學習資源必須以程序設計為中心。在課前給學生布置學習任務,發布學習資料(視頻、課件、程序演示等)并與學生保持聯系,隨時了解學生的學習狀況。課外學習資料的制做作主要尊循以下幾個原則:
(一)遵循先具體后抽象的原則
大部分程序設計語言教材章節的順序組織是以知識的邏輯結構體系為主,從知識的邏輯結構體系考察,這樣安排無可非議,但從學生的認知規律考慮,學生在毫無知識背景的前提下,要完全理解一些概念比較困難,并且容易傷害同學們學習編程的積極性。因此我們要打破課本原有的一些順序,以學生的已有知識為基礎,按照學生的認知規律,遵循先易后難、先具體后抽象的原則,通過實例由同學們自己在直觀上先去體悟這些概念,然后在時機成熟時再和同學們一起歸納總結。這樣可以調動學生學習積極性。例如數據類型、運算符與表達式簡單介紹含義與書寫方式,后面通過實例再進行講解;另外控件與事件也是通過實例進行講解,用幾個講幾個;控件的屬性也是通過實例講解,不需要一次將控件的所有屬性講完。
(二)灌輸輕語言重算法的思想
教材上都比較全面地介紹了程序設計的各語句的語法規則,并附有實例說明。語法規則是“死”內容,教材上寫得很詳細,學生也容易看懂,而程序設計思想教材上很少體現,需要在學習資料上引導學生。教師要歸納出語言的重點核心內容,基本概念、基本原理一定要講透,其它的一些相關的語法規則應在程序設計使用中進行講解,這樣可加深程序設計語言的理解,通過程序設計掌握語法規則。學生掌握了程序設計方法,上機調試時,自然逐漸地掌握語法規則。
(三)采用少解釋多設計的方法
由于教材的篇幅有限,在講解程序設計時,一般只列出題目,然后附上源程序代碼,沒有詳細地將程序設計思想全部寫出來,因此,教學資料講解程序設計時,不能先將程序代碼寫出來,再逐條語句講解,這就使學生只會看懂程序而不會設計程序。教學資料要用一定的時間講解程序設計的思路,邊講邊寫程序(或偽程序)。
(四)提倡淺入口深出口的講解
程序設計的過程是一個逐漸的過程,對于初學者來說,容易理解簡單的程序,因此教學資料講解程序設計時,對于難理解的程序設計,可從較淺的內容和方法出發,逐步引深到實際需要解決的問題。例如講解計算1!+2!+3!+…+n!時,先講1+2+3+4…+n,再講計算n!,最后再講1!+2!+3!+…+n!。
(五)實施精講解多練習方案
VB程序設計課程的內容比較多,除了語言的規則,還有控件與事件的使用。另外課外學習資料一次課的學習內容不太多,注重學生對知識的掌握程度,將重心從單純的教師的教轉移到引導學生學,讓學生從“學會”盡快過渡到“會學”才算達到改革教學方法的目的。因此,必須對授課內容進行精心設計,有些結構程序設計有多種語句實現,可重點講解一、二種語句即可,例如選擇語句重點講IF語句、循環語句重點講For語句與DO While語句。有一定的時間進行練習對培養學生動手能力有著非常重要的作用。
三、課內教學方法的設計
課內主要分為兩部分,一部分是課堂講解,強調重點內容。另一部分是學生練習與討論,時間分配是1:1或1:2,講課的內容不能越過學習練習討論的內容。
(一)課堂講解內容
主要包括學生課外學習的核心知識內容的總結歸納、學生課外經常遇到的問題進行講解、對學生課外學習效果進行檢查(如小測試)等。在學生練習與討論過程中也可穿插講解。
(二)課堂練習案例
練習與討論的核心內容就是案例設計。案例的選擇即要與實際應用相結合,也要學生熟悉又要慣穿知識點,一定要學以致用,課外學習資料學習的重點內容一定要在實例中體現。經過多年的教學積累,我們設計了VB程序設計的部分應用實例:
簡易計算器的設計、字體對話框的設計、記事本程序設計、學生成績統計程序、通話費計算程序、選擇題訓練程序、交互畫圖程序、打字練習程序、交互移動目標程序、圖片瀏器的設計、交通燈模擬、運動會記分程序等。
四、課程考核方法的設計
課程考試成績必須能反映學生的學習能力、學習方法、學習時間的付出等方面的情況。經過我們多年的教學,以往閉卷筆試中經常會出現有些課上表現很好、編程能力很強的學生,考試成績卻并不理想,原因是這類學生把更多時間用在程序設計的技巧嘗試上,而對于一些自已不經常使用的語法內容不是很關注。而閉卷筆試的考試的內容涉及的內容比較全面,一些內容并不一定是學生學習過程中的關鍵點。我們認為,程序設計課程的主要目標是學生會編寫解決問題的程序,而不是死背語法。會編寫程序的學生對于記不住的語法完全可以查閱資料解決。因此,程序設計課程的考核重點在平時實驗考核與期末上機考核。
平時實驗考核:設計不同難易度的實驗內容,由學生選擇完成,每次記錄學生的完成情況。期末上機考核:開卷考試,允許學生查看教材,重點考核學生的編程能力。
五、結束語
近年來,翻轉課堂的教學模式越來越多的被學校所接受,已有許多教師將翻轉課堂用在程序設計課程,而且也取得了一定的成績,本文針對程序設計課程提出了半翻轉課堂的教學模式設計,強化學生的實踐能力的培養,能有效地激發學生的積極性和主動性,實現分層次個性化教學,培養學生的計算思維和獨立創新的能力。
參考文獻:
[1]趙 斐,吳其前,楊吉斌,徐 勇.“程序設計基礎”翻轉課堂教學模式設計. 工業和信息化教育,2015(11):49-52.
[2]屈 微,姚 琳,汪紅兵.程序設計課程中的翻轉教學模式.計算機教育,2016(1):142-145.
[3]韓朝陽.翻轉課堂在C 語言程序設計教學中的應用. 中國教育信息化,2015(14):26-28.
[4]唐 琳,李 彤,肖大薇.基于翻轉課堂的Java 開發實踐課程教學設計. 計算機教育, 2015(2):103-106.
[5]陳剛鄭艷娟申晨.基于翻轉課堂理念的計算機程序設計的課改研究與實踐. 高教學刊,2015(18):232-233.
[6]王莉莉,陳德運,唐遠新.計算機程序設計課程翻轉課堂的探索與實踐. 計算機教育, 2015(8):53-55.
[7]陳晉音,俞山青,毛國紅.面向C++ 程序設計課程的翻轉課堂教學改革.計算機教育,2015(10):39-44.