尤菲菲,尚曉麗,張睿楠
(綏化學院,黑龍江 綏化 152061)
利用PBL教學模式提高教學質量研究
尤菲菲,尚曉麗,張睿楠
(綏化學院,黑龍江 綏化 152061)
以程序設計實踐課程為例,提出PBL教學模式的教學目標及內容,闡述了以“問題”作為教學起點,通過小組教學形式,運用PBL教學模式提高學生的主動學習能力,增強學生動手操作能力,促進學生團隊合作能力,并在此基礎上總結提煉出采取PBL教學模式進行教學的優勢.
PBL;教學模式;教學改革
程序設計課程作為理工類專業的基礎應用課程之一,目前越來越受到廣泛重視.結合綏化學院 “建設應用型大學,培養應用型人才”的辦學思路,程序設計課程教學質量的提高對改善學校整體教育教學質量具有重大意義.程序設計實踐作為程序設計課程的后繼課程,該課程在鞏固已學程序設計基本知識基礎上,旨在培養學生的程序設計技能.因此,針對PBL在我國大學教學實踐中的應用,結合我國程序設計類課程的發展現狀,在程序設計實踐課程中引入PBL教學模式,能夠在很大程度上改變舊的培養模式,為程序設計類課程的發展提供一種新思路.
PBL(problem-based learning)是一套設計學習情境的完整方法,它從一個需要解決的問題開始學習,由學生對問題展開探究,采用討論法、研究法及個案分析法等方法,解決實際問題(過程類似學科專家的研究過程).
程序設計實踐課程采用PBL教學模式,以問題為基礎,以學生為主體,以教師為引導,以培養學生的應用能力為教學目標,在充分調動學生的主動性和積極性的基礎上,最大限度地發揮教師的作用,更好地鍛煉學生的程序設計實踐能力.學生通過需求分析,總體設計,詳細設計及編碼,并通過小組討論,小組內作品是公開分享的,各小組組長間還可以采取互助形式,向其它小組“取經”.最終設計出一組完整的系統模型,以實驗報告的形式上交,做為課堂學習的成果.課程全部實驗內容如表1所示:

表1 程序設計實踐課程全部實驗內容
過去的程序設計實驗課上,常用的教學方法有講授法,討論法,教學過程主要包括以下四點:(1)教師講解教材,把與本節課相關的內容講授一到多遍;(2)在學生掌握一定的知識前提下,對程序進行分析;(3)完成程序設計的全部或大部分內容,把主動權交給學生;(4)學生動手操作,教師下講臺幫助學生解決實驗過程中出現的問題.
本學期的程序設計實踐課,采用PBL教學模式,以問題為學習的起點,對教學過程進行了如下劃分:(1)教師把問題在課前一周發給學生,要求學生提前預習、查找相關資料;(2)課上由學生分組討論,主動研究問題的解決方案,教師只是引導性地提示學生解決問題的方法;(3)為減小難度,幫助學生梳理實驗步驟,把每個實驗劃分成若干個小實驗,要求學生以小組的形式合作完成;(4)小組提出問題,教師參與討論,提出解決問題方案,小組獨立完成實驗;(5)在有效時間內,要求小組學生把實驗合并為一,實現程序功能的完整;(6)要求學生完善實驗內容,課下書寫實驗報告.
例:學生成績管理系統(要求:設定期末考試科目,完成學生成績的錄入、增、刪、改、查,完成學生信息的保存及系統的退出,完成學生名次的排序).
4.1 課上分組討論(學生分組自主完成)
(1)需求分析:菜單功能,采用文本菜單界面;查看功能,可以顯示出學生的學號、姓名、成績、排名等詳細信息;添加功能,依次輸入學號、姓名、成績、排名等,提示是否繼續添加;修改功能,選中某個人的姓名時,可對學生的相應數據進行修改;刪除功能,選中某個人的姓名時,可對學生的相應數據進行刪除;查詢功能,要求能通過輸入姓名或者學號查詢學生的詳細信息;保存功能,輸入文件名(帶后綴名)后,即可將通訊錄信息保存到文件.
(2)總體設計:把系統劃分為多個功能獨立的簡單模塊,畫出系統的框架結構圖和總體流程圖,其中系統框架結構圖,如圖1所示.

