摘 要:掌握面向?qū)ο蟪绦蛟O(shè)計方法已經(jīng)成為計算機專業(yè)人才應(yīng)用與開發(fā)能力的重要要求。C++面向?qū)ο蟪绦蛟O(shè)計教學(xué)中,傳統(tǒng)的教學(xué)方式難以讓學(xué)生理解面向?qū)ο蟪绦蛟O(shè)計思想。為了提高讓學(xué)生更深入和全面掌握面向?qū)ο缶幊讨R,我們在教學(xué)中融入PBL方法,教學(xué)效果有顯著提高。
關(guān)鍵詞:C++;面向?qū)ο?;程序設(shè)計;PBL
中圖分類號:TP311-4
1 C++面向?qū)ο蟪绦蛟O(shè)計課程概述
面向?qū)ο蟪绦蛟O(shè)計是現(xiàn)階段程序設(shè)計的主流技術(shù)。C++面向?qū)ο蟪绦蛟O(shè)計語言也是近年來眾多領(lǐng)域廣泛應(yīng)用的一種計算機語言。它在C語言的基礎(chǔ)上擴充了面向?qū)ο髾C制而形成的一種面向?qū)ο蟪绦蛟O(shè)計語言。它既能進行面向過程的結(jié)構(gòu)化程序設(shè)計,也能進行面向?qū)ο蟮某绦蛟O(shè)計。與其他程序設(shè)計語言相比,C++語言簡潔、緊湊,功能豐富,表達(dá)能力強,使用靈活方便,目標(biāo)程序效率高,可移植性好,適合編寫各種軟件,尤其是系統(tǒng)軟件。
2 PBL教學(xué)方法
PBL(Problem-Based Learning)以問題為導(dǎo)向的教學(xué)方法,是基于現(xiàn)實世界的以學(xué)生為中心的教育方式。PBL教學(xué)法作為一種開放式的教學(xué)模式,對教師自身的素質(zhì)和教學(xué)技巧都有很高的要求,要求教師不但對本專業(yè)、本課程內(nèi)容熟練掌握,還應(yīng)當(dāng)扎實掌握相關(guān)學(xué)科知識,并要具備提出問題解決問題的能力、靈活運用知識的能力、嚴(yán)密的邏輯思維能力。善于調(diào)動學(xué)生積極性、寓教于樂、控制課堂節(jié)奏等技巧。
3 PBL融入面向?qū)ο蟪绦蛟O(shè)計的教學(xué)過程
3.1 預(yù)習(xí)準(zhǔn)備
PBL融入教學(xué)的成功開展,需要學(xué)生的主動配合。從準(zhǔn)備資料開始,預(yù)習(xí)課本知識,查閱大量的文獻(xiàn)資料,并積極與其它同學(xué)交流溝通,最后大家同心協(xié)力得出最佳結(jié)論。在準(zhǔn)備階段,讓學(xué)生自行分組,分組原則是學(xué)習(xí)成績和自學(xué)能力有差距的分在一組,學(xué)習(xí)基礎(chǔ)和學(xué)習(xí)能力好的成員可以幫助學(xué)習(xí)基礎(chǔ)差一點的成員。這樣的學(xué)習(xí)過程,花在前期準(zhǔn)備工作上的時間精力大大多于普通的課堂學(xué)習(xí),因此需要學(xué)生們有主動學(xué)習(xí)的自覺性,否則很難達(dá)到預(yù)期的教學(xué)效果和目標(biāo)。
3.2 提出問題,解決問題
問題創(chuàng)設(shè)與選擇PBL教學(xué)法是以能力提高為核心的教學(xué)方式,牽涉到理智探索、認(rèn)知策略和情感領(lǐng)域等。以問題為學(xué)習(xí)的起點,學(xué)生的一切學(xué)習(xí)內(nèi)容是以問題為主軸所架構(gòu)的。
例如,在講解繼承與派生解決代碼重用性問題的時候,關(guān)于基類成員在派生類中的訪問屬性可以提出問題。給出兩個存在繼承關(guān)系的類,一個是基類student,一個是派生類student1。學(xué)生編寫main函數(shù),完善程序。在main函數(shù)中建立Student1類的新對象A,通過訪問A的數(shù)據(jù)成員和成員函數(shù),了解基類成員在派生類中的訪問情況。公有、私有、保護三種不同繼承方式由三組學(xué)生試著做,各組學(xué)生代表總結(jié)基類成員在派生類中的訪問屬性規(guī)則。
class Student//基類
{
public:
void display( )
{cout<<\"num:\"< cout<<\"name:\"< cout<<\"sex:\"< private : int num; string name; char sex; }; class Student1: public Student //或private Student、 protected Student //派生類 { public: void display_1() { display(); cout<<\"age:\"< cout<<\"address:\"< private: int age; string addr; }; 在通過修改和完善程序的過程中,學(xué)生操作時出現(xiàn)編譯錯誤,相互討論也解決不了,老師引導(dǎo)學(xué)生改正編譯錯誤。三種不同繼承方式下,基類成員在派生類中訪問屬性總結(jié)出來了。學(xué)生的課堂總結(jié)交流被計平時分。學(xué)生總結(jié)過程中,會出現(xiàn)一些問題,老師及時點評糾正。 實驗課上,也是采用先分組,再布置任務(wù)。每個實驗里的任務(wù)有運行現(xiàn)有程序輸出結(jié)果,編程解決問題。很多現(xiàn)有程序存在一些小的語法錯誤,需要學(xué)生編譯修改。有問題,同學(xué)相互討論或請教老師。驗證性程序做完后,開始做編程題。每個編程題,學(xué)生要講解編程用到的思路(如類的定義,算法的設(shè)計等),其他同學(xué)可以提出問題,開展討論。最后由老師點評,對學(xué)生講解過程中出現(xiàn)問題進行糾正,對編程思路中設(shè)計到的重要知識點突出,起到一個“畫龍點睛”的作用。老師對學(xué)生講解過程給出評分,作為實驗平時分?jǐn)?shù)。在提出問題和解決問題過程中,從呈現(xiàn)知識的角度看,教師是導(dǎo)游和信息咨者,學(xué)生是知識的探索者。 4 結(jié)束語 傳統(tǒng)的教學(xué)形式是“以教師為主體,以講課為中心”,采取大班全程灌輸教學(xué),學(xué)生始終處于消極被動地位。PBL的教學(xué)形式是“以學(xué)生為主體,以問題為中心”,在教師的整體把握和指導(dǎo)下,強調(diào)學(xué)生的主動參與。傳統(tǒng)的評估體系是在整門課程進行結(jié)束后進行統(tǒng)一考試。PBL的教學(xué)形式是根據(jù)每次學(xué)生發(fā)言的次數(shù)和質(zhì)量,在一個學(xué)習(xí)模塊結(jié)束后,進行客觀考核。傳統(tǒng)教學(xué)形式實際效果是學(xué)生處理問題的思維、表達(dá)能力均低于PBL學(xué)生。PBL學(xué)生善于探索,具有較強的發(fā)散思維,人際交流和處理問題的能力,有正確的專業(yè)思想。 參考文獻(xiàn): [1]劉曉勇.“基于PBL的教學(xué)模式在面向?qū)ο蟪绦蛟O(shè)計課程中的應(yīng)用[J].廣東技術(shù)師范學(xué)院學(xué)報,2013(07). [2]王磊,蔡紹峰.C++課程在應(yīng)用型本科院校中的新型教學(xué)模式[J].赤峰學(xué)院學(xué)報,2013(02). [3]張雪伍,常晉義.計算思維在C++程序設(shè)計教學(xué)中的應(yīng)用[J].計算機教育,2013(13). [4]譚浩強.C++面向?qū)ο蟪绦蛟O(shè)計[M].北京:清華大學(xué)出版社,2006. [5]劉建華.計算機語言類課程教學(xué)模式初探[J].高教論壇,2005(01). 作者簡介:謝晉(1978-),湖北漢川人,女,講師,碩士,研究方向:計算機應(yīng)用。 作者單位:湖北理工學(xué)院 計算機學(xué)院,湖北黃石 435003 基金項目:湖北理工學(xué)院2012年度校級教學(xué)研究立項項目(項目編號:201231);2014年湖北省教育科學(xué)“十二五”規(guī)劃研究課題立項項目;湖北理工學(xué)院校級青年項目(項目編號:13xjz05Q)。