摘要:本文提出在教學過程中,采用分段、任務驅動的教學,培養學生對高級程序設計課程的興趣及正確的思維模式,加強實踐訓練和項目設計,注重教學過程的設計,從而提高學生的綜合素質。
關鍵詞:分段教學;任務驅動;實踐教學;教學過程
中圖分類號:G642
文獻標識碼:A
文章編號:1672-5913(2008)02-0023-03
1分段教學,有針對性地開展教學
C語言是一門實踐性比較強的課程,在課程設置上應該采取課堂教學和上機實踐1:1,使學生在聽了理論內容后立即能夠自己進行實踐,學習的目的在于應用,希望學生能夠重視實踐環節,不滿足于“上課能聽懂,教材能看懂”,而是自己去琢磨程序的思路和方法,鼓勵創新。
在教學過程中,對該課程采用分段教學,即將本課程的內容按結構分為4個階段,每個階段獨立學習與獨立參加考試,目的是為了讓學生在上一個階段掌握大部分內容的基礎上去學習下一個部分,直至全部內容系統地學完。我們將課程內容大致分成如下四個部分:
第一部分:
1. 概述
2. 數據類型、運算符和表達式
3. 最簡單的C程序設計──順序結構程序設計
第二部分:
1. 選擇結構程序設計
2. 循環結構程序設計
第三部分:
1. 數組
2. 函數
3. 預處理命令
第四部分:
1. 指針
2. 結構體和共同體
3. 文件
第一部分授課時間很短,雖然將數據類型、運算符和表達式作為一個部分,但在實際教學過程中,應將一些基本的數據類型、運算符和表達式融入到了一些最簡單的程序里面,即第一部分的2和3是融合在一起進行教學的。對學生來講,實例教法更合理,更能讓大家接受。如果單純地講數據類型,不僅比較枯燥,學生不易理解,而且一個一個去解釋需要更多課時。通過第一部分的學習和測驗,學生能夠掌握一些最基本的程序編寫方法。
經過第二部分的學習,一些高級的表達式等也都在選擇和循環中學到了,而且對結構化程序設計有一個大概的了解。切記,在這一部分的最后應該注意一些經典算法的講解,如階乘(遞歸與非遞歸)、猴子吃桃子問題等,強調對算法的掌握,如枚舉法、歸納法、迭代法等。第二階段學習以后,學生應基本上能夠編寫簡單程序了。
然后在第三部分對學生進行深入教學,數組和函數也比較重要,要求學生能夠自己定義各種類型的數組,能夠進行模塊化設計的程序設計,在數組中融入一些排序、插入算法,在模塊化程序中,將一些經典的算法放入其中。或者提供一些比較生動的函數(如簡單圖形、小游戲),可以是教師事先設計好子函數,要求學生插入主函數中運行,看運行結果,學習起來也比較輕松。第三階段就要求學生要獨立思考,學會編寫程序。
最后一個部分也是比較難的一個階段,指針是C語言的一個難點,但是有了前面三個階段的學習和測試鞏固,同學們能夠順利地接下來去學習。由實例引入,對學生講明其重要性,不要過分強調其難度,否則會讓學生望而生畏。
采取分段教學的實施,學生掌握知識的循序漸進的過程更加鞏固了。
2以任務驅動加強程序設計課程的實踐教學
2.1程序設計課程應強調實踐性環節
程序設計課程是一門實踐性很強的課程,包括課堂教學和實驗教學兩部分。實驗教學是課堂教學不可缺少的補充,實驗教學質量的好壞直接影響課程的整體教學效果和質量,只聽不練是學不好的,因此必須多編程、多上機調試。只有經過上機測試,編寫的程序達到了預期的目的,才能說是基本掌握了編程知識。因此,要加強實踐性教學環節。我們認為:
(1) 在教學計劃的安排上要增強實踐性教學的學時,最好達到理論和實驗學時比例1:1。
(2) 在教學過程中,作為教學主體的教師除了講述理論外,應盡可能地開設習題課,引導學生思考和給預學生自己分析問題的鍛煉機會。
(3) 在有限的設備條件下,學校盡量提供好的實踐環境和實踐機會,盡可能地開放實驗室和部分機房,鼓勵學生獨立進行工作,培養獨立思考的能力和創新精神。
2.2以任務驅動法實施實踐教學
在C語言程序設計課程的實驗教學中引入任務驅動,教學過程如圖1:

