鄭步芹+石魯生
摘要:該文針對(duì)《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》課程的現(xiàn)狀及存在問(wèn)題,提出了利用“項(xiàng)目案例驅(qū)動(dòng)”教學(xué)模式對(duì)C++課程進(jìn)行改革的方法,并給出了詳細(xì)的實(shí)施方案。
關(guān)鍵詞:項(xiàng)目案例驅(qū)動(dòng);C++;課程改革
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)02-0164-02
The Application of "Project-Case-Driven" in the Reform of C ++ Object-Oriented Programming
ZHENG Bu-qin, SHI Lu-sheng
(Suqian University, Suqian 223800, China)
Abstract: Based on the current situation and existing problems of "C++ Object Oriented Programming", this paper puts forward a method of reforming C++ curriculum by using "Project Case Driven" teaching model, and gives a detailed implementation plan.
Key words: project case-driven; C++; curriculum reform
1 《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》課程的現(xiàn)狀及問(wèn)題
《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》課程是軟件工程和計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)的面向?qū)ο蟪绦蛟O(shè)計(jì)的入門(mén)課程,也是重要的專(zhuān)業(yè)基礎(chǔ)課和必修課,在整個(gè)本科教學(xué)體系中占據(jù)特別重要的地位。根據(jù)學(xué)院的教學(xué)計(jì)劃,《C++面向?qū)ο蟪虒W(xué)設(shè)計(jì)》課程是在大一下學(xué)期開(kāi)設(shè)的,是以大一上學(xué)期開(kāi)設(shè)的《C程序設(shè)計(jì)語(yǔ)言》為基礎(chǔ)的,課時(shí)為48課時(shí)。
教育部在2015年10月發(fā)布了《關(guān)于本科高校向應(yīng)用型轉(zhuǎn)變的指導(dǎo)意見(jiàn)》。應(yīng)用型本科教育目標(biāo)是培養(yǎng)創(chuàng)新應(yīng)用型技術(shù)技能型人才,要求實(shí)現(xiàn)專(zhuān)業(yè)鏈與產(chǎn)業(yè)鏈、課程內(nèi)容與職業(yè)標(biāo)準(zhǔn)、教學(xué)過(guò)程與生產(chǎn)過(guò)程對(duì)接[[1]]。作為計(jì)算機(jī)和軟件工程相關(guān)的專(zhuān)業(yè)基礎(chǔ)課《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》課程也應(yīng)該朝著這一目標(biāo)進(jìn)行組織教學(xué)。但傳統(tǒng)的C++課程的教學(xué),教師注重的是知識(shí)點(diǎn)的講解,老師在講臺(tái)上講,學(xué)生在下面聽(tīng),老師講什么,學(xué)生聽(tīng)什么,學(xué)生知道所講知識(shí)點(diǎn)是怎么回事,但不知怎樣將其和工程實(shí)踐結(jié)合起來(lái)使用。通過(guò)這種方式培養(yǎng)出來(lái)的學(xué)生知識(shí)學(xué)習(xí)的主動(dòng)性不夠,缺乏思維能力,更談不上創(chuàng)新,和社會(huì)實(shí)踐需求有著一定的差距。鑒于此況,本文提出了在C++面向?qū)ο蟪绦蛟O(shè)計(jì)課程上采用“項(xiàng)目案例驅(qū)動(dòng)”教學(xué)法。
2 “項(xiàng)目案例驅(qū)動(dòng)”教學(xué)法
“項(xiàng)目案例驅(qū)動(dòng)”教學(xué)法是指將實(shí)際項(xiàng)目工程的思想引入到課程教學(xué)中,以實(shí)際項(xiàng)目作為主線,教師作為引導(dǎo),學(xué)生作為主體,是教師和學(xué)生共同完成實(shí)踐項(xiàng)目,是教學(xué)相漲的教學(xué)方式?!绊?xiàng)目案例驅(qū)動(dòng)”教學(xué)法用一個(gè)或幾個(gè)實(shí)際的項(xiàng)目貫通課程的各個(gè)知識(shí)點(diǎn)來(lái)講解整門(mén)課程,注重理論教學(xué)與實(shí)踐教學(xué)相結(jié)合;通過(guò)實(shí)際項(xiàng)目環(huán)境的講解提高學(xué)生的學(xué)習(xí)興趣,通過(guò)項(xiàng)目的講學(xué)做來(lái)提高學(xué)生學(xué)習(xí)的積極性、主動(dòng)性、創(chuàng)造性。
3 《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》教學(xué)改革
3.1“項(xiàng)目案例驅(qū)動(dòng)”在C++課程教學(xué)的應(yīng)用
3.1.1 項(xiàng)目案例的選取及劃分
項(xiàng)目案例的選取關(guān)系到整個(gè)項(xiàng)目案例驅(qū)動(dòng)教學(xué)的成敗,項(xiàng)目案例驅(qū)動(dòng)教學(xué)中的案例,不是上課舉得幾個(gè)針對(duì)知識(shí)點(diǎn)的簡(jiǎn)單案例,應(yīng)該具有一定的實(shí)際應(yīng)用場(chǎng)景、學(xué)生熟悉,能夠讓學(xué)生有所思考,并且能夠?qū)++課程大綱中的大部分知識(shí)點(diǎn)整合融合在一起。C++課程主要涉及類(lèi)和對(duì)象的基本概念、構(gòu)造函數(shù),析構(gòu)函數(shù),類(lèi)的靜態(tài)成員、友元函數(shù)、類(lèi)的繼承、類(lèi)的多態(tài)性、文件操作、運(yùn)算符重載等知識(shí)點(diǎn),常常用于編寫(xiě)操作系統(tǒng)、嵌入式、小游戲、管理系統(tǒng)等。據(jù)項(xiàng)目的難易程度及課程的知識(shí)點(diǎn)的特征,C++課程組老師選取在“校人員管理系統(tǒng)”作為課堂教學(xué)案例,“圖書(shū)借閱系統(tǒng)”為老師點(diǎn)講學(xué)生完成的案例,“飛機(jī)訂票系統(tǒng)”作為學(xué)生獨(dú)立分析完成的案例。
項(xiàng)目案例選取好后,需要將項(xiàng)目劃分一個(gè)一個(gè)的子項(xiàng)目,將課程的知識(shí)點(diǎn)融合到各個(gè)子項(xiàng)目中,層層推進(jìn),以利于課堂教學(xué)的正常進(jìn)行。以“在校人員管理系統(tǒng)”為例,在校人員管理系統(tǒng)包括人員管理、學(xué)生管理、教師管理、日期管理等模塊。例如在設(shè)計(jì)學(xué)生類(lèi)和教師類(lèi)時(shí)可以講解面向?qū)ο蟮幕靖拍钐攸c(diǎn)、類(lèi)和對(duì)象定義等知識(shí)點(diǎn)。在校人員管理系設(shè)計(jì)與C++課程知識(shí)點(diǎn)對(duì)應(yīng)關(guān)系如表1所示。
3.1.2 案例的實(shí)施
項(xiàng)目案例的選取及模塊劃分設(shè)計(jì)好后,項(xiàng)目如何在課堂實(shí)施講解,也是項(xiàng)目案例法教學(xué)的一個(gè)重要環(huán)節(jié)。因教授的對(duì)象是大一學(xué)生,基本沒(méi)有參與實(shí)踐項(xiàng)目的經(jīng)驗(yàn),所以在C++課程的第一次課的講解中,會(huì)告知學(xué)生本門(mén)課程的上課目標(biāo)及要求,演示課程所涉及的三個(gè)項(xiàng)目,講解項(xiàng)目和課程章節(jié)之間的聯(lián)系,讓學(xué)生對(duì)所做項(xiàng)目和C++課程有一個(gè)整體印象。在以后每一次課的講解中,首先教師引導(dǎo)學(xué)生利用所知所想先行分析子項(xiàng)目,而后教師點(diǎn)評(píng),由項(xiàng)目分析引導(dǎo)出課程知識(shí)點(diǎn),將知識(shí)點(diǎn)的講解融入于項(xiàng)目模塊的完成。例如在講解對(duì)象的概念時(shí),教師不是直接告訴學(xué)生什么是對(duì)象,而是讓學(xué)生以宿遷學(xué)院為例考慮在校人員管理系統(tǒng)中涉及哪些人,這些人又有哪些特點(diǎn),可以做什么事,由此引導(dǎo)出客觀存在的事物可以稱之為對(duì)象。再利用學(xué)生與教師有出生日期這樣的特征進(jìn)一步對(duì)對(duì)象的概念進(jìn)行擴(kuò)展引導(dǎo)出一切事物皆為對(duì)象。通過(guò)項(xiàng)目案例引導(dǎo)的方式讓學(xué)生對(duì)知識(shí)點(diǎn)有一個(gè)感性及理性認(rèn)識(shí),知道怎樣應(yīng)用知識(shí)點(diǎn)到項(xiàng)目的實(shí)際開(kāi)發(fā)中,最后教師點(diǎn)講分析要求學(xué)生學(xué)完的項(xiàng)目模塊,布置學(xué)生需要獨(dú)立自己分析完成的項(xiàng)目模塊。通過(guò)三個(gè)項(xiàng)目案例練習(xí),將理論教學(xué)和實(shí)踐有機(jī)的結(jié)合,培養(yǎng)學(xué)生分析問(wèn)題、解決問(wèn)題的能力,提高學(xué)生的動(dòng)手實(shí)踐能力。
3.2“項(xiàng)目案例驅(qū)動(dòng)”在C++課程設(shè)計(jì)中的應(yīng)用
課程設(shè)計(jì)是C++課程的綜合性實(shí)踐教學(xué)環(huán)節(jié),綜合利用所學(xué)知識(shí),進(jìn)行設(shè)計(jì)實(shí)踐,一般教師出題指導(dǎo),學(xué)生設(shè)計(jì)。C++課程設(shè)計(jì)計(jì)劃安排為一個(gè)半星期,一般安排在C++課程講解完畢,時(shí)間短,學(xué)生一般只能完成一些簡(jiǎn)單的程序,不能很好地鍛煉學(xué)生的綜合實(shí)踐能力,因此將實(shí)踐時(shí)間由一個(gè)半星期延展為十個(gè)星期。在課程講解的第八周,老師布置課程設(shè)計(jì)題目,由學(xué)生自行3個(gè)或4個(gè)分為一組選擇課題。分組學(xué)生按照軟件工程設(shè)計(jì)方法對(duì)課題進(jìn)行需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試,每位學(xué)生在其中充當(dāng)不同的角色,團(tuán)結(jié)合作完成課題。在考核時(shí),需要團(tuán)隊(duì)協(xié)作進(jìn)行演示報(bào)告,老師和其他同學(xué)提問(wèn)。教師根據(jù)團(tuán)隊(duì)演示、答辯、報(bào)告給予評(píng)定成績(jī)。
3.3網(wǎng)絡(luò)教學(xué)平臺(tái)的建設(shè)
用“項(xiàng)目案例驅(qū)動(dòng)”教學(xué)方法設(shè)計(jì)C++課程的教學(xué),可以很好的培養(yǎng)學(xué)生的綜合編程解決問(wèn)題的能力,但因課時(shí)的限制,有一些細(xì)枝末節(jié)的知識(shí)點(diǎn)可能處理得不好,為使“項(xiàng)目案例驅(qū)動(dòng)”教學(xué)法在C++課程中取得更好的教學(xué)效果,課題組老師借助超星泛雅建立C++課程的網(wǎng)絡(luò)教學(xué)平臺(tái)。在網(wǎng)絡(luò)教學(xué)平臺(tái)上,課題組教師放置了以微課形式錄制的知識(shí)點(diǎn)視頻、項(xiàng)目案例、課件、作業(yè)、大綱和參考資料等教學(xué)資料。登錄網(wǎng)絡(luò)教學(xué)平臺(tái),學(xué)生可以預(yù)習(xí)、復(fù)習(xí)和鞏固知識(shí),可以完成每章測(cè)試,可以發(fā)布討論、參與討論。教師可以布置批改點(diǎn)評(píng)作業(yè),可以回答學(xué)生的疑問(wèn),了解學(xué)生學(xué)習(xí)情況,根據(jù)學(xué)生學(xué)習(xí)情況對(duì)上課的進(jìn)度和內(nèi)容進(jìn)行適當(dāng)調(diào)整。
3.4 C++課程考核的改革
為適應(yīng)新形勢(shì)下應(yīng)用型教學(xué)需求,C++課程教學(xué)采用了“項(xiàng)目案例驅(qū)動(dòng)“教學(xué)模式,同樣C++課程考核也應(yīng)該隨之改革。傳統(tǒng)的期末考試方式為包含客觀的選擇題、填空題和主觀的編程題構(gòu)成的筆試,期末考試學(xué)生往往會(huì)采取背題和知識(shí)點(diǎn)的方式,不能夠很好的考察學(xué)生的編程思想和編程風(fēng)格,以及調(diào)試程序的能力。為加強(qiáng)學(xué)生動(dòng)手實(shí)際能力的考核,課題組老師經(jīng)調(diào)研討匯報(bào)將C++期末考試的方式由傳統(tǒng)的筆試考試改革為在機(jī)房上機(jī)考試。C++課程最終考核成績(jī)構(gòu)成為三個(gè)項(xiàng)目案例完成情況占20%,超星泛雅C++網(wǎng)絡(luò)課程中測(cè)試、任務(wù)點(diǎn)、討論完成情況占20%,平時(shí)考勤占10%,期末上機(jī)考試占50%。
4 總結(jié)
在《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》課程教學(xué)中引入項(xiàng)目案例驅(qū)動(dòng),符合高校應(yīng)用型教學(xué)的需求,以實(shí)際應(yīng)用項(xiàng)目為引導(dǎo),激發(fā)學(xué)生的學(xué)習(xí)興趣,引導(dǎo)學(xué)生使用面向?qū)ο蟮乃枷雭?lái)思考問(wèn)題并解決問(wèn)題,突出學(xué)生動(dòng)手實(shí)踐能力的培養(yǎng)。
參考文獻(xiàn):
[1] 教育部,國(guó)家發(fā)展改革委,財(cái)政部.教育部關(guān)于本科高校向應(yīng)用型轉(zhuǎn)變的指導(dǎo)意見(jiàn). 2015.10.