王 勇,王忠群,謝曉東
(安徽工程大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 蕪湖 241000)
面向軟件方向課程群的《面向?qū)ο蟪绦蛟O(shè)計(jì)》教學(xué)研究
王 勇,王忠群,謝曉東
(安徽工程大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 蕪湖 241000)
針對目前課程教學(xué)中存在的問題,結(jié)合軟件方向課程群的教學(xué)內(nèi)容,將《面向?qū)ο蟪绦蛟O(shè)計(jì)》的教學(xué)深度融合課程群的教學(xué)中。采用項(xiàng)目驅(qū)動(dòng)的教學(xué)方法,將案例貫穿于課程教學(xué)乃至課程群的教學(xué)中。教學(xué)實(shí)踐證明,該教學(xué)方法能提高學(xué)生的學(xué)習(xí)興趣,增強(qiáng)學(xué)生的應(yīng)用能力。
軟件方向課程群;面向?qū)ο蟪绦蛟O(shè)計(jì);項(xiàng)目驅(qū)動(dòng)
《面向?qū)ο蟪绦蛟O(shè)計(jì)》與《數(shù)據(jù)庫原理及應(yīng)用》、《數(shù)據(jù)結(jié)構(gòu)及算法》、《操作系統(tǒng)》、《編譯原理》、《軟件工程》、《分布式計(jì)算》、《計(jì)算機(jī)網(wǎng)絡(luò)》等軟件方向?qū)I(yè)主干課程緊密相關(guān),自成體系,形成軟件方向課程群。近年來,關(guān)于軟件方向課程群的教學(xué)研究,已引起廣泛的關(guān)注。面向?qū)ο蟪绦蛟O(shè)計(jì)作為目前的程序設(shè)計(jì)的主流技術(shù),在整個(gè)軟件方向課程群的體系中占有舉足輕重的地位。但學(xué)生的程序設(shè)計(jì)水平不高卻是不爭的事實(shí)。教學(xué)實(shí)踐證明,編程水平直接決定學(xué)生的應(yīng)用能力,也是其他后續(xù)專業(yè)課程學(xué)習(xí)的基礎(chǔ)。因此,我們認(rèn)為如何提高學(xué)生的學(xué)習(xí)興趣、如何使得《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程與軟件方向課程一體化培養(yǎng)目標(biāo)是保證教學(xué)效果提高的關(guān)鍵。針對目前課程教學(xué)中存在的問題,結(jié)合課程群的教學(xué)內(nèi)容,將《面向?qū)ο蟪绦蛟O(shè)計(jì)》的教學(xué)內(nèi)容深度融合課程群的教學(xué)中。采用項(xiàng)目驅(qū)動(dòng)的教學(xué)方法,將案例貫穿于課程教學(xué)乃至課程群的教學(xué)中,以培養(yǎng)滿足社會(huì)需求的計(jì)算機(jī)相關(guān)行業(yè)的高級專門人才。
《面向?qū)ο蟪绦蛟O(shè)計(jì)》作為一門專業(yè)基礎(chǔ)課,其重要性可想而知。但一直以來,課時(shí)數(shù)較少,課堂教學(xué)只能涉及語言的語法層次,很多有應(yīng)用價(jià)值的教學(xué)內(nèi)容很難擴(kuò)展。經(jīng)過2008年的新一輪培養(yǎng)計(jì)劃修訂,這種情況有了一定的改觀(在培養(yǎng)計(jì)劃修訂中,我們提前了《面向?qū)ο蟪绦蛟O(shè)計(jì)》的開課時(shí)間,增加了課時(shí)數(shù)),但依然存在問題。我們認(rèn)為語言的學(xué)習(xí),應(yīng)該是循序漸進(jìn)。利用一學(xué)期的時(shí)間不可能將一門語言學(xué)透,語言課的學(xué)習(xí)應(yīng)該滲透到其他專業(yè)課的學(xué)習(xí)中。
現(xiàn)有的課程設(shè)置大多依據(jù)本課程的教學(xué)要求,未能從課程群角度考慮課程教學(xué)內(nèi)容的選擇,課程之間的聯(lián)系未能深度挖掘。課程內(nèi)容的設(shè)置往往都是孤立的,課程之間孤立容易形成學(xué)生理解的單一。學(xué)生學(xué)習(xí)某門課程只知道掌握該門課程的內(nèi)容而不知其與其它知識的應(yīng)用,學(xué)習(xí)體系差,不能觸類旁通。
作為一所工科院校,我們需要培養(yǎng)適應(yīng)21世紀(jì)社會(huì)主義現(xiàn)代化建設(shè)需要,德智體全面發(fā)展、基礎(chǔ)扎實(shí)、知識面寬、能力強(qiáng)、素質(zhì)高、富有創(chuàng)新意識的專門性高級人才。工程項(xiàng)目實(shí)踐是培養(yǎng)目標(biāo)完成的重要保證,缺少工程實(shí)踐會(huì)使得學(xué)生缺少競爭力。但目前我們的課程設(shè)置所涉及的有工程背景的實(shí)踐環(huán)節(jié)較少,實(shí)踐內(nèi)容相對較為陳舊單調(diào),學(xué)生參與科研的機(jī)會(huì)少。
專業(yè)特色是一個(gè)專業(yè)賴以生存與發(fā)展的基礎(chǔ),課程的設(shè)置有是特色形成的必要條件。如何設(shè)置課程才能顯現(xiàn)特色,一直未能引起足夠的重視。
軟件方向課程群包括《C語言程序設(shè)計(jì)》、《面向?qū)ο蟪绦蛟O(shè)計(jì)》、《操作系統(tǒng)》、《數(shù)據(jù)庫原理及應(yīng)用》、《計(jì)算機(jī)網(wǎng)絡(luò)》、《軟件工程》等專業(yè)主干課程及專業(yè)特色課程等。其課程群課程配置圖如圖1所示。
圖1 課程群課程配置圖
在整個(gè)課程群體系中,《面向?qū)ο蟪绦蛟O(shè)計(jì)》是專業(yè)基礎(chǔ)課程,其與其他專業(yè)課程的關(guān)系最為緊密。面向?qū)ο笳Z言如java語言,其教授的章節(jié)可以其他主干課程的教學(xué)內(nèi)容進(jìn)行映射。如Java語言中的線程的教學(xué)直接對應(yīng)操作系統(tǒng)的進(jìn)程管理與線程管理等內(nèi)容。按照教學(xué)安排《操作系統(tǒng)》是《面向?qū)ο蟪绦蛟O(shè)計(jì)的后續(xù)課程。學(xué)生在學(xué)習(xí)《面向?qū)ο蟪绦蛟O(shè)計(jì)》時(shí)無法利用操作系統(tǒng)的相關(guān)知識。因此,這也為Java語言程序設(shè)計(jì)的教學(xué)帶來了難度。我們對《Java語言程序設(shè)計(jì)》課程的教學(xué)內(nèi)容進(jìn)行梳理,其與其他課程的關(guān)系如表1所示。
表1 Java語言與其他課程的關(guān)系
課程結(jié)構(gòu)體系是指單個(gè)課程之間既相對獨(dú)立、又相互連結(jié)的有機(jī)整體,是按學(xué)生的認(rèn)知規(guī)律、能力培養(yǎng)規(guī)律和素質(zhì)形成規(guī)律科學(xué)地組合在一起形成的富有專業(yè)特色的課程系統(tǒng)。合理的、科學(xué)的課程體系是實(shí)現(xiàn)培養(yǎng)目標(biāo)、保證教學(xué)質(zhì)量的重要保證。它直接影響學(xué)生知識面的廣度和創(chuàng)新能力的培養(yǎng)。針對計(jì)算機(jī)相關(guān)專業(yè)的特點(diǎn),深入研究計(jì)算機(jī)軟件課程群的課程體系是很有必要的。軟件方向課程之間關(guān)系緊密,我們應(yīng)該充分研究各門課程的內(nèi)容及其彼此之間的關(guān)系,采用以面向?qū)ο蟪绦蛟O(shè)計(jì)為驅(qū)動(dòng),構(gòu)建合理的課程體系。
針對課程教學(xué)中存在“課時(shí)較少,教學(xué)內(nèi)容很難擴(kuò)展”的問題,我們采用分級教學(xué)法。將《面向程序設(shè)計(jì)》的基本內(nèi)容如基本語法、gui編程、面向?qū)ο蟮暮诵闹R點(diǎn)在第二學(xué)期精講。將多線程、網(wǎng)絡(luò)編程、數(shù)據(jù)庫編程等高級主題分散在專業(yè)主干課中以選修課中精講。同時(shí),我們積極向?qū)W校申請將《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程提升與《大學(xué)英語》同等重要的地位。也就是說,將《面向?qū)ο蟪绦颉氛n程一分為四,分別為《面向?qū)ο蟪绦蛟O(shè)計(jì)Ⅰ,ⅡⅢ,Ⅳ》,在第六學(xué)期進(jìn)行編程認(rèn)證考試,考試成績與學(xué)位掛鉤。從而,提高學(xué)生學(xué)習(xí)計(jì)算機(jī)語言的重視程度,培養(yǎng)學(xué)生的應(yīng)用能力。
面向?qū)ο蟪绦蛟O(shè)計(jì)又是一門實(shí)踐性很強(qiáng)的課程,必須通過不斷的實(shí)踐才能真正掌握面向?qū)ο蟮暮诵乃枷牒挽`活多變的編程技巧。因此在進(jìn)行理論教學(xué)改革的同時(shí),必須加強(qiáng)實(shí)踐環(huán)節(jié)的管理與改革,發(fā)揮學(xué)生學(xué)習(xí)的主觀能動(dòng)性,培養(yǎng)出具有分析問題、解決問題能力和富有創(chuàng)新精神的學(xué)生,真正適應(yīng)小型軟件開發(fā)甚至是大型軟件開發(fā)的需要。我們認(rèn)真分析軟件方向課程群的實(shí)踐要求,凝煉以前多門主干課程所開的課程設(shè)計(jì)的教學(xué)要求,合并課程設(shè)計(jì)內(nèi)容,精華實(shí)踐內(nèi)容。提出以軟件方向課程群的培養(yǎng)目標(biāo)為導(dǎo)向的課程群設(shè)計(jì)內(nèi)容。采用層層遞進(jìn),分層教學(xué),從而使學(xué)生獲得實(shí)際項(xiàng)目經(jīng)驗(yàn)。
以項(xiàng)目驅(qū)動(dòng)的教學(xué)能提高學(xué)生的學(xué)習(xí)興趣與應(yīng)用能力,已受到到廣泛關(guān)注,并取得實(shí)際成效。但項(xiàng)目驅(qū)動(dòng)教學(xué)的關(guān)鍵在于項(xiàng)目的遴選和項(xiàng)目教學(xué)的持續(xù)型。由于單門課程項(xiàng)目驅(qū)動(dòng)持續(xù)的時(shí)間較短,很難擴(kuò)展項(xiàng)目內(nèi)容,通常是淺嘗輒止。很難給學(xué)生留下深刻印象,實(shí)際效果較差。實(shí)踐證明,單門課程的項(xiàng)目驅(qū)動(dòng)的效果遠(yuǎn)不如堅(jiān)持多門課程采用同一個(gè)項(xiàng)目的驅(qū)動(dòng)。所以我們遴選項(xiàng)目需符合下列條件:(1)符合當(dāng)前主流軟件的發(fā)展方向,具有一定的實(shí)用性。(2)符合軟件方向課程群的整體教學(xué)要求。(3)項(xiàng)目應(yīng)該具有專業(yè)特色要求。例如,我們選擇改進(jìn)經(jīng)典案例“petstore”作為項(xiàng)目案例之一,其應(yīng)用程序的主界面如圖2所示。
圖2 pet store的主界面
如何有效的面向軟件方向課程群將項(xiàng)目驅(qū)動(dòng)應(yīng)用于《面向?qū)ο蟪绦蛟O(shè)計(jì)》的教學(xué)中,激發(fā)學(xué)生學(xué)習(xí)興趣?我們認(rèn)為可按以下步驟實(shí)施:
(1)精講核心知識。當(dāng)前,在IT企業(yè)中,越來越多人開始使用Java,但是他們大多數(shù)人沒有做好足夠的思想準(zhǔn)備(沒有接受核心的面向思想的核心概念),以致不能很好駕馭Java項(xiàng)目,甚至導(dǎo)致開發(fā)后的Java系統(tǒng)性能緩慢甚至經(jīng)常當(dāng)機(jī)。很多人覺得這是Java復(fù)雜導(dǎo)致,其實(shí)根本原因在于:我們起初在學(xué)習(xí)面向?qū)ο笳Z言中對核心概念未能理解透或產(chǎn)生理解誤區(qū)。
所以,在項(xiàng)目案例相關(guān)內(nèi)容講解之前,需要對課程核心知識精講。對課堂上精講的內(nèi)容要求教師備課要充分,求精、求深,這樣才能讓學(xué)生把握講解內(nèi)容的來龍去脈,講解才能夠起到以一當(dāng)十、舉一反三的教學(xué)效果。如關(guān)于面向?qū)ο蟮幕舅枷肟梢越Y(jié)合面向結(jié)構(gòu)化程序設(shè)計(jì)的缺點(diǎn)引入,利用大量實(shí)例子講解類、對象、封裝、繼承與多態(tài)等基本概念。只有核心概念理解透徹才能夠把握項(xiàng)目的核心點(diǎn)。
(2)項(xiàng)目引入。在講解核心時(shí),可以很自然穿插講解項(xiàng)目的部分內(nèi)容。如對面向?qū)ο箢惖弥v解中,可以穿插講解“petstore”項(xiàng)目的類pet等。在主干課程《數(shù)據(jù)結(jié)構(gòu)》的講解中,可以“petstore”項(xiàng)目中的list類及購物車等。
(3)總結(jié)知識點(diǎn)、串聯(lián)項(xiàng)目。對項(xiàng)目進(jìn)行分析和講解。歸納、分析項(xiàng)目中涉及的知識點(diǎn)、難點(diǎn)及重點(diǎn)。同時(shí)要對學(xué)生的學(xué)習(xí)情況進(jìn)行分析,聽取他們的反饋意見,以便今后對該項(xiàng)目教學(xué)進(jìn)行改進(jìn)。還要對項(xiàng)目進(jìn)行歸納總結(jié),探索認(rèn)識問題的方法和解決問題的途徑,舉一反三,達(dá)到事半功倍的效果。
(4)項(xiàng)目實(shí)現(xiàn)與優(yōu)化。因?yàn)槊嫦驅(qū)ο蟪绦蛟O(shè)計(jì)所遴選的項(xiàng)目具有良好的擴(kuò)展型,并貫穿于軟件方向課程群。所以我們設(shè)計(jì)綜合性的面向課程群的課程設(shè)計(jì),對我們講解案例設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)原型。由于學(xué)生經(jīng)歷對該項(xiàng)目已具有較長時(shí)間的理解,可以更多的關(guān)注課題的高級技術(shù),如并發(fā)處理、系統(tǒng)架構(gòu)等。這樣可以減少多門課程開設(shè)多門課程設(shè)計(jì)的內(nèi)容重復(fù),提高學(xué)生的學(xué)習(xí)興趣。
構(gòu)建應(yīng)用型本科應(yīng)用人才的培養(yǎng)新模式,是高校人才培養(yǎng)改革的關(guān)鍵。針對計(jì)算機(jī)應(yīng)用型人才的培養(yǎng),我們面向軟件方向課程群的《面向?qū)ο蟪绦蛟O(shè)計(jì)》教學(xué)研究。從實(shí)施到現(xiàn)在,經(jīng)歷了三年,成效顯著。2010年,我院參加安徽省大學(xué)程序設(shè)計(jì)大三獲得一等獎(jiǎng)、畢昇杯大賽獲全國一等獎(jiǎng)1個(gè)、二等獎(jiǎng)3個(gè)。軟件方向課程群的教師有一名獲安徽省教壇新秀,主持安徽教育廳自然基金4項(xiàng)、蕪湖市自然科學(xué)基金3項(xiàng),企業(yè)產(chǎn)學(xué)研項(xiàng)目多項(xiàng)。借助項(xiàng)目支撐,大大提高了教師工程應(yīng)用能力。更重要的是,學(xué)生的學(xué)習(xí)興趣充分激活,綜合能力得到了顯著提高。
[1]張永,江澤濤,蔡虹.面向?qū)ο蟪绦蛟O(shè)計(jì)的教學(xué)研究[J].電腦知識與技術(shù),2006(2):227-228.
[2]朱清華.面向?qū)ο蟪绦蛟O(shè)計(jì)的教學(xué)改革[J].教書育人,2005(11):43-44.
[3]符蘊(yùn)芳,趙英豪.面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)改革與實(shí)踐[J].中國成人教育,2010(11):184-185.
[4]王文冰,李輝.以實(shí)例貫穿課堂的面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)改革[J].計(jì)算機(jī)教育,2011(1):91-93.
[5]陳優(yōu)良,李恒凱,徐昌榮.案例教學(xué)法在《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程中的應(yīng)用探討[J].新課程研究,2010(4):54-55.
Research on the Teaching of Object-oriented Programming Course Oriented to Software Curriculum Group
WANGYong,WANG Zhong-qun,XIE Xiao-dong
(School of Computer and Information,Anhui Polytechnic University,Wuhu 241000,China)
Aiming at the problems existing in teaching,combining with the teaching contents of software curriculum group,this article integrates the depth of Object-oriented Programming Course into curriculum group teaching,which adopts the project-driven method,running cases through curriculum teaching and curriculum group teaching.Our experience indicates that the means can improve students'learning interest and enhance their application ability.
software curriculum group;object-oriented programming;project-driven
G642
A
1009-3907(2012)04-0498-04
2011-09-28
安徽省精品課程建設(shè)項(xiàng)目,安徽教育廳教學(xué)研究項(xiàng)目(20100732);安徽高校省級優(yōu)秀青年人才基金(2011SQR L076);安徽工程大學(xué)教學(xué)研究項(xiàng)目(2009xjy24)
王勇(1979-),男,安徽舒城人,講師,碩士,主要從事分布式計(jì)算、軟件工程方面研究;
王忠群(1965-),男,安徽蕪湖人,教授,主要從事軟件工程方面研究。
責(zé)任編輯:劉 琳