車戰(zhàn)斌
摘要:本文分析軟件類專業(yè)與傳統(tǒng)專業(yè)能力提高規(guī)律的區(qū)別,指出軟件類專業(yè)傳統(tǒng)教學(xué)體系的不當(dāng)之處,認(rèn)為軟件類專業(yè)的專業(yè)基礎(chǔ)課實際上是提高專業(yè)技術(shù)水平的專業(yè)理論課,與傳統(tǒng)專業(yè)的專業(yè)基礎(chǔ)課有本質(zhì)的區(qū)別?;谶@一認(rèn)識,提出編制培養(yǎng)計劃的指導(dǎo)性原則。
關(guān)鍵詞 :軟件人才培養(yǎng);教學(xué)規(guī)律;培養(yǎng)模式;培養(yǎng)計劃
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B
軟件技術(shù)類專業(yè)是指在計算機(jī)類專業(yè)教學(xué)中以軟件開發(fā)、軟件維護(hù)、軟件工程管理等為主要專業(yè)定位,或是在此基礎(chǔ)上的專業(yè)領(lǐng)域軟件開發(fā)專業(yè)(例如游戲軟件開發(fā)方向等)。近年來,在計算機(jī)教育方面,軟件開發(fā)類專業(yè)得到了長足的發(fā)展,特別是在規(guī)模上,隨著全國35所示范性軟件學(xué)院的建立,全國各地也辦了類似的旨在培養(yǎng)應(yīng)用型軟件高級人才的軟件學(xué)院。然而,目前不容樂觀的是,軟件人才的培養(yǎng)從數(shù)量上說似乎已經(jīng)滿足了軟件行業(yè)的需要,甚至已經(jīng)有些過剩,但是從軟件企業(yè)傳來的信息確是軟件企業(yè)“不招應(yīng)屆畢業(yè)生”、大量軟件企業(yè)找不到合適的人才。這個一個側(cè)面反映了軟件類人才培養(yǎng),還沒有從根本上適應(yīng)市場的需求,培養(yǎng)的人才的合格率還太低。
目前,軟件類專業(yè)的教學(xué)改革可以說是個熱點,特別是教育部批準(zhǔn)舉辦的35所軟件學(xué)院都在教學(xué)改革上做出了很大成績。然而,大多教學(xué)研究都停留在實踐教學(xué)改革,課程體系改革等具體操作的層面上。對于軟件教育的規(guī)律是什么?軟件類專業(yè)與其他傳統(tǒng)學(xué)科有什么區(qū)別?研究者大都沒有給出系統(tǒng)的結(jié)論。
目前,軟件人才培養(yǎng)方面的研究和實踐,歸納起來有以下幾個方面的改革趨勢:
(1) 機(jī)制創(chuàng)新。國家示范性軟件學(xué)院和各地方的軟件學(xué)院都對軟件學(xué)院教學(xué)計劃的制定給予了較大的自由度。辦學(xué)收費標(biāo)準(zhǔn)也較高,使得軟件學(xué)院的硬件設(shè)施普遍較之普通院系優(yōu)越,這樣一定程度上提高了培養(yǎng)質(zhì)量。文獻(xiàn)[1-2]都對此進(jìn)行了有益的探討。
(2) 實踐環(huán)節(jié)改革。普遍把到企業(yè)實習(xí)看作是提高人才能力的好辦法。實際上一些重點院校的學(xué)生本身素質(zhì)和能力就較高,直接到企業(yè)實習(xí)效果較好,而大量普通院校的學(xué)生直接到企業(yè)實習(xí)實際效果并不太好。文獻(xiàn)[3-4]分別研究了這方面的改革情況。
(3) 本科教育職業(yè)化。把本科教育完全改造成技術(shù)培訓(xùn),完全扔掉本科教育基本培養(yǎng)規(guī)格。應(yīng)該說把軟件人才培養(yǎng)向職業(yè)培訓(xùn)轉(zhuǎn)化是對原來普通本科教育的一個極端化改革,但是如果沒有正確的軟件人才培養(yǎng)規(guī)律作指導(dǎo),這種改革勢必會造成軟件人才理論不扎實、后勁不足,所以,需要在對軟件人才培養(yǎng)規(guī)律的清晰認(rèn)識基礎(chǔ)上進(jìn)行改革。
本文分析了軟件專業(yè)與傳統(tǒng)專業(yè)的區(qū)別,指出了軟件專業(yè)與傳統(tǒng)學(xué)科,教學(xué)規(guī)律和認(rèn)識規(guī)律的不同之處,在此基礎(chǔ)上提出了軟件類專業(yè)教學(xué)計劃和課程體系編制的指導(dǎo)性原則。希望通過本文能夠為同行提供一個新的視角。
1軟件專業(yè)知識體系、能力提高模式與傳統(tǒng)學(xué)科的比較
專業(yè)教育對學(xué)生的作用可以歸納為兩個方面,一是專業(yè)、學(xué)科知識體系的逐步完善,二是解決學(xué)科問題能力的提高。圖1表示了學(xué)生培養(yǎng)過程中專業(yè)能力提高和知識能力提高示意圖。
圖1中虛線表示傳統(tǒng)學(xué)科的知識水平能力水平提高在大學(xué)教育過程中的變化,實線是軟件技術(shù)類專業(yè)的情況。
在學(xué)科領(lǐng)域中,傳統(tǒng)學(xué)科知識體系已經(jīng)比較完整,工程化設(shè)計、計算方法已經(jīng)相對成熟。學(xué)生知識提高的過程與能力提高的過程并不是完全同步的。大學(xué)教育單從學(xué)科能力提高方面說,可以說是一個比較封閉的過程,也就是沒有學(xué)專業(yè)課之前,幾乎無法使用專業(yè)的知識體系解決問題,就是說,解決專業(yè)問題能力的提高很大程度上是從學(xué)習(xí)專業(yè)課開始的。但是,由于傳統(tǒng)學(xué)科的設(shè)計、計算等都已經(jīng)比較成熟,對于同一個問題的解決方法基本差別不大,所以在學(xué)科基礎(chǔ)課學(xué)好的前提下,學(xué)生可以在很短時間內(nèi),就能使專業(yè)技術(shù)能力有比較大的提升。
軟件類專業(yè)則不同。一方面,即使沒有雄厚的專業(yè)理論基礎(chǔ),也可以學(xué)會基本的開發(fā)技術(shù)(專業(yè)技術(shù)),但是其開發(fā)能力、水平的提高,必須在繼續(xù)學(xué)習(xí)專業(yè)理論且不斷實踐中得到提高,其提高是緩慢的??梢哉f是一個漸進(jìn)的過程。學(xué)生入學(xué)一年級就可以直接接觸專業(yè)方法(即編程),具有初步的能力,然后隨著專業(yè)理論課程的學(xué)習(xí),在掌握知識的同時,逐步提高解決問題的能力,和解決問題的質(zhì)量。也即知識的積累和能力的提高是同步進(jìn)行、相互促進(jìn)的。
2對軟件學(xué)科教學(xué)體系的新認(rèn)識
傳統(tǒng)專業(yè)知識體系一般可由三部分組成:即自然科學(xué)基礎(chǔ)、學(xué)科基礎(chǔ)理論、專業(yè)知識和方法。例如針對自動化專業(yè),其自然科學(xué)基礎(chǔ)包括數(shù)學(xué)、工程數(shù)學(xué)、物理等;學(xué)科基礎(chǔ)知識包括電路理論、電機(jī)與拖動、電子技術(shù)、控制理論等;專業(yè)課主要包括兩個方面,一是工程化的控制系統(tǒng)設(shè)計方法,二是具體的控制電路及設(shè)備的選擇或?qū)崿F(xiàn)技術(shù)。這個體系的特點是,專業(yè)技術(shù)課的學(xué)習(xí)依賴于自然學(xué)科基礎(chǔ)(如數(shù)學(xué))。專業(yè)課的學(xué)習(xí)依賴于專業(yè)基礎(chǔ)課的知識體系。也就是說,傳統(tǒng)學(xué)科的知識體系可以說成是金字塔形。
而軟件類專業(yè)從大的方面雖然也可以分成自然科學(xué)基礎(chǔ)、專業(yè)理論、專業(yè)技術(shù),但是三者之間的關(guān)系卻和傳統(tǒng)專業(yè)有本質(zhì)的不同。專業(yè)理論知識依賴于自然科學(xué)基礎(chǔ),專業(yè)技術(shù)能力一定程度也依賴于自然科學(xué)基礎(chǔ);專業(yè)技術(shù)知識的學(xué)習(xí)對于專業(yè)理論的依賴并不明顯,而專業(yè)技術(shù)能力的提高卻依賴于專業(yè)理論的學(xué)習(xí)。也就是說,學(xué)會專業(yè)技術(shù)知識并不依賴于太多的專業(yè)理論,但是學(xué)好專業(yè)技術(shù),提高解決問題的能力,專業(yè)理論必不可少,并且起到不可替代的作用。
所以,要改革傳統(tǒng)軟件類專業(yè)的教學(xué)體系必須先從認(rèn)識軟件類專業(yè)和傳統(tǒng)學(xué)科的差異著手,將自然科學(xué)基礎(chǔ)、專業(yè)基礎(chǔ)理論、專業(yè)技術(shù)課程的傳統(tǒng)教學(xué)體系,改為自然科學(xué)基礎(chǔ)、專業(yè)技術(shù)先行,專業(yè)理論適當(dāng)延后的教學(xué)體系。
圖2粗略地表示出了兩種教學(xué)體系的區(qū)別。圖中橫坐標(biāo)是每個學(xué)期的學(xué)時數(shù),縱坐標(biāo)是學(xué)生在校的時間。在新的教學(xué)規(guī)律指導(dǎo)下的新的教學(xué)體系應(yīng)該適當(dāng)?shù)匮雍髮W(xué)習(xí)自然科學(xué)基礎(chǔ)的時間。專業(yè)技術(shù)包括利用開發(fā)語言開發(fā)平臺,后期是專業(yè)開發(fā)的實踐。專業(yè)理論逐漸展開,用專業(yè)理論課的學(xué)習(xí)促進(jìn)學(xué)生專業(yè)能力的提高。最終,學(xué)生的知識體系并沒有殘缺,但是在學(xué)習(xí)期間能力的提高更符合軟件學(xué)科的教學(xué)目標(biāo)。
不難看出,軟件技術(shù)類專業(yè)人才培養(yǎng)與傳統(tǒng)學(xué)科有著很大的區(qū)別。只有理解和遵循這些規(guī)律,才能更好地高效率地培養(yǎng)軟件人才。這些規(guī)律必須反映到人才培養(yǎng)方案的制訂中,否則,就不可能培養(yǎng)出符合市場需要的人才。雖然軟件類專業(yè)目前已經(jīng)多樣化,建立在軟件技術(shù)基礎(chǔ)上的專業(yè)和專業(yè)方向很多,但是作為軟件技術(shù)的核心能力和知識體系還是基本相同的。所以,軟件類專業(yè)的培養(yǎng)計劃制訂,必須遵守以下原則:
(1) 自然科學(xué)基礎(chǔ)課程寬厚原則。如數(shù)學(xué)是軟件技術(shù)類專業(yè)提高邏輯思維能力的重要課程,并且線性代數(shù)、離散數(shù)學(xué)、概率與數(shù)理統(tǒng)計等課程都會對程序員解決問題提供靈感。所以,在本科教學(xué)計劃中,應(yīng)該把自然科學(xué)基礎(chǔ)作為軟件類專業(yè)的最主要課程,同時在開設(shè)時機(jī)上,要改變過去必須在前兩年開設(shè)完畢的思維,可以分布在學(xué)習(xí)的各個學(xué)期。
(2) 以核心能力培養(yǎng)為主線,兼顧不同專業(yè)方向。軟件技術(shù)類專業(yè)無論專業(yè)方向如何,其核心能力都是相同的。概括來說就是兩個能力,即程序及軟件設(shè)計能力和軟件工程能力。這兩個能力,一方面是軟件技術(shù)能力,一方面是軟件工程能力,軟件工程能力也是以軟件技術(shù)能力為基礎(chǔ)的。所以,在進(jìn)行培養(yǎng)計劃制訂的工程中,必須把核心能力的培養(yǎng)放在首位,然后通過適當(dāng)?shù)挠嬎銠C(jī)科學(xué)、通訊原理、電子信息等了解性課程拓寬學(xué)生的專業(yè)領(lǐng)域。