曾春艷+王志鋒+萬相奎+武明虎+趙楠
摘要:針對傳統的C語言教學過程中,學生缺乏學習興趣、內容枯燥難以理解、缺乏動手編程能力的問題,本文提出問題式學習模式下C語言合作學習教學方法。該教學方法采用以教師為主導,學生為主體的雙主型教學模式,將所有學生分組,對每組學生提出難易過渡合理的多個問題,應用合作學習的理念提高每個學生的學習主動性和團隊協調能力,最后通過具有激勵作用的考核方法有效促進了學生主動學習C語言程序設計這門語言。
關鍵詞:問題式學習,合作學習,C語言,教學
Abstract: in view of the traditional C language teaching process, students' lack of interest in learning, content boring problems difficult to understand, lack of hands-on programming ability, this article put forward the problem-based learning mode cooperative learning C language teaching methods. The teaching methods and teachers as the leading factor, the students as the main body of the double main teaching model, will all student groups, difficult transition for each group of students put forward reasonable multiple problems, applying the concept of cooperative learning to improve each student's learning initiative and team coordination ability, finally, have incentive effect appraisal method to effectively promote the students' active learning the language C language program design.
Keywords: problem-based learning, cooperative learning, C language, teaching
一、傳統教學模式存在的問題
目前傳統的C語言程序設計教學主要存在以下三個問題:
1. 枯燥的語法學習讓學生缺乏興趣
在大多數教材設計中,C語言的教學先講授基本的數據類型、運算符與表達式這類語法知識,然后講述順序、選擇、循環這三種基本的結構。這些內容枯燥繁瑣,有大量需要記憶的細節,容易讓學生失去學習興趣和動力。而且這些語法的講解即便是結合了具體實例、錯誤示范,也是局部細節的講解,容易讓學生陷入這些細節中,只見樹木不見森林,漸漸失去了學習C語言的積極性。
2. 學生難以適應對編程邏輯
C語言課程大多開設在工科院校的第一學年,學生第一次學習編程語言,需要很長的時間去適應編程邏輯,對于數學和C語言語法類似的地方也容易混淆。而上機時對編譯出錯和警告信息的理解判斷、單步/斷點調試方式的應用都需要大量的練習才能掌握,所以很多學生表示,學習了很長時間C語言,依舊弄不太懂這門語言的范式和規律。
3. 教師考核的內容偏重語法,學生缺乏算法思維
由于C語言的學習需要先掌握常量、變量、數據類型、順序、選擇、循環語句,才能寫出程序,所以教師在教學時,將大量的精力用在語法講解上。同樣,考試時教師也偏重于這些語法的考核,很多題目是為了考語法而考語法,而實際應用時極少用到那些極端的語法表達,反而是要表達得易于理解,避免混淆。在這樣的教學與考核體系下,即便學生硬著頭皮記下了大量的語法,也依舊缺乏算法思維,只能讀程序,不會自己編程序。
針對以上問題,C語言的教學亟需改變傳統的模式,用問題式學習模式激發學生的學習興趣,引導學生課下自覺在編譯平臺上練習,培養編程邏輯。同時要改變單一的以教師為中心的教學模式,構建合作學習式的以教師為主導、學生為主體的雙主型教學模式。
二、合作學習式的雙主型教學模式
合作學習就是將所有學生分成幾個“組內異構,組間同質”的小組,小組與小組之間的能力接近,而組內各成員素質良莠不齊,學生在學習活動中相互幫助,對老師提出的學習任務各盡其能完成,使小組利益最大化的一種教學理念。
合作學習的理念源于學習的本質應該是一種同客觀世界對話、同他人對話、同自我對話的三位一體的活動,理想的教學應該是每個學生能安心學習,愉快地同教材對話,感受并分享同學間的見解,體驗交流的喜悅。
通過合作學習,學生愿意為集體的利益和個人的利益而一起努力,在完成共同任務的過程中實現自己的理想,能改善競爭意識給學生帶來的精神壓力。由于合作學習是課堂學習和自學之間的緩沖,在教學組織方面具有銜接性,十分符合我國高校教學以班級授課形式為主的教學傳統,教學組織形式上改革阻力較小,容易實施。
在高等院校的 C 語言教學中開展合作學習對提高學生編程能力和解決實際問題的能力有十分重要的意義。為避免合作學習走向某個學生“獨當一面”或者合作流于形式兩個極端,老師在組織 C 語言合作學習時,需要對整個 C 語言教學過程進行系統的設計。目前的教學設計模式分為三種:以教為主的教學系統設計、以學為主的教學系統設計、綜合兩者之長的以教師為主導、以學生為主體的“雙主型”教學系統設計。
以教為主的教學系統設計將行為主義學習理論和認知學習理論為作為基礎,在教學過程中,教師處于中心地位,強調教師的主導作用。這種教學方式是我國目前主要的教學形式,原因主要有以下幾種:1.大部分學校的授課都是大班教學,教師講學生聽的模式,比較適合這種規模的課堂活動;2.這種傳統的教學系統設計已經由眾多專家、學者以及一線教師通過幾十年的深入研究、實踐與發展,形成了一套比較嚴謹、完整的理論體系供教學工作者操作使用,而其它方式在我國實現的范圍小,年限短。
以學為主的教學系統設計強度以學生為中心,教師由知識的講授者變為學生主動構建學習的引導者,教師是根據學生的需求定制課堂的教學目標和內容,教學設計主要圍繞“自主學習策略”和“學習環境”兩方面進行,學生的參與為教學活動的起止點。這種教學模式由于強調學生是認知過程的主體,是知識的主動建構者,因而有利于學生的主動探索、主動發現、有利于創造型人材的培養,這是其突出的優點。但是,這種教學模式由于強調學生的“學”,往往忽視教師主導作用的發揮,忽視師生之間的情感交流和情感因素在學習過程中的重要作用;另外,由于忽視教師主導作用,當學生自主學習的自由度過大時,還容易偏離教學目標的要求,這又是其不足之處。
C語言合作學習式的“主導-主體”雙主型教學模式,結合以教為主和以學為主兩種教學系統設計模式的優點和靈活性,以奧蘇貝爾的“學與教”理論和建構主義的“學與教”理論為基礎,互相彌補不足,既重視培養學生的創新思維、創新能力以及學生情感因素對學習效果的影響,又較好地體現了教師的主體作用。
三、問題式學習模式下的合作學習
傳統的教學模式是教師單向講授知識點,學生聽課,在課后復習時進一步理解。這種學習方式很難將新的知識與學生用已有的知識聯系起來,而人在接受新的知識時,一定要將新的信息與頭腦中已知的信息結合起來,用自己的方式重構知識體系,這種新知識才能被理解消化。因此在C語言的教學中,需要由問題引發學生的思考,再引入新知識,將其內化為學生自己的知識,開啟學生的自主學習之路。
問題式學習(Problem-based Learning,PBL)是一種基于構建主義的教學方式,它以問題為核心、以學生為中心,讓學生在問題的引導下思考、相互協作、交流并構建知識,讓學生掌握靈活的知識基礎、發展更高層次的思維既能、培養學生解決問題和自主學習的能力。
C語言的教學在實施問題式學習模式時需要在課前合理設計問題,注重問題的層次性、激勵性和系統性;在課中扮演好教師的角色,創造問題情境,促進課堂的動態生成;在課后要注意深入反思和總結,反思教師自己的教學并引導學生反思自己的學習。
實際的問題式學習模式下的C語言合作學習可采用以下流程:
1. 教師分析學生的特征,確立學習目標。
學生的特征包括起點能力,學習風格等,C語言課程學習者多為工科院校大一的新生,已掌握的知識體系只有高中水平,基本沒有基本的編程思想,對理論性的學習有一定興趣,但更愿意動手實踐。這些學生的學習風格又分為兩大類:場獨立性和場依存性。前者有自己的看法,不容易受外界和他人評價干擾;后者比較容易適應環境,但受到批評時容易學習積極性下降。在以上學生特征和學習風格的考慮,教師在確立學習目標時需要設計不同層次的問題,以適應不同類型的學生。
2. 教師根據學習目標設置具體的學習情境,并選擇與當前學習密切相關的真實事件或問題作為學習的中心內容。
教師在設計課堂內容時分為三個部分:鏈接舊知識、探究新知識、新知識小結。先對學生知識體系中已有的相關內容復習,為新課做鋪墊,然后圍繞新知識學習以不同層次的問題展開,設置一條問題探究線索,讓學生對新內容有一個整體的把握。在課題學習的最后一部分對新知識做總結和反思。
3. 學生根據教師提供的問題自主學習,解決問題。
學生先課前預習,在教師給出舊知鏈接,多個新問題引導的前提下,分組展開討論,分組一般以5~6人為宜,討論的內容包括學生預習后的展示,對疑難問題的解答,知識體系的鏈接更新等內容。
4. 師生交流,對問題補充、修正、加深理解。
在學生討論的過程中,教師可以觀察每組動向,留意學生討論的重心和存在的疑點,在學生討論結束后,對有爭議的問題做點撥和提示,但不是直接給出正確答案,而是引導學生自己得出正確答案,對開放性問題則引導學生在課后進一步查資料求證、思考,整個過程中教師只扮演協助者而不是主導者。
5. 教師評價學生表現,學生填寫反思表。
在課堂的最后一部分,學生和教師一起總結新知識,評價各個學生的表現,對整個課堂環節的設置、時間安排提出修改建議。教師自己也要隨時記錄課堂教學信息,發現問題,反思自己的教學行為。
四、考核方式
設計合理的考核方式對促進學生的學習效果具有十分重要的意義。學生成績分為兩部分:平時成績與期末考試成績。由于采用合作式學習方式,平時成績的重心放在學生身上,需要評價學生在合作學習中的努力程度和被認可程度,所以每次課堂上的平時成績由組內成員協商的組內成績和組間評價給出的小組成績組成,個人成績=a1*組內成績+a2*小組成績,其中a1,a2為權重系數,由老師確定。平時成績的評定需要給出量化指標如下:1)合作態度,成員需要積極參與討論和解決任務的全過程,并且善于交流,能團結伙伴。2)合作學習方式,成員愿意傾聽別人的意見并給出合理反饋,愿意將自己的成果與成員共享。3)解決問題能力,能積極有效地收集相關材料并完成自己所負責的任務。通過以上考核方式能較好地促進學生在問題引導下合作學習。
參考文獻
[1]張華,張淼. 基于問題求解的C語言開篇教學研究[J]. 計算機教育,2014,No.20501:13-17.
[2]王曉光. C語言教學的教學模式改革策略解析[J]. 電腦知識與技術,2013,v.929:6583-6584+6586.
[3]辛秀. 高職院校C語言合作學習的教學實踐與反思[D].遼寧師范大學,2012.
[4]汪紅兵,姚琳,武航星,張敏. C語言程序設計課程中的計算思維探析[J]. 中國大學教學,2014,No.28909:59-62.
[5]張蕾. 基于項目化教學的“C語言程序設計”課程改革[J]. 計算機教育,2013,No.18202:17-20.
[6]鐘美. 培養應用型人才為目標的C語言教學改革[J]. 計算機教育,2013,No.19616:55-58.
[7]邱曉紅,李渤,樊中奎,邱曉平. 融合認知結構和CDIO教育理念的C語言教學[J]. 計算機教育,2013,No.19616:107-111.
作者簡介:曾春艷,女,1986.2 湖北武漢,博士,湖北工業大學,信號處理
通訊作者:王志鋒 swallow_chunyan@163.com