解 敏 梁 立 陳玉華
摘要:完成C語言綜合性實驗是一個學習復雜任務的過程。本文依據馬扎諾的學習模式理論,就進一步提高C語言綜合性實驗的教學效果,從任務設置、學習策略、基礎知識技能三方面探討了自我系統、元認知系統和知識系統有效參與認知的過程。
關鍵詞:自我系統;元認知系統;知識系統;綜合性實驗教學;C語言
中圖分類號:G642 文獻標識碼:B
1引言
隨著社會對人才素質及大學教學質量要求的提高,2007年教育部提出了“本科教學質量與教學改革工程”,綜合性實驗成了很多學科及課程的必開部分和教學改革研究的熱點。C語言綜合性實驗旨在提高學生利用程序設計解決問題的高層次能力。教學實踐發現,通過實驗,雖然學生程序設計能力得到了發展,但其期末考試成績與那些沒有實施綜合性實驗的學生相比,差異并不顯著。為此,有必要進一步了解C語言綜合性實驗的教學效果及存在的問題。
2C語言綜合性實驗教學實踐與存在的問題
在某高校2007級計算機專業開始C語言綜合性實驗前,教師給出了實驗要求及參考選題,并介紹了大型程序開發的一般步驟,實驗中,教師提供必要的指導并督促實驗進度,學生則利用上機時間或課外時間,獨立或協作完
成實驗,學期末提交作品及綜合性實驗報告,最后,教師挑選出優秀作品參加展示。從表1可以看出,作品的源程序文件長度、所定義的函數量、程序功能等方面與平時的上機作業相比都有了很大的變化,這反映了學生分析與解決問題的能力、程序設計能力、程序調試能力都有了很大發展。
盡管表1說明學生程序設計能力有所提高,但將2007級C語言期末成績與沒有開設綜合性實驗的2003級做獨立樣本T檢驗,發現差異不顯著。兩個年級在C語言課程開設情況、學生人數方面都相近,期末成績都呈正態分布。為了進一步了解綜合性實驗的效果,將各年級的成績排序,然后按27%的人數比例選取高分組(1組)和低分組(3組),剩下的作為中間組(2組)進行比較。從表2、表3可以看出:兩個年級之間1組、2組差異不顯著,但3組差異顯著。該分析結果表明:通過綜合實驗,高分組同學得到了一定的提高,中間組沒有明顯變化,但低分組卻沒能達到預期的目標。


進一步分析后發現,造成低分組差異顯著的原因主要有:(1)中學時期學生學習動機主要來源于外部的升學壓力,而進入高校以后由于缺乏類似的誘因,使學生的動機激發和維持變得困難。低分組學生在平時的練習中容易遭到挫敗,遇到高難度的綜合性實驗,更難樹立順利完成任務的信心,缺乏完成綜合性實驗的必要動力。(2)我國高校大一學生的學習策略普遍低下,學生極不善于使用高級的認知監控策略,缺乏自主,這極大地影響了他們的學習效率。低分組學生缺乏有效的學習策略,在解決綜合性實驗復雜任務的過程中遇到問題時,學生不知道怎樣去找出問題的原因,致使任務擱淺。(3)低分組學生沒有形成足夠的完成綜合性實驗任務所需的知識技能,因而,實驗中不能有效地獲取完成任務的信息,導致不能很好地完成學習任務。由于以上原因,基礎差、學習能力弱的學生被任務“難”住了,從而影響了教學的整體效果。
由此可見,如果不能很好地解決基礎差且不具備有效學習策略的低分組學生學習的問題,則C語言綜合性實驗教學的效果必定大打折扣。為此,需要解決學生完成任務動力不足、學習策略欠缺、知識與技能基礎不夠這三個方面的問題,使大部分學生能順利地進入綜合性實驗,從而在完成實驗的過程中得到更好的發展。
3馬扎諾學習模式
羅伯特? 馬扎諾(Robert J. Marzano)2007年提出人的學習模式如圖1所示。該模式從人的行為模式出發整體考慮學習的機制,在各種學習情境中勾勒出信息的流程:加工過程總是從自我系統開始的,再向元認知系統發展,然后是認知系統,最后是知識系統。其中一個系統中各種因子的狀況總是影響到另一個系統中各種因子的狀況。認知系統負責有效處理信息以完成學習任務,但為了有效地完成C語言綜合性實驗的復雜任務,需要自我系統、元認知系統、知識系統參與學習的過程。

