摘要:針對軟件開發(fā)類專業(yè)在人才培養(yǎng)中存在合格率低、學生編碼能力弱等狀況,根據(jù)軟件開發(fā)的能力需求特點,在分析現(xiàn)有軟件開發(fā)培養(yǎng)模式的基礎上,提出針對“軟件藍領”的逆向教學模式,結合高職軟件開發(fā)類專業(yè)的教學實際,在ASP程序設計課程中應用并取得較好的實踐效果。
關鍵詞:軟件藍領;教學模式;逆向教學;人才培養(yǎng)
軟件技術類專業(yè)是指在計算機類專業(yè)教學中以軟件開發(fā)、軟件維護、軟件工程管理等為主要專業(yè)定位,或是在此基礎上的專業(yè)領域軟件開發(fā)專業(yè)(例如游戲軟件開發(fā)方向等)[1]。近年來,整個軟件業(yè),出現(xiàn)了令人深思的現(xiàn)象。在計算機教育方面,軟件開發(fā)類專業(yè)得到了長足的發(fā)展,特別是在規(guī)模上,專門的軟件學院、含有計算機系的高職院校、含有計算機系的本科院校,每年輸出大量的軟件開發(fā)類畢業(yè)生。軟件人才的培養(yǎng)從數(shù)量上似乎已經(jīng)滿足了軟件行業(yè)的需要,甚至已經(jīng)有些過剩,但是,筆者也曾經(jīng)代表軟件企業(yè)進行過人才招聘,在對畢業(yè)生進行技術面試時,大多數(shù)畢業(yè)生不僅知識的面不豐富,對目前主流的開發(fā)技術了解甚少,在知識的深度上更是與實際開發(fā)相去甚遠,這已經(jīng)成為了軟件企業(yè)的掣肘。大量軟件企業(yè)找不到合適的人才,從側面反映了軟件類人才培養(yǎng)還沒有從根本上適應市場的需求,培養(yǎng)的人才合格率還太低[1]。
1現(xiàn)有軟件開發(fā)教育
傳統(tǒng)的教學方法即上課、練習、作業(yè)、考試等,此種方式實質上還是以課堂講授為主,只適合于教出傳統(tǒng)意義上的“好學生”,而且也只適合于傳授理論知識,并不適合實踐教學。然而目前軟件職業(yè)教育的現(xiàn)狀是:1)教育部要求的培養(yǎng)目標為畢業(yè)生要具備較強的實踐動手能力,最好能與企業(yè)實現(xiàn)人才培養(yǎng)的“無縫對接”,即學校培養(yǎng)的學生就是企業(yè)需要的人才。2)我國目前的國情決定了報考高職學院的學生錄取分數(shù)不會很高,即絕大多數(shù)學生都不是所謂的“優(yōu)等生”。3)教育部要求學制為三年。以上種種都決定了傳統(tǒng)的教學方法在本質上就不適合二年制軟件技術人才的培養(yǎng),因此唯一的出路就是探索新的教學方法[2]。
2 “軟件藍領”的逆向教學模式
2.1 “軟件藍領”的職業(yè)定位
比較軟件業(yè)發(fā)展比較成功的印度,可以考察目前我國軟件教育的改革思路。在印度,軟件從業(yè)人員從初級到高級人才結構呈“金字塔”形,占大部分的是初級軟件人才,也就是“軟件藍領”;而目前我國軟件業(yè)人才結構卻呈“橄欖”形,缺乏大量從事基礎軟件編程工作的“軟件藍領”。因此,很多學校、培訓機構都正著手培養(yǎng)“軟件藍領”[2]。如何培養(yǎng)“軟件藍領”是目前軟件學院、含有計算機系的高職院校應該探索的問題。
2.2 “軟件藍領”的職業(yè)素質
2006級的一名學生,在面試一家專門制作收費軟件的公司時,公司的軟件項目經(jīng)理在得知他在學校使用的是SQL Server數(shù)據(jù)庫,而不是Oracle時,并沒有放棄他,而是演示了Oracle的使用方法。到了第3天,項目經(jīng)理對他進行了Oracle的考核,發(fā)現(xiàn)他可以在Oracle的平臺上實現(xiàn)比較復雜的SQL查詢。接下來,項目經(jīng)理提供給他一個網(wǎng)站的源程序,讓他看懂其中的一個部分,并按要求進行修改。在第3天的考核中,該學生也達到了要求。最后順利地進入該公司。
從這個例子中,我們認識到,“軟件藍領”的培養(yǎng),目標就是達到對某幾個基本技能的熟悉,可以舉一反三就行。
2.3 “軟件藍領”的職業(yè)教育
軟件的開發(fā)過程常常是非常辛苦的,培養(yǎng)一個軟件藍領,除了要求他可以熟練掌握某項編程工具以及編程方法之外,更重要的還有耐心細致以及遇到苦難不屈不撓的職業(yè)道德素質。因此,正如文獻[3-5]中作者總結的那樣,職業(yè)教育主要分為兩個方面:職業(yè)技術教育和職業(yè)道德素質教育。軟件高職教育也是如此。目前,像高職類學校的??粕蠖疾荒芙邮荛L篇大論的講解,而且由于他們多年沒有養(yǎng)成良好的主動學習習慣,懶于動腦動手,所以老師們在課堂上的講解和練習效果并不理想;在職業(yè)道德素質教學上,傳統(tǒng)的理論講授學生既不愛聽也不理解,即使老師用實際案例來講,學生也只是聽熱鬧,沒有任何切身感受,當然就更談不上把老師所講的內容變?yōu)樽陨淼乃刭|修養(yǎng)了。因此筆者認為,學生的實踐動手能力和素質養(yǎng)成應該在實踐中培養(yǎng),要用環(huán)境來塑造人。
2.4 “軟件藍領”的逆向教育模式
之所以稱之為“逆向”,是先確定了技能目標,再由目標進行規(guī)劃教學,進行教學設計。這其實跟“基于工作過程”的思想是吻合的。但是,因為軟件開發(fā)技能的培養(yǎng)與其他工科類的人才有些不同,很多看似單項的技能,其實是不能完全像“基于工作過程”中提到的,把典型的任務和工作場景定下來,單項訓練。比如做一個“用戶管理經(jīng)典頁面”,這從軟件的需求來說是很典型的,很單項的,可以成為一個組件,單獨包含。但是學生在做的時候,其實就涉及很多復雜的知識點,如果強行地讓學生囫圇下去,是不能掌握這一單項技能的。
因此,我們的“逆向”,是先從實際應用中分割好技能目標。在教學的具體實施中,分成兩大階段。在講授必備知識時,還是采用“子任務驅動”;在模擬或真實項目實施中,采用“項目驅動”。
我們針對B/S模式的開發(fā)實際,從實際的企業(yè)出發(fā),“逆向”分析,把單項技能做了細化,如表1所示。
拿ASP程序設計這門課的教學為例,整個教學分成了兩大階段,4個步驟。第一步驟主要完成“熟練掌握SQL Server 2000數(shù)據(jù)庫”,讓學生可以熟練設計并實現(xiàn)一個數(shù)據(jù)庫。第二步驟主要完成“熟練腳本語言:Javascript”。第三步驟主要完成“熟練下列程序設計語言之一:ASP”。這三步驟構成了學習的第一個階段,目的是訓練出學生的單項技能,達到表1的要求。
在教學的第2個大階段,在教師的工作室中,完成模擬或商用項目。最先的模擬項目,大部分是對學院以及各系的網(wǎng)站進行維護和改版。很多這種網(wǎng)站,均采用了流行的CMS系統(tǒng),學生可以在大的框架上進行高效的開發(fā),讓他們在巨人的肩膀上看到軟件著重的開發(fā)思想和設計思路,從編碼員中開始成長。
這種針對“軟件藍領”的逆向教學模式目前已經(jīng)在我校2008級的學生中開始實施,效果比較明顯。
3結語
從根本上說,教學改革實質就是把適應計劃經(jīng)濟的教育改革為適應市場經(jīng)濟的教育,市場需要什么樣的人,學校就應該培養(yǎng)什么樣的人,學校一切行為的首要目標就是不斷提高教學質量以適應市場經(jīng)濟的需要。以上就是一個高職教育工作者對教學方法改革的一些想法和探索,以及產(chǎn)生這些想法所依據(jù)的思想。
參考文獻:
[1] 車戰(zhàn)斌. 軟件學科人才培養(yǎng)教學規(guī)律的再認識[J]. 計算