李秀香
(晉中師范高等??茖W校,山西 晉中 030600)
[關鍵字] C語言程序設計;PBl模式;教學內容
C語言程序設計課是高等院校計算機類專業(yè)一門重要的專業(yè)課,也是計算機等級考試包含的種類之一,更是作為后續(xù)專業(yè)課程學習的前繼課程。通過這門課程的學習,不僅要求學生掌握C語言基本的語法和編程思想及方法,更重要的是培養(yǎng)他們的邏輯思維能力和舉一反三解決問題的能力。C語言程序設計課程作為一門典型的程序課,其本身枯燥、語法堆砌,會給學生造成一種只見樹木不見森林的感覺。教師講授這門課時,一般會發(fā)現(xiàn)內容多、學時短。兼顧上課進度,教師一般采用先講授理論知識、隨后上機演示操作、最后指導學生上機練習。這樣,在課堂上學生仍然是被動接受知識,在很大程度上限制了學生的創(chuàng)新能力和應用能力的提高。大學的教育與中學不同,大學教師不應僅僅教授已成形的舊知識,還應讓學生參與知識的拓展研究,培養(yǎng)學生的創(chuàng)新和研發(fā)能力。在大學中,研究、傳授及學習三位一體,環(huán)環(huán)相扣,教師的傳授與學生的學習,都是研究工作的重要環(huán)節(jié)。研究者不應僅僅研究,而應將研究成果傳遞給學生,教學內容應是正在研究的前沿的新知識。
隨著信息技術的飛速發(fā)展,結合C語言程序設計課程的自身特點,本文主要探究將基于問題的學習模式(Problem-Based Learning)應用于C語言程序設計課程教學改革中,從教材的設計理念、課程內容的處理、采取的PBL教學模式等多個角度,針對C語言教學中存在的問題,對C語言傳統(tǒng)教學模式進行改革。
PBL教學模式主要是以問題為基礎,以學生為中心,以任務驅動為主線,以小組協(xié)作為主導。該教學方法是由美國神經(jīng)病學教授麥克馬斯特在加拿大提出來的,經(jīng)過半個世紀的發(fā)展,如今已被延伸應用于各個教育領域,PBL的研究方向也已轉向了基于網(wǎng)絡平臺的學習設計方面。PBL教學可以促進學生敢于表達自己的意見及觀點,而對于教師及書本的觀點,他們也敢于質疑及挑戰(zhàn)。
筆者通過統(tǒng)計在中國知網(wǎng)上發(fā)表過的所有論文(包括博士、碩士和期刊),發(fā)現(xiàn)從2000年到現(xiàn)在共發(fā)表和PBL相關的文章共14656篇,其中有關教育領域的只占到不到20%,而醫(yī)學領域的文章高達80%。由此說明PBL理論在醫(yī)學研究領域研究的比較透徹、實踐應用開展得較好,而在教育領域里發(fā)展還不夠成熟,特別是在高校有關碩、博士論文對PBL研究非常有限。
針對PBL在我國各高校教學實踐中的應用,如果將PBL教學引入C語言程序設計課程教學改革中,將會改變程序設計課的教學現(xiàn)狀,提高教學質量,也為教師提供一種新的教學思路。
從社會需求的角度來看,C語言程序設計仍是持續(xù)火爆的編程語言之父,人才需求量穩(wěn)居第一,掌握好它,有利于提高學生將來的就業(yè)競爭力。從應用的角度看,許多信息基礎設施和重要系統(tǒng)都是用C開發(fā)的,C語言尤其在嵌入式、控制和數(shù)據(jù)庫領域應用廣泛,如運行效率要求較高的實時控制系統(tǒng)、設備驅動程序、嵌入系統(tǒng);任何含有微處理器的設備都支持C語言;超過一半的熱門方向直接或間接與C語言有關。從技術的角度看,C語言是一種高級語言,語法簡單精練,概念少,效率高,并能較好地反映計算機的特點,且數(shù)據(jù)結構豐富,更易于體驗程序設計的思想和算法的精髓?,F(xiàn)在流行的C++、Java、C#等都借鑒了它的思想、語法,所以學好C語言是學習這些流行語言的基礎。
C語言教材使用中常見的問題是:許多實例不實,是為解釋語法而設計的。由于C語言本身語法較多,教師在講授中偏重語法講解,沒有過多時間講解調試程序過程中出現(xiàn)的錯誤分析。雖重視內容,但忽視內容的組織。
編寫教材時,采用由底向上的程序設計方法到自頂向下的程序設計方法,由簡單的數(shù)據(jù)結構到復雜的數(shù)據(jù)結構。教材編排如圖1:
圖1 C語言教材內容組織
(1)利用問題驅動,循序漸進地進行
借助現(xiàn)代化教學手段,設計選擇典型問題,逐步引導學生自己分析解決問題,從而培養(yǎng)學生探究學習和協(xié)作學習的能力。如解決用C語言編寫猜數(shù)游戲程序時,采用自頂向下的模塊化程序設計。學生初看這個問題,確實有些難度,但是如果按圖2步驟循序漸進地編程實現(xiàn),會發(fā)現(xiàn)其實這個程序是很容易實現(xiàn)的。
一是建立健全綠色發(fā)展制度體系,讓美麗“顏值”變成經(jīng)濟產(chǎn)值。率先在全國探索推行GDP與GEP雙核算、雙運行、雙提升機制,實施綠色經(jīng)濟考評體系和綠色經(jīng)濟考評辦法,制定實施重點領域、重點行業(yè)、重點產(chǎn)品綠色評價標準,全面開展生物多樣性和生態(tài)系統(tǒng)服務價值評估工作,用制度把“綠水青山”量化為“金山銀山”。探索環(huán)境保護聯(lián)動執(zhí)法機制和損害責任終身追究制,提起云南省首例環(huán)境污染民事公益訴訟,堅決打擊破壞生態(tài)環(huán)境的違法行為。
圖2 猜數(shù)游戲
解決上述猜數(shù)游戲中明確小組分工,由兩位同學程序編寫與調試,兩位同學進行Word文檔制作,另兩位同學進行PowerPoint演示文稿制作。
(2)利用簡單編程,進行啟發(fā)誘導
用C語言的遞歸函數(shù)編寫求n!時,在編寫函數(shù)時對比使用自動變量和靜態(tài)變量時得到的結果,讓學生自己判斷解決該問題時選用正確的變量。如求10!時函數(shù)返回值類型定義為長整型即可,提出挑戰(zhàn)性的作業(yè)試求40!時,此程序是否可行,該如何解決。
(3)舉一反三,達到融會貫通
在C語言的循環(huán)結構中,常見三種循環(huán)控制方式和編程方法,以解決不同類型的問題。第一種計數(shù)控制的循環(huán)用于求已知循環(huán)次數(shù)的,如類似于1+2+3+……+100。第二種是條件控件的循環(huán),在這類程序中已給定循環(huán)結束的條件,如1-1/2+1/3-……+1/99-1/100+……,直到最后1項的絕對值<10e-4為止。第三種是標記控制的循環(huán),如給定條件到輸入數(shù)據(jù)為負數(shù)或0時為止。
在C語言程序設計教學中,使用PBL教學模式,根據(jù)每一個程序項目,從閱讀程序項目起,到提出問題、確定算法,再到繪制流程圖,直至編寫出完整程序和編譯調試程序,整個過程就是一個分析問題和解決問題的過程,在這個過程中學生通過小組協(xié)作討論,相互交流學習,教師可以引導學生新的語法和知識點,幫助他們在做中學,學中做,引導學生開拓思路,啟發(fā)學生在得到同一結果的同時提出多種解決方法。
(1)教案設計
在教案設計時,首先要明確教學目標,明確設計問題背景鋪墊、展示或導入方法,明確發(fā)現(xiàn)問題的角度和方式;其次是明確研究進行的形式;最后要明確研究結果表現(xiàn)形式。
(2)發(fā)現(xiàn)問題
(3)面向問題的學習方法
面向問題的學習方法,也是面向問題的教學方法,是國內外大學普遍推崇并證明有實效的方法。目前大多老師采用的是面向主題的教學方法。面向問題的學習方法也是提升學生的學習空間,并培養(yǎng)思考、探索及解決問題的能力,以適應不斷變化的學習環(huán)境。它是以一個個任務,通過教師的指導,小組協(xié)作方式進行的,通過不斷分析、總結和測試,得出結果。
(4)改革考試方式
C語言杜絕傳統(tǒng)的應試教育考試方式,盡量不用筆試;教師的考核盡可能在完成每個項目教學后,針對本項目,根據(jù)學生的掌握情況,分階段考核學生,考試結果作為平時成績。在此教學考核過程中合理地建立小組各成員的得分辦法;有機制地認定特色或創(chuàng)新。
在我們實際C語言教學中,圖3是PBL的具體實施過程:
圖3 PBL實施流程
本文針對C語言程序設計課教學中存在的問題,引入PBL教學模式。從課程設置的目的、教材編寫的理念、教學內容的組織、考核方式等多方面到PBL教學模式的具體實施進行闡述。PBL教學模式在程序設計課中的應用仍是今后研究的主要方向。