計算機類學生軟件系統(tǒng)設(shè)計能力培養(yǎng)
時間:2022-06-04 04:17:00
導語:計算機類學生軟件系統(tǒng)設(shè)計能力培養(yǎng)一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
隨著中國經(jīng)濟的迅猛發(fā)展,經(jīng)濟規(guī)模和經(jīng)濟領(lǐng)域不斷擴大;信息化程度也在不斷提高,政府對信息化建設(shè)的重視程度日益增強。目前,除了我國自身的信息化建設(shè)需要大量的軟件人才以外,還有大量的軟件外包在我國進行,現(xiàn)有的軟件技術(shù)人才遠遠不能滿足軟件開發(fā)公司的需要。盡管在爆發(fā)世界金融危機的2008—2009年,中國企業(yè)對軟件人才的需求也沒有減少,每年需求在60萬人左右。雖然每年有大量的高校計算機本科專業(yè)畢業(yè)生,但是,軟件人才仍存在較大缺口。在軟件人才供求關(guān)系上,出現(xiàn)了公司、企業(yè)招不到所需要的軟件人才,而計算機本科專業(yè)畢業(yè)生卻就業(yè)困難的局面。為此,我們對計算機本科專業(yè)學生軟件系統(tǒng)設(shè)計能力的培養(yǎng)方法和途徑進行研究,在計算機本科專業(yè)中培養(yǎng)一批適應社會需求的軟件系統(tǒng)設(shè)計人才,具有現(xiàn)實和重要的意義。
1軟件系統(tǒng)設(shè)計能力現(xiàn)狀與分析
多年來,我們從本校計算機本科專業(yè)學生的畢業(yè)實習、畢業(yè)設(shè)計,就業(yè)應聘、用人單位的考核及反饋的意見來看,學生較好地掌握了計算機科學與技術(shù)專業(yè)的基本理論和專業(yè)知識,具備了計算機的基本操作、程序設(shè)計方法、數(shù)據(jù)庫建立和網(wǎng)站建設(shè)等專業(yè)能力,有少數(shù)學生還具備了較強的軟件系統(tǒng)設(shè)計能力。從學生的就業(yè)情況統(tǒng)計分析來看,我校計算機科學與技術(shù)專業(yè)學生約有10%左右的學生受聘于軟件開發(fā)企業(yè),從事軟件系統(tǒng)的設(shè)計與開發(fā)工作。也說明我們現(xiàn)在培養(yǎng)的計算機本科專業(yè)的學生中,只有10-15%的學生軟件系統(tǒng)設(shè)計與開發(fā)能力得到軟件公司的認可,他們的軟件系統(tǒng)設(shè)計能力比較強的,能夠達到軟件公司的要求。但是,大部分學生的軟件系統(tǒng)設(shè)計能力相對較弱,不能滿足社會的要求。我們通過對本校計算機本科專業(yè)的課程體系結(jié)構(gòu)、教學過程的各個環(huán)節(jié)進行研究分析,認為學生的軟件設(shè)計能力還存在如下幾點不足:
(1)算法設(shè)計與分析能力不足。算法設(shè)計與分析是計算機本科專業(yè)學生編程的基礎(chǔ),是人類借助計算機解決實際問題的重要一步。但是,從教師的教學以及學生的學習,都沒有得到很好的重視。主要體現(xiàn)在:教師在程序設(shè)計課程的講授時,對算法分析與設(shè)計講解得不夠,只偏重于程序語句的解讀,忽視算法設(shè)計過程的講解和訓練;而學生也只滿足于課程簡單算法的代碼描述,不重視算法的分析與設(shè)計過程的練習,結(jié)果造成學生僅僅掌握了一些簡單問題的編程,而對較復雜的實際問題的程序設(shè)計則缺乏獨立的解決能力。
(2)學生讀程與編程量少,訓練不足。目前,學生閱讀程序量很少,主動找相關(guān)程序來閱讀理解的不多,大部分只是為了應對作業(yè)去查找一些相關(guān)的代碼。任課教師對學生有閱讀程序的要求,但真正對學生進行訓練和嚴格要求的卻不多,結(jié)果有部分學生看不懂常用算法的代碼或復雜一些的程序。學生在校期間,編寫的程序量少,大部分學生只滿足于完成老師布置的編程作業(yè),沒有再多做練習,有些學生四年時間編寫的代碼總量都不到5000行。但是,按照最基本的要求,計算機專業(yè)學生的編程至少應達到20000行到50000行以上的程序量[2]。因此,學生的軟件系統(tǒng)設(shè)計能力不足,這是一個主要的原因之一。
(3)軟件綜合設(shè)計能力不足,接觸的案例少。軟件系統(tǒng)設(shè)計是一個綜合設(shè)計過程,要求學生掌握軟件工程、數(shù)據(jù)庫、面向?qū)ο蟪绦蛟O(shè)計等多方面技術(shù)和具有綜合應用能力。但是,學生掌握的是分散的、各自獨立的技術(shù),綜合多門技術(shù)的軟件設(shè)計能力明顯不足,有些會做系統(tǒng)的界面,卻不會設(shè)計數(shù)據(jù)庫;有些系統(tǒng)界面和數(shù)據(jù)庫都建立了,卻相互不能連接;有少數(shù)學生直到畢業(yè)還設(shè)計不出一個能夠正常運行的簡單系統(tǒng)。原因是重視了各門課程的教學,而忽視了能夠提高學生軟件綜合設(shè)計能力的案例分析課程和綜合設(shè)計實踐課程的設(shè)置與教學。學生接觸的軟件系統(tǒng)案例少,沒有得到較為完整和系統(tǒng)的訓練。
(4)參與軟件系統(tǒng)開發(fā)的機會少,缺乏應有的鍛煉和實踐經(jīng)驗。很多學生的軟件系統(tǒng)設(shè)計水平僅停留在模仿教材的例子上,還談不上設(shè)計出能夠解決實際問題的系統(tǒng)。這與學生參與軟件公司項目開發(fā)或教師項目開發(fā)的機會少有很大的關(guān)系。目前,學生到軟件公司實習時間短,公司不愿意將開發(fā)項目這樣重要的任務交給實習生來完成,學生沒有機會直接參與公司的項目開發(fā),有些能參與,也只能參與其中的一小部分;教師承擔的開發(fā)項目能夠接納的學生數(shù)量有限,不能滿足學生的實踐需要。因此,學生缺乏軟件系統(tǒng)設(shè)計的實踐經(jīng)驗和應有的鍛煉。
2培養(yǎng)學生軟件系統(tǒng)設(shè)計能力的方法與途徑
2.1讀程與編程能力的培養(yǎng)
我們根據(jù)學生讀程量少,掌握常用算法代碼不多的情況,在編程基礎(chǔ)課程的教學中,采用“讀程目標管理”方法。要求任課教師在一門課程的教學中,必須為學生提供500個以上的程序作為閱讀材料,并對學生的讀程能力進行訓練。要求學生必須閱讀并理解500個以上的程序,學生通過閱讀掌握一些常用的算法。課程結(jié)束時,教師對學生進行單獨的讀程理解考核,如:給出一個程序,要求學生在規(guī)定的時間內(nèi)講解出程序?qū)崿F(xiàn)的功能或運行的結(jié)果。考核合格,給一定的學分,不合格,可以重考,直至合格為止。對于軟件系統(tǒng)設(shè)計課程,教師為學生提供1~2個實用系統(tǒng)的原代碼,作為案例讓學生閱讀理解;在此基礎(chǔ)上,要求學生閱讀不少于5系統(tǒng)的原代碼,以掌握面向?qū)ο筌浖到y(tǒng)的基本架構(gòu)、功能調(diào)用以及常用功能子程序的算法設(shè)計與實現(xiàn)。在擴大程序和系統(tǒng)原代碼閱讀量的同時,不斷提高學生的編程能力。我們采用“編程目標管理、逐門課程分解”的方法,將編程總量按照開設(shè)的語言設(shè)計課程的重要程度逐門分解編程量。如:假設(shè)要求每個學生四年的編程總量為至少要達到20000行,最好能達到50000行以上。則根據(jù)開設(shè)的C、C++或C#、、SQLServer、案例分析與設(shè)計等程序設(shè)計系列課程,要求學生每門課程的編程量都在5000行以上,最好能達到10000行以上。此外,還通過組織學生參加系級的、校級的、省級甚至國家級的程序設(shè)計大賽等形式,促進學生編程能力的提高。
2.2算法分析與設(shè)計能力的培養(yǎng)
在開設(shè)的專業(yè)基礎(chǔ)課程中,C語言程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)等課程對于培養(yǎng)學生的算法設(shè)計能力至關(guān)重要。我們采用“對算法步驟描述再用標準語言編寫代碼實現(xiàn),閱讀程序然后歸納出算法的步驟”正反雙向訓練的方法,以提高學生的算法設(shè)計能力。教師在課堂教學中,必須嚴格按照程序設(shè)計的過程和方法進行講解,對解決的問題首先要做好算法分析與設(shè)計,然后再用標準語言進行描述,并在學生的作業(yè)或編程練習中嚴格要求,使學生逐步養(yǎng)成編寫代碼之前,先作好算法的分析與設(shè)計,逐步培養(yǎng)學生解決實際問題的能力和方法。通過讀程訓練,反向要求學生描述程序?qū)崿F(xiàn)的步驟,歸納出程序?qū)崿F(xiàn)的功能。通過這樣正反兩方面對學生的算法分析與設(shè)計進行訓練,學生的算法設(shè)計能力就會得到切實的提高,從而促進學生編程能力的提高。
2.3軟件系統(tǒng)設(shè)計能力的培養(yǎng)
軟件系統(tǒng)設(shè)計是指在面向?qū)ο蟪绦蛟O(shè)計語言基礎(chǔ)上,根據(jù)軟件工程的設(shè)計原則、設(shè)計模式以及模塊化的設(shè)計方法,設(shè)計出一個比較完整的軟件系統(tǒng)構(gòu)架、前后臺界面、各模塊之間的調(diào)用關(guān)系以及各功能子模塊的詳細設(shè)計。我們通過以下三種途徑,提高學生的軟件系統(tǒng)設(shè)計能力。
(1)采用“案例教學與學生綜合設(shè)計訓練”相結(jié)合的方法,給學生開設(shè)《案例分析與設(shè)計》課程。通過實用的系統(tǒng)案例,對C/S和B/S系統(tǒng)的總體構(gòu)架、前臺、后臺設(shè)計、各模塊之間的調(diào)用、各功能子模塊的詳細設(shè)計進行逐項訓練。在此基礎(chǔ)上,要求學生參考系統(tǒng)案例進行軟件系統(tǒng)的綜合設(shè)計練習。根據(jù)實際的應用,設(shè)計出2-3個軟件系統(tǒng),并編程實現(xiàn)。
(2)采用“導師制和項目驅(qū)動”方法,通過軟件系統(tǒng)開發(fā)實踐活動,培養(yǎng)學生的軟件綜合設(shè)計能力。如:我們制訂了“兩個一”工程實施方案,實行本科學生導師制。導師讓學生參與自己的項目研究與開發(fā),或給出具有解決實際問題的項目,以項目方式驅(qū)動學生進行軟件系統(tǒng)的設(shè)計并實現(xiàn)。學生在導師的指導下,在畢業(yè)實習前,利用課余時間設(shè)計出“1個”軟件系統(tǒng)和“1個”網(wǎng)站,并以此作為衡量學生能否參與畢業(yè)實習的條件,以此促進學生軟件系統(tǒng)設(shè)計能力的提高。
(3)采用“學生參與教師的項目開發(fā)和到軟件公司實踐”相結(jié)合的方法,增加學生的實踐經(jīng)歷,提高學生的系統(tǒng)設(shè)計實踐能力。我們鼓勵有項目的老師吸收本科學生參與項目的設(shè)計與開發(fā),使學生盡量接觸到真正解決實際問題的項目開發(fā)過程中。另外,我們還與多個軟件開發(fā)公司簽訂“學生實習實訓示范基地”協(xié)議,建立長期穩(wěn)定的學生社會實踐基地。學生到軟件公司實踐基地分兩次進行,第一次由公司進行項目設(shè)計與開發(fā)過程的培訓,第二次是實習,學生根據(jù)公司的安排,參與到項目設(shè)計開發(fā)的各個開發(fā)小組,參與具體的項目開發(fā)工作。我們通過這樣的方法和途徑,不斷提高學生參與軟件系統(tǒng)開發(fā)的機會,使學生獲得更多的鍛煉和實踐經(jīng)驗,提高學生的軟件系統(tǒng)設(shè)計能力。
3實踐與效果
為了提高計算機本科專業(yè)學生的軟件系統(tǒng)設(shè)計能力,從2006年開始,我們在計算機科學與技術(shù)專業(yè)的多個年級按照上述方法和途徑開展教學活動,對學生的讀程、編程以及綜合設(shè)計能力進行訓練,取得了較好的成效,學生的讀程和編程能力得到了進一步的提高。在提高學生的軟件系統(tǒng)設(shè)計能力的實踐活動中,我們從如下三個方面開展實踐活動。第一,在學生中開展“兩個一”工程活動,實行本科學生導師制。2006、2007、2008級的計算機本科專業(yè)學生共計210多人、教師80多人次參與“兩個一”工程的活動,設(shè)計與開發(fā)出300多個初級的軟件系統(tǒng)或網(wǎng)站。其中,有些學生設(shè)計開發(fā)的系統(tǒng)或網(wǎng)站具有較高的實用價值和實用性。第二,派出8批次共160多名學生到實習實訓示范基地進行實訓和實習,直接參與了軟件開發(fā)公司的軟件項目設(shè)計與開發(fā)。第三,組織部分學生參加省級、國家級的計算機應用比賽、程序設(shè)計比賽,網(wǎng)頁設(shè)計等比賽,其中,8人次獲得國家級的獎項,16人次獲得省級獎項。通過幾年的實踐,學生的軟件系統(tǒng)設(shè)計能力普遍提高,學生的畢業(yè)設(shè)計完成得比以前更好、更完善,設(shè)計的系統(tǒng)功能更強、界面更漂亮、更實用。學生的就業(yè)率在不斷提高,能夠應聘到軟件開發(fā)公司工作的學生也在不斷增多。我們提出提高學生的軟件系統(tǒng)設(shè)計能力的方法與途徑,通過多年的實施與實踐,取得了較為理想的效果。
4結(jié)語
筆者對本校計算機科學與技術(shù)本科專業(yè)學生的軟件系統(tǒng)設(shè)計能力進行研究與分析,根據(jù)學生存在軟件系統(tǒng)設(shè)計能力不足的問題,提出了提高學生軟件系統(tǒng)設(shè)計能力的一些方法與途徑,并在教學中實施和落實,取得了較好的效果。我們將對它們作進一步的完善和凝煉,向更多的專業(yè)推廣。
- 上一篇:市教育系統(tǒng)學校招生工作通知
- 下一篇:市教育局學生防溺水通知