(1) 結合學生情況,精心設計任務
任務驅動實施實踐教學模式,根據教學目標和學生實際制定具有真實性、整體性、開放性、可操作性、和適應性的任務,在設計任務時,必須考慮到學生現有的知識結構和能力水平,讓學生調動原有的智力背景來構建新的知識體系。
(2) 分析任務、探索研究
提出任務后,讓學生討論、分析任務,根據實際情況提出問題,要采用先粗后細,逐步求精的方法,需要學生通過自主探索完成對問題的理解、知識的應用和意義的建構,在完成任務的過程中再去解決相應的問題。
(3) 邊學邊實踐,完成自主學習任務
在任務的引導下,學生邊學邊實踐。精心設計的任務貫穿整個學期,與理論教學進度相一致。邊學邊實踐的過程中,學生始終處于主體地位。在教師的引導下,學生充分發揮主動性和創造性,不僅讓學生親身感受認知的過程,而且培養提高學生解決問題實際能力和創新意識。實際上任務的完成標志著學生實踐能力的提高,學生也能體驗到任務完成后的成就感,從而激發他們進一步學習興趣和積極性。
(4) 協作學習,培養協作精神
由于C語言程序設計實踐的學時數是有限的,每位學生完成C語言程序設計的比較大的題,在時間上不允許,而求解方法單一,因此采用協作學習的方式來完成全部學習任務。
協作學習就是把學生分成小組形式,通過組內的合作討論,相互交流信息,取長補短,共同完成任務,通過協作學習,學生能夠相互啟發、相互促進,驅動學生更加強烈的創作欲望。學生們的動手操作能力和提出問題、解決問題的綜合能力在同學的交流合作、老師的啟發引導的良性循環中逐步得到培養。同時,協作學習還可以促進學生間良好的人際關系,進一步培養學生的協作精神。
3強化教學手段,建立和有效利用網絡輔助教學
采用良好的教學手段,可大大提高教學效果。C語言程序設計的教學可實現在多媒體教室進行教學,取代傳統的粉筆加黑板的教學模式,采用與教材配套的多媒體課件(教學自行制作的課件),真正貫穿精講多練的原則,圖文并茂,從根本上改善教學效果,提高教學質量,激發學生的學習興趣。
在網絡技術高速發展的今天,開發基于校園網的多媒體課件,并以校園網為中心,進一步發展基于Internet的教育網絡,才能更好地滿足現代教育的需求。基于網絡的多媒體課件的優勢在與它突破了時空的限制,增加了學習機會,有利于擴大教學規模,提高教學質量、降低教學成本。學生可以在自己方便的時間、合適的地點,按照自己的需要和方式,運用更加豐富的教學資源來進行主動學習。為此應建立C語言教學網站,在夠建網絡教學平臺時我們因注意以下幾點:
(1) 有待進一步擴充網絡資源
(2) 有待進一步提高教學課件制作水平
(3) 有待培養能創建、參與網絡文化的師資隊伍
(4) 有待創建多邊互動教學機制
(5) 有待創新教學模式
4采用科學合理全面的考核方式,培養學生動手能力
4.1綜合運用筆試、上機考試等多種考試形式
要想真正科學全面地考查學生是否建立了嚴謹的程序設計思想、是否具體有一定的上機編程能力,必須采用多種考試形式的結合,針對不同的知識類型采取不同的考試形式。如:考查學生的常識性知識可采用閉卷考試形式;考查學生知識轉化能力、應用能力、實際解決問題能力、自學能力等,可采用開卷考試形式。一定程度上講,開卷考試對學生的要求更高。而要考查學生上機實踐能力,如程序調試、改錯等可采用上機考試。一門計算機語言課程采用多種考試形式的結合才可以多方面、多角度讓學生自己認識到本課程的學習中存在的問題,繼而加以改進。
4.2引入多角度評定成績的因素,建立客觀、全面的考核機制
一張考卷決定學生在本門課程的學習中是合格還是重修未免失之武斷,成績的評定不能以一張試卷為準,要引入多方面的考核因素,如課堂作業、項目考核、期末考試等。項目考核是在學完一個單元或一階段教學內容后,教師要求學生做一個能夠表達自己已掌握該部分學習內容的項目。平時作業成績、階段性項目成績、期末考試成績三位一體的綜合評定方式,能夠比較客觀地反映一個學生關于該門課程的掌握程度。
5結束語
以上是我們對高級語言程序設計課程教學改革的一些研究,通過對該門課程的建設與教學改革,從不同角度培養學生思維方式和應用能力,以提高學生的綜合素質,培養學生的創新意識和能力,最終提高課程的教學質量。改革現行的計算機課程教學體系,打破舊的教學框架,形成一套教師教學方式、學生學習方式、考試方式等具有較高教學效果的教育方案,以適應人才培養的需要。
Research and Practice of Innovative Teaching of the course of C Language Programming
Abstract: The purpose of this study is to explore the impact and implementation of changes in teaching methods of the course of C Language Programming, which shall be deemed as the compulsory module for college level students who have undertaken a Computing degree program.
Keywords: Phase Teaching, Task Motivation, Practice Teaching, Teaching Process
收稿日期:2007-10
參考文獻
[1] 譚浩強. C語言程序設計[M]. 北京:清華大學出版社,2005.
[2] 程奎文. C語言教學方法探析[J]. 科學時代,2006,(12):111-112.
[3] 謝娟英. 大學計算機專業C與C++程序設計語言開設探討[J]. 計算機教育,2007,(50):22-23.
[4] 徐章艷. “C語言程序設計”實驗教學的探討[J]. 電氣電子教學學報,2004,(26):84-89.
作者簡介:黃俊(1962-),江西南昌人,信陽師范學院計算機科學與技術系副教授。
E-mail:huangjunxy@163.com