3.1自我系統
自我系統用來判斷學習者介入一項新任務的收益,是一個人參與學習任務的主要動機激發力量,包括以下四個子系統:(1)檢查重要性,指識別任務作為滿足人的基本需要或達到個人目標的手段的程度;(2)檢查效能,涉及檢查個體相信自己擁有與任務相關的才能、力量或必要資源的程度;(3)檢查情感,反映包括分析個體對于給定任務的情感反映以及情感反映在個人動機中的作用;(4)檢查總體動機,總體動機是前述三個因素的函數。三個決定性的自我系統對動機的影響可能不相等,有可能重要性的感知超過了缺少效能和負面情感反映的感知。當學習者面對一個新任務時,首先由自我系統識別個體在給定任務中的動機水平,然后識別關于決定了動機水平的重要性信念、效能信念、情感反映的相互關系,決定是否需要介入。
學生進入大學后雖然缺少了升學的壓力,但是如果學習內容確實令人感興趣,則學生愿意花精力去鉆研相關知識,反之則不愿去深入學習,這就要求綜合性實驗的任務內容要盡可能地使學生感到:(1)任務有價值,對提升自己的能力很重要,(2)任務是自己能勝任的。這樣,增加了學生在試圖探索任務時的興趣,從而加強了學生完成實驗任務的動機。
3.2元認知系統
作為一種需要較高意識控制水平的認知活動,元認知系統有以下功能:(1)確定目標和計劃,包括建立關于特定知識的清晰的目標并提出完成目標的計劃;(2)過程監控和調節,負責監控實際過程的有效實施,并作出相應的調整;(3)對過程清楚準確的評價,確定個體對特定知識清楚和正確理解的程度。如果個體選擇了某項新任務之后,就會由元認知系統提出與完成新任務有關的目標,并選擇達成學習目標的策略。
C語言綜合性實驗是一項復雜的學習任務,對于元認知系統的訓練尤為重要,學生需要學會:(1)確定任務目標,(2)反思與調控程序設計的過程確保實驗任務按計劃順利完成,(3)學會正確評價學習的過程和結果,借此獲得良好的學習體驗和對學習過程進行調控的反饋信息。
3.3知識系統
知識系統由信息(陳述性知識)、心理過程(程序性知識)和心理動作過程(運用復雜的身體活動的能力)組成。自我系統、元認知系統、認知系統的運作都需要借助已經貯存的知識系統,要想取得學習的成功,很大程度上取決于個體對某一任務所掌握的知識量。
C語言綜合性實驗教學中,教師需要:(1)促進陳述性知識向程序性知識的轉換,促進知識的遷移,以幫助學生建立合理的認知結構,(2)讓學生學會更新知識的方法,及時補充完成實驗任務所欠缺的知識。
由此可知,作為學習過程必不可少的組成部分,認知過程需要自我系統、元認知系統、知識系統的有效參與,無論缺少了哪一部分的參與都不可能取得滿意的學習結果。若能促進自我系統、元認知系統、知識系統參與學習活動,則能解決學生完成任務的動力不足、學習策略欠缺、知識與技能基礎不夠三方面的問題,從而進一步提高C語言綜合性實驗教學的效果。
4C語言綜合性實驗教學中如何促進自我系統、元認知系統、知識系統參與學習過程
4.1精心設置學習任務,調動自我系統,促使學生愿意完成綜合性實驗任務
任務內容應該是有用的、有趣的,能讓學生感覺到完成任務對于提升自己的程序設計能力是重要的。應該選擇與學生日常生活有聯系的題目,如“學生成績管理系統”、“通信錄管理系統”等,由于學生對這些系統有一定的了解,所以,他們容易產生動手試試的想法,而完成這樣的任務,會使學生有成就感。
任務要求應該是可選擇的、可實現的,讓學生感覺自己有足夠的知識,有能力完成任務。陳述參考題目時僅需按真實問題的形式給出基本要求。考慮到每個同學生活環境、所掌握的知識與能力的差異,題目要有適當的難度層次,按基本要求、一般要求和拓展要求分層給出。不同層次的學生都能選擇適合自己的任務難度,并體驗到成功完成任務的快樂,以加強其自信心和對學科的興趣。
4.2改善學習策略,良好的元認知系統讓學生善于完成綜合性實驗
為學生描繪的任務目標應該是具體的、可觸及的圖景,這有利于學生形成清晰的目標并形成開發計劃。一年級的學生,沒有一個自己設計程序最終的具體圖景,也不明白自己要做什么,不知從何下手。所以,課程伊始,教師要提出綜合性實驗的任務,并展示一些往屆學生實現的系統。此外,教師在上課的過程中要做一些啟發性的引導,留一些“問題”給學生,這樣,可以為學生完成綜合實驗打下基礎,使學生在此基礎上“跳一跳就能觸及目標”。另外,還要讓學生學會“自頂向下”的結構化程序設計方法,這有助于提出階段性的子目標,確保實驗任務的順利完成,也有利于小組協作完成任務。
讓學生學會反思自己的學習過程,監控自己的學習過程,并及時調節目標和修改計劃,保證實驗步驟的有效性。在基礎知識學習階段,教師要注意引入軟件工程實踐原則,讓學生知道為什么要這樣設計數據結構和算法,清楚每一階段要做什么、得到了什么,與目標對比還需要做哪些改進,教師自己也應注意在平時的教學中運用這樣的思維方法。同時,也要要求學生在上機實踐的時候用心體會各個階段所做的工作并把握好進度,應用并學會程序設計的一般方法。另外,按軟件工程不同階段記錄的實驗報告有助于學生理清思路,檢驗自己的思維過程,以便及時調控學習過程。
讓學生獲得對自己學習結果評估的方法,為自己學習過程的調節提供反饋信息,樹立完成任務的信心,正確認識自己在本學科學習中獲得的能力。從基礎知識學習階段開始,就應讓學生學會設計基本的測試用例,通過觀察程序運行結果來檢驗程序是否達到題目要求,并根據檢驗結果對程序進行查錯和改進,學會評價自己設計的程序。到了綜合性實驗的最后階段,優秀作品的展示既是對小組的肯定,也是同學間互相學習和交流情感的機會。此時,讓一部分學生參與作品的評價既能避免教師評價的主觀性,又能讓學生了解外部評價的目標傾向,增加參評學生的榮譽感。
4.3優化知識結構,合理的知識系統讓學生能夠完成綜合性實驗任務
幫助學生建立良好而有序的知識結構,這有利于知識的記憶和提取。教師在引入新知識時要注意應用建構主義的思想,為學生創設一個問題情境,讓學生充分理解算法的應用條件,這有利于新知識的同化,促進知識結構的優化,促使陳述性知識向程序性知識轉化。此外,還應該提供相關的應用新知識的環境,使學生有機會應用所學的知識,通過反復練習達到自動化的程度。學生只有對一些基本概念和操作步驟達到自動化的水平后,才能在遇到復雜問題時為其分配更多的時間和精力,使實現程序性知識向策略性知識的轉換。
讓學生學會更新自身知識結構的方法。在完成綜合性實驗時,教師還應讓學生懂得從何處能獲取完成任務所需的資料。對于軟件系統來說,最重要的是弄清用戶的需求。因為很多實驗題目來源于身邊的真實環境,例如“醫院管理系統”和“超市管理系統”,可以鼓勵學生去了解現行系統的工作過程,界定自己將要重點完成真實系統中哪一部分功能。對于像“公交車模擬調度”這樣的程序,可以提示學生去了解“數據結構”中關于隊列的知識。另外,可以給學生介紹一些庫函數手冊和經典的C語言編程學習網站。
5結束語
完成C語言綜合性實驗是一個復雜問題的學習過程,教學中要解決學生完成任務的動力不足、學習策略欠缺、知識與技能基礎不夠的問題,需要自我系統、元認知系統和知識系統充分參與認知活動過程。
C語言綜合性實驗實施的過程中,根據馬扎諾學習模式,教師可以從三方面來提高教學效果:(1)實驗任務應該是有價值的并且是學生能勝任;(2)幫助學生確定任務目標,學會反思與調控程序設計的過程,學會正確評價學習的過程和結果;(3)幫助學生建立合理的認知結構,學會更新知識的方法。
程序設計能力的提升是一個在整個C語言教學過程中動態積累的過程,不是一次綜合實驗就能徹底改變的。因此,教師需要根據馬扎諾分類學的要求,從C語言課程整體的認知、情感、技能目標出發,安排一系列循序漸進的學習任務,甚至從學科群的角度系統考慮和安排學習任務與目標,唯有如此才能全面提高教學質量。
參考文獻:
[1] 黃榮懷,周躍良. 關于遠程學習特征的分析[J]. 中國電化教育,2003(3):75-79.
[2] 盛群力. 旨在培養解決問題的高層次能力——馬扎諾認知目標分類學詳解[J]. 開放教育研究,2008(2):10-21.
[3] Robert J. Marzano. John S. Kendall. The New Taxonomy of Educational Objectives [M]. 2th ed. Thousand Oaks, CA: Corwin Press,2007:53-60.
[4] 張宏如,沈烈敏. 學習動機、元認知對學業成就的影響[J]. 心理科學,2005(1):114-116.
[5] 汪玲,郭德俊. 元認知的本質與要素[J]. 心理學報,2000(4):458-463.
[6] 陳崗. 加拿大高校創新人才培養方式的啟示[J]. 中國大學教學,2007(11):92-95.
[7] 衷克定. SPSS for Windows數據統計分析工具應用教程[M]. 2版. 北京:北京師范大學出版社,2008:128-131.