圖1 系統框架結構圖
(3)詳細設計:由組長分工,要求每個組員完成指定的程序設計任務,畫出程序流程圖,并進行編碼及代碼整合.其中,編碼工作在整個工作流程里占1/3~1/2的時間,好的設計過程能夠極大地提高編碼效率.小組工作中最需要重視的是不同模塊之間的進度協調和小組成員之間的協作.其中,小組分工情況如表2所示.
(4)系統測試:學生成績管理系統設計完成后,通過黑盒測試,進行全覆蓋測試,保證系統功能的完整性,解決測試過程中出現的問題.

表2 小組分工情況統計表(例)
(5)系統優化:程序的書寫結構清晰,利于日后維護;盡量采用預處理命令方式來定義常數,能夠使用條件編譯(ifdef)的地方就使用條件編譯而不使用if語句;選擇合適的算法和數據結構;使用盡量小的數據類型;自加、自減指令和復合賦值表達式(如a-=1及a+=1等)能夠生成高質量的程序代碼,編譯器通常能生成inc和dec之類的指令;使用運算量小但功能相同的表達式替換原來復雜的的表達式.
4.2 教師引導學生正確操作
(1)分別與各小組學生共同討論的系統模塊劃分的合理性;程序至少劃分為input(),inCrease(),delete(),modify(),query(),save(),quit(),sort(),main()等多個子函數;
(2)指導學生畫出每個子函數的流程圖,采用visio以工程制圖的方式進行繪圖;
(3)對學生在子函數編碼中出現的問題進行指導,其中,最多的問題來自全局變量的應用和子函數中形參的定義,返回值的應用;
(4)引導學生優化編碼,簡化程序設計;
(5)把多個子函數整合,使整個系統可以運行,功能完整;
(6)進行黑盒測試,保證系統的穩定性.
4.3 教師總結課程內容
課堂教學通過小組合作解決問題的方式,與如何設計學生成績管理系統這個問題掛鉤,學習隱含在該問題背后的共性的與實際應用掛鉤的開發設計方法,提高學生用程序設計思想解決實際問題的技能和自主學習的能力.學生需要掌握的知識包括:(1)如何對小的系統進行需求分析;(2)為什么要進行總體設計;(3)文本菜單設計方法;(4)增、刪、改、查、排序算法;(5)文件的保存方法;(6)系統退出方法.
教學初期,完成學生分組,用問題驅動學生主動學習.小組組長認真負責,組員積極配合,學生的主動性被帶動起來,但課堂紀律受到一定影響,部分學生渾水摸魚,偶有閑聊事件發生.因此,小組成員劃分以四人為最佳,最多不超過5人.教師參與小組成員討論,并隨機抽查學生問題解決情況及小組最新工作進展情況,并加大組長負責制的力度.
教學中期,小部分小組成員由于種種原因,要求退換組或更換組長,根據學生的要求,結合實際情況進行相關調整.
教學后期,小部分學生不認真,過分依賴小組組長,等分工、少討論,對分工工作討價還價.要求組長注意工作量和工作內容分配的公平與公正.
與傳統的教學方式相比,采用PBL教學模式的優勢在于:
(1)以問題為學習的起點,通過課前預習,更好地鍛練學生的文獻檢索能力,團隊合作能力,自主學習能力等;
(2)為學生提供輕松、主動的學習氣氛;給學生充分的時間和空間表達自身觀點,并可以獲得來自其他同學和老師的有效信息,開闊學生思維,提高學生對問題的理解與掌握能力;
(3)以學生為中心,在一次又一次的討論與分析問題過程中,使學生主動掌握學習方法,提高學生發現(解決)問題的能力,提高學習效率;
(4)學生與教師真正意義上發生了角色互換.學生從被動的學習者轉變為學習的主人,教師從課堂的主宰轉變為為學生提供服務的指引者;
(5)更有效地利用實驗室機器,給學生提供更多的動手操作時間.
(6)提高教師組織管理能力,控制課堂節奏能力;
(7)教師有足夠的時間走下講臺與學生進行交流,真實地看到學生的實驗完成情況.
〔1〕于桂芹,廖安勇,郭運嬌,王軍.加強實踐教學,提高應用型人才培養質量[J].吉林華橋外國語學院學報,2010(01).
〔2〕郭志雄.“電子技術”課程實驗教學改革的探索與實踐[J].教育與職業,2011(03).
〔3〕關力凱.高職高專C語言程序設計教學改革的探索[J].職教論壇,2007(10).
G642
A
1673-260 X(2013)10-0252-02
綏化學院2012年度教育教學改革項目資助(JL201208)