一级a一级a爱片免费免会员2月|日本成人高清视频A片|国产国产国产国产国产国产国产亚洲|欧美黄片一级aaaaaa|三级片AAA网AAA|国产综合日韩无码xx|中文字幕免费无码|黄色网上看看国外超碰|人人操人人在线观看|无码123区第二区AV天堂

軟件開發(fā)基礎(chǔ)知識

時間:2023-06-08 15:16:17

導(dǎo)語:在軟件開發(fā)基礎(chǔ)知識的撰寫旅程中,學(xué)習(xí)并吸收他人佳作的精髓是一條寶貴的路徑,好期刊匯集了九篇優(yōu)秀范文,愿這些內(nèi)容能夠啟發(fā)您的創(chuàng)作靈感,引領(lǐng)您探索更多的創(chuàng)作可能。

第1篇

解釋:

手機的軟件開發(fā)需要語言知識與計算機基礎(chǔ)知識。安卓需要Java基礎(chǔ),IOS需要OC基礎(chǔ)。

計算機基本知識包括算發(fā)與數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、數(shù)字邏輯等基礎(chǔ)課。而軟件工程專業(yè)與計算機科學(xué)與技術(shù)專業(yè)有完整的學(xué)習(xí)以上知識的方案。

介紹:

1、軟件工程:

是一門研究用工程化方法構(gòu)建和維護有效的、實用的和高質(zhì)量的軟件的學(xué)科。它涉及程序設(shè)計語言、數(shù)據(jù)庫、軟件開發(fā)工具、系統(tǒng)平臺、標(biāo)準(zhǔn)、設(shè)計模式等方面。

2、計算機科學(xué)與技術(shù)專業(yè):

第2篇

蘇州大學(xué)軟件工程專業(yè)以計算機科學(xué)與技術(shù)學(xué)科為基礎(chǔ),強調(diào)軟件開發(fā)的工程性,使學(xué)生在掌握計算機科學(xué)與技術(shù)方面知識和技能的基礎(chǔ)上熟練掌握從事軟件需求分析、軟件設(shè)計、軟件測試、軟件維護和軟件項目管理等工作所必需的基礎(chǔ)知識、基本方法和基本技能,突出對學(xué)生專業(yè)知識和專業(yè)技能的培養(yǎng),培養(yǎng)能夠從事軟件開發(fā)、測試、維護和軟件項目管理的高級專門人才。

其主干課程有高等數(shù)學(xué)、大學(xué)物理、物理實驗、線性代數(shù)、概率論與數(shù)理統(tǒng)計、程序設(shè)計語言、數(shù)據(jù)結(jié)構(gòu)、離散數(shù)學(xué)、操作系統(tǒng)、編譯技術(shù)、軟件工程概論、統(tǒng)一建模語言、軟件體系結(jié)構(gòu)、軟件需求和軟件項目管理等。

(來源:文章屋網(wǎng) )

第3篇

關(guān)鍵詞:校企合作;人才培養(yǎng);實踐教學(xué);人才培養(yǎng);軟件工程

中圖分類號:G646 文獻標(biāo)志碼:A 文章編號:1674-9324(2016)48-0024-03

一、引言

軟件工程是一個新興專業(yè),主要目標(biāo)是培養(yǎng)工程型、應(yīng)用型的專業(yè)軟件人才。隨著素質(zhì)教育改革的不斷推進,軟件工程專業(yè)的建設(shè)也面臨著全新考驗。軟件工程建設(shè)重在實踐,只有在不斷的實踐中才能提升學(xué)生的技術(shù)和技能,為社會提供適用的專業(yè)軟件人才。本文結(jié)合近年來我院軟件工程專業(yè)的建設(shè)實踐,探討校企融合下應(yīng)用型軟件工程實踐教育模式的改革,旨在培養(yǎng)具有動手實踐能力和創(chuàng)新意識、能很好地適應(yīng)市場需要的高素質(zhì)軟件工程應(yīng)用型創(chuàng)新人才。

二、應(yīng)用型軟件人才培養(yǎng)模式

軟件工程專業(yè)以計算機科學(xué)與技術(shù)學(xué)科為基礎(chǔ),強調(diào)軟件開發(fā)的工程性,要求學(xué)生在掌握計算機科學(xué)與技術(shù)方面知識和技能的基礎(chǔ)上,進一步熟練掌握從事軟件需求分析、軟件設(shè)計、軟件測試、軟件維護和軟件項目管理等工作所必需的基礎(chǔ)知識、基本方法和基本技能,突出對學(xué)生專業(yè)知識和專業(yè)技能的培養(yǎng)[1],使學(xué)生成為能夠從事軟件開發(fā)、測試、維護和軟件項目管理的高級專門人才。

1.強調(diào)專業(yè)實際應(yīng)用能力的培養(yǎng)。通過高校、企業(yè)雙方的合作融合,引入實訓(xùn)機制,形成以“3+1”模式為框架、產(chǎn)學(xué)一體化為特色的應(yīng)用型軟件工程專業(yè)人才實踐與創(chuàng)新能力培養(yǎng)平臺,并把在企業(yè)培養(yǎng)的1年時間分散在學(xué)生大學(xué)四年的學(xué)習(xí)過程中,使學(xué)生能不斷接觸軟件行業(yè)與企業(yè)[2],循序漸進,逐步加深學(xué)生對行業(yè)的認(rèn)識與理解。

2.目的是形成“工程化教學(xué)―課程實驗教學(xué)―基地實習(xí)實訓(xùn)―真實項目開發(fā)”的培養(yǎng)過程,建立“課程實踐―項目實訓(xùn)―項目開發(fā)”的教學(xué)、實訓(xùn)模式,引導(dǎo)學(xué)生樹立系統(tǒng)、科學(xué)的工程項目概念。

3.由學(xué)校和企業(yè)雙方共同研究制訂實踐教學(xué)方案、共同實施,目的是提高學(xué)生的動手能力以及解決實際問題的能力,使學(xué)生畢業(yè)后能很快適應(yīng)軟件企業(yè)的要求[3]。

4.每學(xué)年根據(jù)教學(xué)計劃以及教學(xué)實施的具體情況,在大一至大三期間,請合作企業(yè)選派資深工程師來校開設(shè)相關(guān)技術(shù)講座,并選擇部分專業(yè)課程由合作企業(yè)選派師資負(fù)責(zé)課程實踐教學(xué)、實訓(xùn)的具體實施,學(xué)生在大四的時候再集中到合作企業(yè)進行強化訓(xùn)練。該專業(yè)學(xué)生4學(xué)年期間的實踐活動簡表如下表1。

通過改革軟件工程專業(yè)的人才培養(yǎng)模式,結(jié)合“3+1”合作模式,借助企業(yè)的平臺,按學(xué)期逐步推進、鍛煉和提高學(xué)生的實踐能力和綜合素質(zhì),鍛煉學(xué)生適應(yīng)社會的需要,使學(xué)生能不斷接觸軟件行業(yè)與企業(yè),使其觀念及早融入社會,循序漸進地加深學(xué)生對軟件行業(yè)的認(rèn)識與理解[4],逐步形成“課程實踐―項目實訓(xùn)―項目開發(fā)”的教學(xué)、實訓(xùn)模式。

三、實訓(xùn)體系構(gòu)建

通過高校、企業(yè)雙方合作融合,將實訓(xùn)引入軟件工程專業(yè)的本科教學(xué)中,探索校企融合下應(yīng)用型軟件工程教育模式的改革。以JAVA專業(yè)實訓(xùn)為例,我們的實訓(xùn)目標(biāo)是提高學(xué)生的動手能力以及解決實際問題的能力,使學(xué)生畢業(yè)后能盡快適應(yīng)軟件企業(yè)的要求。在企業(yè)項目經(jīng)理和學(xué)院教師的共同帶領(lǐng)下,通過實訓(xùn)中的具體項目,將原來分散的專業(yè)知識系統(tǒng)化,把整個項目的實施過程,貫穿于學(xué)生理論知識學(xué)習(xí)的始終[5],使學(xué)生獲得綜合性應(yīng)用鍛煉,進一步了解標(biāo)準(zhǔn)軟件開發(fā)過程與規(guī)范,掌握軟件開發(fā)的基本技能,鍛煉其團隊協(xié)作精神。

1.實訓(xùn)內(nèi)容和階段。我們的實訓(xùn)分兩個階段進行:第一個階段的校內(nèi)專業(yè)實訓(xùn)為基礎(chǔ)實訓(xùn),一般以基礎(chǔ)性的、業(yè)務(wù)簡單的項目為案例,訓(xùn)練重點放在編碼實現(xiàn)上。第二個階段的企業(yè)工程實踐為大中型項目實訓(xùn),一般由合作企業(yè)從其案例庫中選擇其之前實踐過的真實項目作為案例,內(nèi)容涵蓋一個軟件項目開發(fā)的整個生命周期,目的是通過項目的強化訓(xùn)練過程,提升學(xué)生的基礎(chǔ)知識、基本技能和基礎(chǔ)技術(shù),熟悉企業(yè)級的運行環(huán)境和框架。兩個階段的實訓(xùn)都貫穿軟件項目開發(fā)的整個生命周期,包括項目管理、需求分析、技術(shù)儲備、系統(tǒng)設(shè)計、編碼、測試、提交、項目評審等階段,但第一個階段側(cè)重于技術(shù)儲備,體驗軟件項目的開發(fā)過程,培養(yǎng)學(xué)生掌握軟件項目的調(diào)試方法和技術(shù)[6]。以JAVA實訓(xùn)為例,在技術(shù)儲備階段,第二個階段側(cè)重于項目的開發(fā)流程和各類項目文檔,培養(yǎng)學(xué)生養(yǎng)成良好的編程習(xí)慣、了解行業(yè)前沿應(yīng)用狀況和項目開發(fā)的業(yè)務(wù)流程和知識,提高學(xué)生的表達、溝通和團隊協(xié)作能力,進而養(yǎng)成良好的職業(yè)習(xí)慣。具體實訓(xùn)的內(nèi)容和階段如下圖1所示。

通過項目的實戰(zhàn)訓(xùn)練過程,提升學(xué)生的基礎(chǔ)知識、基本技能和基礎(chǔ)技術(shù),熟悉企業(yè)級的運行環(huán)境和框架。通過完成案例項目的需求分析、系統(tǒng)設(shè)計、編碼、集成、測試和項目評審過程的實踐,了解軟件項目的開發(fā)流程和規(guī)范。

2.實訓(xùn)目標(biāo)。我們的實訓(xùn)目標(biāo)按階段的不同,具體內(nèi)容也有所區(qū)別,要求學(xué)生實現(xiàn)的分段目標(biāo)的側(cè)重點也有所不同。

(1)第一個階段的校內(nèi)短期實訓(xùn):該階段屬于基礎(chǔ)實訓(xùn),在實訓(xùn)過程中引入單元測試技術(shù)、軟件工程、質(zhì)量管理和ISO體系概念,讓學(xué)生了解到企業(yè)軟件開發(fā)對質(zhì)量的要求和管理方法,提高學(xué)員對自己編寫的軟件的測試和調(diào)試能力,修正和增強學(xué)員對軟件測試和質(zhì)量的意識。在實訓(xùn)過程中引入新的Web標(biāo)準(zhǔn)、HTML5、CSS3、Canva、SVG等,為學(xué)生將來進入互聯(lián)網(wǎng)或移動開發(fā)領(lǐng)域,進行基礎(chǔ)知識、基本概念等的技術(shù)儲備。以JAVA實訓(xùn)為例,該階段的實訓(xùn)目標(biāo)如下表2所示。

(2)第二個階段的企業(yè)工程實踐:該階段為大中型項目實訓(xùn),在大三第二學(xué)期校內(nèi)短期的基礎(chǔ)實訓(xùn)、學(xué)生技術(shù)發(fā)展規(guī)劃的基礎(chǔ)上,按照J(rèn)ava方向、Android和PHP前端開發(fā)三個不同的專業(yè)方向,在合作企業(yè)實訓(xùn)基地分組進行項目實訓(xùn)。期間結(jié)合加強項目訓(xùn)練和創(chuàng)新創(chuàng)業(yè)指導(dǎo),培養(yǎng)學(xué)生的敬業(yè)精神、團隊精神;以及如何把個人價值觀和公司的價值觀進行有效的銜接。以JAVA實訓(xùn)為例,該階段的實訓(xùn)目標(biāo)如表3所示。

3.預(yù)期成效分析。通過校企融合,借助于校企合作平臺,探索應(yīng)用型軟件工程實踐教育教學(xué)模式:一是能使學(xué)生獲得實踐經(jīng)驗,提高學(xué)生的綜合素質(zhì)和就業(yè)競爭力;二是可為學(xué)生提供更多的與企業(yè)接觸機會,創(chuàng)造就業(yè)機會[7],擴大學(xué)生的就業(yè)渠道;三是可以為高校雙師型教師的成長提供平臺和環(huán)境。

(1)提高學(xué)生的綜合素質(zhì)和就業(yè)競爭力。有關(guān)統(tǒng)計信息表明:我國軟件專業(yè)畢業(yè)生,無論是本科軟件工程專業(yè),還是高職軟件專業(yè),其就業(yè)率和專業(yè)對口率都不是很高;另一方面,企業(yè)又普遍反映找不到合適的軟件人才。之所以會出現(xiàn)這樣的“兩難”局面[8],糾其原因在于目前高校軟件專業(yè)的培養(yǎng)與企業(yè)對軟件人才的需求不對稱,學(xué)生在學(xué)校所學(xué)的知識和技能無法緊跟市場,實踐動手能力方面相對較弱,與企業(yè)直接頂崗的要求存在比較大的差距。校企合作模式,能在一定程度上彌補這方面的不足。

(2)提升學(xué)生的就業(yè)能力,擴大學(xué)生的就業(yè)渠道。軟件工程的發(fā)展與信息社會的發(fā)展和需求是息息相關(guān)的,而目前高校該專業(yè)的教育模式仍然集中于過多過泛的基礎(chǔ)教育,教學(xué)方式仍然沿襲以理論講授為主的模式,導(dǎo)致學(xué)生的實踐能力與理論能力失衡[8]。因此,我們通過校企融合,整合優(yōu)化培養(yǎng)方案,圍繞培養(yǎng)目標(biāo),深化軟件人才培養(yǎng)模式改革。從第二學(xué)年開始,每個學(xué)年度請合作企業(yè)的資深工程師為同學(xué)們進行實踐訓(xùn)練,通過實訓(xùn),使同學(xué)們逐步對大型軟件的開發(fā)流程和方法有一個初步的了解,體驗軟件開發(fā)的工作氛圍,逐漸樹立基本的職業(yè)觀念,以便到畢業(yè)時,能很好地適應(yīng)軟件開發(fā)相關(guān)技術(shù)崗位,提升就業(yè)能力,創(chuàng)造就業(yè)機會,擴大學(xué)生的就業(yè)渠道。

(3)培養(yǎng)“雙師型”教師。在校企合作的基礎(chǔ)上,選派部分教師到企業(yè)參與相關(guān)項目開發(fā)實踐,培養(yǎng)教師的“雙師”素質(zhì),提升教師的工程經(jīng)歷和軟件項目設(shè)計、開發(fā)經(jīng)驗,了解大中型軟件項目設(shè)計開發(fā)過程,提高教師實際工程研發(fā)能力,為雙師型教師的成長提供平臺和環(huán)境,使專業(yè)教師得到工程能力的鍛煉和提高,為以后“任務(wù)驅(qū)動、項目導(dǎo)向”培養(yǎng)模式的開展提前做好師資儲備。

此外,通過校企融合模式,培養(yǎng)應(yīng)用型軟件工程人才,還可為企業(yè)培養(yǎng)更多優(yōu)秀的應(yīng)用型軟件人才。

四、結(jié)語

大學(xué)培養(yǎng)出來的軟件人才在層次上來說應(yīng)該是中高級的,他們受過良好的基礎(chǔ)教育和理論教育,但由于傳統(tǒng)的閉門造車式的培養(yǎng)模式,缺少實踐的機會,而且所教授的理論和技術(shù)跟不上企業(yè)的現(xiàn)實需求,導(dǎo)致傳統(tǒng)學(xué)歷教育模式培養(yǎng)出的軟件工程專業(yè)學(xué)生往往是理論知識有余而實踐操作經(jīng)驗不足,畢業(yè)生不能夠馬上和完全適應(yīng)企業(yè)的需要。因此,當(dāng)前高校軟件產(chǎn)業(yè)人才培養(yǎng)與實際需要存在著一定程度的脫節(jié),學(xué)歷教育與不斷變化的市場需求的矛盾相當(dāng)突出。而校企融合模式下應(yīng)用型軟件人才培養(yǎng)模式可以在一定程度上緩解這一矛盾,為企業(yè)培養(yǎng)更多優(yōu)秀的應(yīng)用型軟件人才。

參考文獻:

[1]柳嬋娟,鄒海林.基于校企合作的應(yīng)用型軟件工程人才培養(yǎng)模式研究[J].計算機教育,2011,(24):9-12.

[2]張廣泉,楊季文.面向校企合作的軟件工程人才培養(yǎng)模式探討與實踐[J].計算機教育,2008,(21):29-32.

[3]張麗.軟件工程本科專業(yè)校企合作人才培養(yǎng)模式實踐[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2015,(8):137-139.

[4]徐洪智,覃遵躍.校企合作共建軟件工程專業(yè)實踐教學(xué)體系[J].實驗室研究與探索,2013,32(6):128-130,160.

[5]王愛民,谷川.軟件工程專業(yè)校企合作實踐教學(xué)模式研究[J].實驗技術(shù)與管理,2012,29(1):143-145.

[6]范會聯(lián),仲元昌.基于項目驅(qū)動的軟件工程課程教學(xué)改革探索[J].教育與職業(yè),2013,(5):147-148.

第4篇

培養(yǎng)高質(zhì)量的軟件開發(fā)人才一直是社會和行業(yè)關(guān)注的焦點。早在11年前,對于工程教育的迫切性就被人提出來[1]。工程教育本身也作為一個系統(tǒng)問題被討論[2]?,F(xiàn)在從國家層面在戰(zhàn)略上建立了軟件學(xué)院進行專門培養(yǎng),各個高校也不斷推出新的課程、新的措施方案。在這一領(lǐng)域雖然比過去似乎已經(jīng)有了翻天覆地的變化,但來自企業(yè)的呼吁似乎一直反映出諸多不盡如人意。更多的思路希望將企業(yè)的力量直接引入到教學(xué),比如實訓(xùn)基地等[3];而國家層面也非常關(guān)注實訓(xùn)[4]。但實際效果可能變得流于表面,因為企業(yè)往往難以將核心的工作拿給學(xué)生做,而其訓(xùn)練的項目也并未從更全面系統(tǒng)的角度去設(shè)計,其鍛煉效果就有限了。在軟件開發(fā)這一領(lǐng)域,由于其具有變化迅速,新技術(shù)不斷涌現(xiàn)的特點,導(dǎo)致不少在教育內(nèi)容上選擇了追逐新技術(shù)、新語言、新平臺,以能用會用這些流行主流技術(shù)為目標(biāo)。典型的代表就是北大青鳥,有些二本的學(xué)生在畢業(yè)前專門花錢去青鳥學(xué)習(xí),似乎可以看到這種教育的優(yōu)勢。但另一個矛盾的情況是,往往那些關(guān)注員工后勁的公司卻不愿意招聘青鳥的學(xué)生。如果將目光投向國外的頂級大學(xué),例如斯坦福,其教學(xué)上并沒有去“依賴”校企合作,以及很熱門的“實訓(xùn)”。其核心課程依然是過去的傳統(tǒng)經(jīng)典課程。以一個研究生為例,一學(xué)期能修2門課是正常,3門就很優(yōu)秀。它并沒有追逐所謂的新技術(shù)。但無人質(zhì)疑其學(xué)生的工程能力、科研能力和創(chuàng)造能力。

2什么是計算機工程能力的核心

什么才是我們軟件開發(fā)教育的核心知識架構(gòu),怎樣才能培養(yǎng)學(xué)生可持續(xù)發(fā)展的核心競爭力?我們調(diào)查過一些非常高水準(zhǔn)的軟件開發(fā)者,發(fā)現(xiàn)他們往往在底層軟件上持之以恒地進行長時間深刻的鍛煉,然后在未接觸的新領(lǐng)域才能非常迅速地掌握核心。例如,一個非計算機專業(yè)的系統(tǒng)分析員曾經(jīng)“只”在DOS這種原始的操作系統(tǒng)下玩了10年,甚至自己寫過一個漢化的DOS。他只有書本上的一點點網(wǎng)絡(luò)知識時,就用一兩天時間解決了一個學(xué)通信的研究生1個月都不能解決的網(wǎng)絡(luò)故障。這是一個典型的例子,他并沒有“實際的”網(wǎng)絡(luò)經(jīng)驗,什么使得他如此輕松地進入了新的領(lǐng)域呢?而另一個曾就職于vmware、google等頂級公司的程序員,在Unix下只用C語言做了10年系統(tǒng)級編程。當(dāng)用Java,C++甚至是javascript時,其學(xué)習(xí)時間只是1天,很快就比做了幾年專門java編程的程序員還精通。如何才是軟件開發(fā)人員的本質(zhì)力量?什么才能讓他們在變化萬千的新技術(shù)面前屹立不倒,乘風(fēng)破浪?

2.1計算機工程能力

我們認(rèn)為計算機工程能力包含兩方面的內(nèi)容:(1)核心知識架構(gòu);(2)計算機的思維方式。什么是核心知識架構(gòu)呢?是反應(yīng)該領(lǐng)域最基本規(guī)律和支撐技術(shù)的知識。簡單地說就是傳統(tǒng)的操作系統(tǒng)、編譯、數(shù)據(jù)庫。操作系統(tǒng)將硬件、軟件、高級語言和匯編融匯在一起,它幾乎包括了軟件工程中所有重要的因素。舉一個簡單的例子,似乎只有面向?qū)ο筮@種“高級東西”才有的虛函數(shù)運用,其實在Linux中就有相應(yīng)的虛文件系統(tǒng)。操作系統(tǒng)是最為復(fù)雜的計算機工程之一。編譯融匯了大量的算法,而且能讓大家真正看“穿”語言的外表,深入到其內(nèi)里,體現(xiàn)了最根本的計算機技術(shù)。其優(yōu)化技術(shù),也深刻地和硬件交融在一起,很好體現(xiàn)了底層風(fēng)范。數(shù)據(jù)庫,不僅是運用算法最多的地方,甚至是超越操作系統(tǒng)的一個復(fù)雜的系統(tǒng),從緩存技術(shù)到i/o優(yōu)化,到索引,再到事務(wù)處理,無一不是反映計算機最深刻規(guī)律。大家可以發(fā)現(xiàn),所謂核心知識架構(gòu),都具有兩個特點,反映本質(zhì)規(guī)律,體現(xiàn)軟硬融匯交織。也只有這樣,才能建立下面談到的“計算機思維方式”。

2.2核心知識架構(gòu)

為什么我們沒包括一些新興的語言和技術(shù)呢?似乎它們很“實用”。而且已經(jīng)出現(xiàn)的問題是,按照傳統(tǒng)科目和方式學(xué)習(xí)后,學(xué)生在企業(yè)什么都不會。這也正是大家關(guān)注工程教育的初衷。為什么不強調(diào)這些新興實用技術(shù)的教育還在強調(diào)“古老”的“基礎(chǔ)”。計算機領(lǐng)域一個顯著的特點是,表面上知識更新非???,新技術(shù)、語言層出不窮。這很容易導(dǎo)致當(dāng)我們發(fā)現(xiàn)學(xué)生能力欠缺時,將問題歸罪于新技術(shù)的學(xué)習(xí)不得力,知識結(jié)構(gòu)老化。但其實目前的問題可以從另外一個角度考慮,是否是基礎(chǔ)教育不得力?分析國外著名大學(xué),如斯坦福、伯克利的課程,我們發(fā)現(xiàn)兩個特點:(1)關(guān)鍵的基礎(chǔ)課程,如操作系統(tǒng)、編譯原理、數(shù)據(jù)庫,始終是其最重要的課程,并沒有過分追逐各種“新潮”技術(shù)。(2)學(xué)生一學(xué)期能修的課程非常有限,一般為3門課。而國內(nèi)卻呈現(xiàn)相反的狀況,比如編譯原理被降到了選修課的角色,新潮課程層出不窮,一個學(xué)生二年級一學(xué)期要修13門課。在這種走馬觀花的狀況下,計算機這種具有強烈“手藝”色彩和工程實踐的學(xué)科,被完全紙上談兵化。而一些可憐的實驗內(nèi)容,還被學(xué)生的復(fù)制拷貝所湮沒。我們認(rèn)為,恰恰是這種情況,使得基礎(chǔ)核心知識教育沒有工程化,沒有充分動手,導(dǎo)致了基礎(chǔ)知識教育某種程度上的巨大失敗。從以下鮮明的對比可以窺見問題的端倪:國內(nèi)學(xué)生反映操作系統(tǒng)課程是文科課程(只需要背條款考試即可);而相對地,國外著名高校操作系統(tǒng)課程要求學(xué)生實現(xiàn)“小”操作系統(tǒng)。國內(nèi)數(shù)據(jù)庫只講其應(yīng)用(如大量講解sql等運用,sql即使非計算機專業(yè)人士也很容易學(xué)習(xí),這也是它被發(fā)明的初衷)。斯坦福的數(shù)據(jù)庫課程中有一門需要實現(xiàn)一個數(shù)據(jù)庫系統(tǒng)。在筆者走訪的計算機工程上優(yōu)秀的人才,發(fā)現(xiàn)其共同的特點就是在諸如操作系統(tǒng)或數(shù)據(jù)庫上都有很深入的學(xué)習(xí)經(jīng)歷,比如前面提及的自己構(gòu)建過漢化DOS系統(tǒng),或者在Unix下,做內(nèi)核以及驅(qū)動很多年等。而當(dāng)他們接觸新技術(shù)時,之前深刻的經(jīng)驗和淬煉的思維就讓他們?nèi)缁⑻硪?,快人一等。更有甚者,國外真正的最頂級專家,都是在這些領(lǐng)域有無與倫比水平的專家,從delphi的締造者,轉(zhuǎn)戰(zhàn)到微軟并入主.net平臺的開發(fā),也可看到雄厚的底層知識和能力的巨大作用。所以“老”知識并不是障礙,而是通向天堂的階梯。究其原因,就涉及到工程能力的第2個方面,計算機思維方式。

2.3計算機思維方式

對非專業(yè)人士它是很抽象的概念,而對真正專業(yè)人士,這又是一個非常鮮活的概念。這里限于篇幅,我們只舉一個簡單的例子。面對在C++中外部代碼如何直接修改私有變量的問題,計算機的思維方式就是:對象也是放在內(nèi)存中,只要能拿到對象的地址,并知道對象的布局,那么就可修改。而沒有建立這種思維的人,就完全被高級語言的語法所左右,無從下手。一句話,無法看到本質(zhì),沒有從下而上的底層思維。核心知識課程的有效深入教學(xué)和計算機思維方式建立有何直接關(guān)系呢?我們認(rèn)為核心知識因為其反應(yīng)了計算機本質(zhì)規(guī)律,而且從底層建立起來,所以對其深入掌握運用后,它從開始的逼迫到最后的陶冶,最終潛移默化地讓受眾建立起“計算機思維方式”。而這正是計算機工程師安身立命之本,就如同音樂家有其獨特的音樂思維方式一樣。為什么諸如java之類的課程于建立計算機基本思維不太合適呢?因為它更高層,無法讓學(xué)生看到最下面。而唯有徹底、深刻和系統(tǒng)的底層淬煉,才能真正建立起“計算機思維方式”。

3如何打造強大的計算機工程能力

大家一方面指責(zé)基礎(chǔ)課程的“空洞”、“無用”、“陳舊”;另一方面在不斷開設(shè)的海量新課和技術(shù)中壓得學(xué)生更加遠(yuǎn)離編程,遠(yuǎn)離實踐。即使能培養(yǎng)出熟悉某種語言的學(xué)生,也無法看到他們和培訓(xùn)學(xué)校有何不同。實訓(xùn)也似乎沒有根本解決問題,我們在實踐中發(fā)現(xiàn),往往是那些自己醉心于編程的學(xué)生最后有著卓越的表現(xiàn)。讓基礎(chǔ)知識能支撐和指導(dǎo)實踐,而非僅僅“符號”,并引導(dǎo)學(xué)生進行高效的實踐。

3.1“3塊連一線”,4門基礎(chǔ)課程整合打造核心知識架構(gòu)我們將4門基本課程進行貫通式整合,著力塑造學(xué)生的“計算機思維”。下層的是3門基礎(chǔ)課(在上一小節(jié)探討了其在工程能力訓(xùn)練上不可替代的重要地位),對軟件開發(fā)環(huán)境產(chǎn)生支撐。而軟件開發(fā)環(huán)境又通過精心的設(shè)計和工程實踐,從應(yīng)用角度將3門課程所學(xué)的知識串聯(lián)起來。從而將基礎(chǔ)知識和工程開發(fā)更有機整合在一起。首先,闡述為什么將以上課程整合在一起的理由。要回答這個問題,必須先回答什么東西支撐了優(yōu)秀程序員。在我們的調(diào)查人員中,無一例外地都具有很深厚的底層軟件開發(fā)背景。有長期從DOS的Hack入手的;有長期從事Unix內(nèi)核編程的;有從Windows的driver起步的;有以反匯編逆向為根基的。長期在最底層的經(jīng)歷,使他們建立了最真實和能觸摸的系統(tǒng)觀,能以計算機的方式思考。所以面臨新技術(shù)時,他們能透過新形式很快把握其精髓,深刻地把握其實質(zhì)?!疤栂旅鏇]有真正的新事物”,例如號稱21世紀(jì)最新的重要的軟件技術(shù)AOP(AspectOrientedProgramming,AOP),其實在20世紀(jì)60年代就出現(xiàn)在了匯編一級的軟件技術(shù)中,它本質(zhì)就是鉤子技術(shù)的系統(tǒng)化。在底層的軟件世界,我們不僅能夠用到那些所謂的最新的技術(shù),而且能看到其本質(zhì)(我們可能就是用機器碼自己構(gòu)建出來的,而不被新技術(shù)的華麗外衣障目)。這些使得具有底層經(jīng)驗的開發(fā)者,更有創(chuàng)造力,更能創(chuàng)造,也更能洞察迷亂后的本質(zhì),庖丁解牛,解決那些異常復(fù)雜的工程問題。舉一個筆者遇到的真實例子,一個具有深刻底層經(jīng)驗的程序員(一直只有C語言和操作系統(tǒng)編程經(jīng)驗)和一個只有深刻Java經(jīng)驗的程序員,在同時學(xué)習(xí)Javascript的閉包概念時,后者一個禮拜都還有些似是而非。前者很快就能自如運用,且最后指點了后者1個小時,后者頓時豁然開朗。這是典型的“新”與“老”,上層和底層經(jīng)驗在面對新事物時的對比。既然底層軟件賦予我們?nèi)绱藦姶蟮哪芰Γ敲茨男┦堑讓榆浖?大家公認(rèn),操作系統(tǒng)、編譯和數(shù)據(jù)庫由來就是計算機工程自身的根基。所以,我們必須將這3門課涉及的知識好好淬煉。而如何將3門課的知識和我們?nèi)粘5能浖_發(fā)聯(lián)系起來呢?如何用它們指導(dǎo)平時程序的開發(fā)呢(我們大多數(shù)是開發(fā)用戶級軟件,不會開發(fā)內(nèi)核軟件,因此許多人認(rèn)為幾乎整個在內(nèi)核中的操作系統(tǒng)對用戶級軟件開發(fā)無從指導(dǎo))?另一門課,《軟件開發(fā)環(huán)境》解決了這一問題。它有一條主線,通過反匯編將C語言和匯編串聯(lián)起來,讓系統(tǒng)級的知識從高級語言的面紗下展現(xiàn)出來。同時用逆向工程這把庖丁之刃,將編譯、鏈接、面向?qū)ο蟮溶浖_發(fā)中的重要知識塊剖剔,讓底層與上層貫通一氣。而逆向的技術(shù)技巧,本身也是非常高級的軟件開發(fā)技術(shù)。因此,我們用“3塊連一線”來總結(jié)4門課的關(guān)系是最好不過了。為什么不納入語言課程,比如C/C++語言?從我們的工程經(jīng)驗來看,語言只是計算機原理和思想的載體,是表述方式而已。為了表述形式而專門花大力氣是不值得的。比如,國外的著名大學(xué)很多都不開設(shè)語言課,在其他課程作業(yè)中必須用C語言編程,學(xué)生們就在那里鍛煉了。真正的語言的力量并非來自語言本身,而是底層知識為支撐的項目鍛煉。我們的思路是以構(gòu)建式完成大量的完整系統(tǒng)的編寫,這樣就很好鍛煉了軟件開發(fā)和工程能力。同時,“軟件開發(fā)環(huán)境”本身從逆向?qū)用嬉矊φZ言有了深刻的剖析,這是純粹的語言課難以完成的。另外,從大綱安排上,我們在大一就會讓學(xué)生用C語言來初步接觸程序編寫,這時并不適合放入太高級主題。而在教學(xué)中,語言的力量已經(jīng)滲透到一個個工程構(gòu)建中,隨風(fēng)潛入夜了。為什么不納入算法課程?從某種程度上,“程序就是算法與數(shù)據(jù)結(jié)構(gòu)嗎”?我們認(rèn)為在系統(tǒng)中運用算法,算法才具有生命力。而編譯、操作系統(tǒng)、數(shù)據(jù)庫以及我們專門設(shè)立的一些課程設(shè)計將全面運用各種算法和數(shù)據(jù)結(jié)構(gòu)。在實戰(zhàn)中運用并學(xué)習(xí)提升才是王道。這也正是構(gòu)建式學(xué)習(xí)的精髓所在,這也正是探索式學(xué)習(xí)培養(yǎng)學(xué)生的創(chuàng)造能力的精髓所在。算法課已經(jīng)為我們準(zhǔn)備了元件,就看你怎么去組裝甚至改造。

3.2以構(gòu)建主義的思路,深度實踐的風(fēng)格改革課程

前面我們論述了底層知識架構(gòu)的重要性,那么怎么來將它們實際地建立在學(xué)生的工程實踐中呢?簡單地說就是“構(gòu)建一個具體而微的系統(tǒng)”。講操作系統(tǒng)就構(gòu)建一個小操作系統(tǒng),講編譯原理就構(gòu)建一個小編譯器。同時,設(shè)計一些跨度較大的課程設(shè)計覆蓋這些課程的一些重點內(nèi)容。構(gòu)建完整系統(tǒng)本身就可真實淬煉工程能力,而這些內(nèi)容的復(fù)雜性、難度以及運用知識點的廣度,本身就超越了簡單的企業(yè)實訓(xùn)項目,在培養(yǎng)人才方面具有系統(tǒng)性、完整性、挑戰(zhàn)性獨特優(yōu)點。我們需要的是運用團隊的思路和現(xiàn)代軟件工程的手段,將其開發(fā)過程管理發(fā)起來,從而熟悉企業(yè)級開發(fā)的工具鏈,將軟件工程學(xué)到的知識貫通到實作中。這也回答了“和以前相似的強調(diào)基礎(chǔ)課程教育,什么特點使得我們的做法能獲得強大的工程能力?”這一問題。以前更多注重理論知識的學(xué)習(xí),而現(xiàn)在的做法是回歸計算機工程的自身科學(xué)規(guī)律———實踐為王。

3.3改革考核評價標(biāo)準(zhǔn),充分強調(diào)動手實踐

以前我們一直是卷面考試,實驗分?jǐn)?shù)只是象征性的點綴。這本身違反了計算機工程的特點。只有改變評價考核標(biāo)準(zhǔn),才能真正驅(qū)動學(xué)生充分鍛煉工程。在課程軟件開發(fā)環(huán)境中,我們采取了平時的考試結(jié)合期末考試的方式,而兩者均為軟件編寫。期末考試在實驗室上機編撰指定題目。不強調(diào)對一些函數(shù)名等死知識點的記憶,可以用在線幫助。這本身也符合軟件開發(fā)的規(guī)律。

第5篇

(1)是一門新興的交叉學(xué)科。相比于其他學(xué)科,如哲學(xué)、教育學(xué)等,軟件工程專業(yè)屬于一門新興學(xué)科,僅有20余年的辦學(xué)經(jīng)驗;而軟件工程專業(yè)所需的技能需要多學(xué)科知識的綜合應(yīng)用,因此它屬于一門交叉學(xué)科。(2)要求的基礎(chǔ)知識比較廣泛。軟件工程專業(yè)與軟件開發(fā)的工程實踐緊密結(jié)合,需要廣泛的專業(yè)基礎(chǔ)知識,包括計算機科學(xué)、數(shù)學(xué)、工程學(xué)、管理學(xué)、經(jīng)濟學(xué)等。(3)具有較強的實踐性。軟件工程專業(yè)強調(diào)將基礎(chǔ)理論知識應(yīng)用于工程實踐,在教學(xué)過程中有大量的實踐環(huán)節(jié),需要通過實踐檢驗基礎(chǔ)知識的掌握和應(yīng)用情況。(4)密切聯(lián)系工程實際應(yīng)用,與時俱進。軟件工程專業(yè)是在工程應(yīng)用中形成的一門學(xué)科,是根據(jù)實際工程應(yīng)用的需要總結(jié)工程實踐經(jīng)驗和提取知識,將基礎(chǔ)知識和工程應(yīng)用相結(jié)合,運用基礎(chǔ)知識解決實際應(yīng)用中出現(xiàn)的問題而逐步形成的。隨著工程應(yīng)用中的技術(shù)進步,軟件工程專業(yè)的課程設(shè)置和授課內(nèi)容也需要進行適當(dāng)調(diào)整。

2軟件工程專業(yè)的知識體系

經(jīng)過多年的發(fā)展,軟件工程專業(yè)的本科生和研究生已經(jīng)具備一定規(guī)模并獲得社會的普遍認(rèn)可。隨著社會的進步和軟件產(chǎn)業(yè)的發(fā)展,軟件的需求量會越來越大,對軟件工程專業(yè)人才的需求仍會十分旺盛,迫切需要我們健全和完善軟件工程專業(yè)的知識體系,為社會發(fā)展培養(yǎng)緊缺人才。我們可以立足國情,借鑒國外的研究成果和經(jīng)驗教訓(xùn),研究我國軟件工程專業(yè)的人才培養(yǎng)模式,不斷進行教學(xué)改革,逐步形成具有中國特色的人才培養(yǎng)方案和課程評價體系,為我國社會主義建設(shè)的可持續(xù)發(fā)展奠定良好的基礎(chǔ)[2]。IEEE最新的軟件工程知識體系(SWEBOK)將軟件工程知識分解成10個知識域,并組成一個多級層次化的體系結(jié)構(gòu),如圖1所示。這10個知識域是從軟件開發(fā)的實際工程過程中總結(jié)出的,體現(xiàn)了軟件開發(fā)所必須掌握的技能,軟件工程專業(yè)的人才培養(yǎng)體系應(yīng)圍繞這些知識域展開。軟件工程知識體系結(jié)構(gòu)僅給出軟件工程專業(yè)的一個總知識框架,各軟件學(xué)院在具體辦學(xué)過程中可以根據(jù)自己的實際情況設(shè)置不同的專業(yè)方向,專業(yè)課程的設(shè)置也要不斷地根據(jù)市場對人才的需求進行調(diào)整,調(diào)整的依據(jù)就是課程評價體系的結(jié)果。

3軟件工程專業(yè)課程評價體系設(shè)計

課程體系是為實現(xiàn)培養(yǎng)目標(biāo)而設(shè)置的全部課程及其內(nèi)容的總和,是由各類課程按照一定的邏輯關(guān)系構(gòu)成的課程系統(tǒng),是人才培養(yǎng)方案的核心內(nèi)容。軟件工程專業(yè)成立的時間較短,在課程評價方面尚沒有完整統(tǒng)一的評價體系,而且該專業(yè)課程設(shè)置更新的速度比較快,也缺乏一個評價課程設(shè)置與更新是否科學(xué)合理的依據(jù)。為此,需要根據(jù)軟件工程專業(yè)的特點和知識體系,設(shè)計課程的評價體系和具體的評價指標(biāo)。3.1評價原則課程設(shè)置是影響院校建設(shè)和發(fā)展的重要因素,對內(nèi)影響師資隊伍、教學(xué)設(shè)備、實驗儀器等教學(xué)資源的配置,對外影響學(xué)生就業(yè)、學(xué)院在社會上的聲譽甚至局域經(jīng)濟的發(fā)展。因此,在對軟件工程專業(yè)設(shè)定評價體系時,應(yīng)遵循以下原則。(1)知識體系全覆蓋原則。軟件工程專業(yè)旨在培養(yǎng)未來的軟件工程師,畢業(yè)生主要從事與軟件開發(fā)相關(guān)的工作,因此課程體系的設(shè)置要完全覆蓋軟件工程知識體系所要求的內(nèi)容。(2)科學(xué)規(guī)范原則。課程體系的設(shè)置不僅是每個學(xué)院的個別行為,也是一種社會行為。為使各個軟件學(xué)院的軟件工程專業(yè)整體結(jié)構(gòu)合理規(guī)范,國家試點建立了一批“國家級示范軟件學(xué)院”引導(dǎo)軟件工程專業(yè)課程體系的設(shè)定。這樣使學(xué)院之間、學(xué)院與企業(yè)之間、學(xué)院與人才市場之間的交流有了統(tǒng)一規(guī)范,但是在具體的專業(yè)方向以及選修課程的設(shè)置上沒有具體的規(guī)范,各個學(xué)院正在摸索著前進,在一些具體課程的設(shè)置上也會注意專業(yè)面寬窄的選擇、針對性與適應(yīng)性、靈活性與穩(wěn)定性等方面的矛盾處理問題。(3)保障條件原則。課程體系的設(shè)置與教學(xué)過程緊密相連,是實現(xiàn)專業(yè)培養(yǎng)目標(biāo)的重要前提,是質(zhì)量的根本保證。要進行課程體系的設(shè)置,首先要具有開設(shè)該門課程的保障基礎(chǔ),包括師資隊伍、教學(xué)設(shè)備、實驗環(huán)境等。(4)效益最大化原則。所謂的效益最大化,是指社會效益和經(jīng)濟效益的均衡,不能顧此失彼,要讓雙方都能獲得最大的效益[3]。社會效益是指滿足社會對人才的需求,培養(yǎng)學(xué)生掌握工作崗位所要求的技能,同時促進學(xué)生的自身發(fā)展,為學(xué)生提供更好的發(fā)展機會。經(jīng)濟效益是因為教育也有成本,軟件學(xué)院一般采用“成本辦學(xué)”模式,要考慮在辦學(xué)當(dāng)中的成本投入,特別是在當(dāng)前教育資源短缺的情況下,更要注重資源的利用。3.2參與評價的對象對于課程體系的評價不能聽信于一家之言,要有相關(guān)干系人的參與,包括教學(xué)院長、系主任、主講教師、已畢業(yè)學(xué)生、用人單位、軟件工程師等。通過各方面人員從不同的角度對課程體系進行評價后,得到一個客觀公正的評價結(jié)果。3.3評價方法在進行課程體系評價時,可以采用多種評價方法,如問卷調(diào)查方法、訪談方法等。每一種方法都有自己的優(yōu)點和缺點,也可以采用多種方法結(jié)合的方式。(1)問卷調(diào)查方法。首先由評價的主管部門組織專家設(shè)計問卷調(diào)查,然后把問卷發(fā)送給每一位參與的評價者并請他們按要求如實作答。問卷調(diào)查方法最重要的一個環(huán)節(jié)就是設(shè)計一份高信度、高效度的調(diào)查問卷和設(shè)定評價分值。(2)訪談方法。由評價主管部門依據(jù)事先擬定好的專業(yè)課程體系評價的訪談提綱,通過個別談話或座談會的形式收集信息,做詳細(xì)記錄并在事后進行分析。3.4評價模型根據(jù)現(xiàn)在多數(shù)軟件學(xué)院軟件工程專業(yè)的辦學(xué)特點,一般是先設(shè)定專業(yè)方向,然后再根據(jù)專業(yè)方向設(shè)定方向課程,因此我們采用二維四向評價模型,如圖2所示[4]。在該評價模型中,以O(shè)為原點的水平線,正向代表社會需求維度,逆向代表保障條件維度;然后再以O(shè)為原點畫出4條線,分別為OX1、OY1、OX2、OY2,其中X1方向代表經(jīng)濟效益,X2方向代表社會效益,Y1方向代表硬件保障條件,Y2方向代表軟件保障條件。在分析過程中,可以采用定量分析和定性分析。為了簡化模型的應(yīng)用,我們以定性分析為例,將每一個指標(biāo)按照由低到高的順序劃分為3個級別,分別用1、2、3表示,其中3表示“強”,2表示“中”,1表示“弱”。在每一個維度(X1、Y1、X2、Y2)上分別標(biāo)識一個點,然后把4個點連成一個四邊形。構(gòu)成的四邊形面積越大,說明社會需求和保障條件越好。專業(yè)方向和課程的設(shè)置均可以采用此二維四向評價模型進行評價。在該評價模型中,可以計算取值總和S=X1+Y1+X2+Y2,根據(jù)總和設(shè)定一個閥值,對專業(yè)方向進行歸類。例如,當(dāng)閥值P>9時,表示專業(yè)方向處于最佳狀態(tài);P>6時,表示專業(yè)方向處于發(fā)展中狀態(tài);P<6時,意味著即將被淘汰。同時,還可以計算發(fā)展趨勢比t=(X1+X2):(Y1+Y2),若t=1,表示該專業(yè)方向處于穩(wěn)定期狀態(tài),意味著社會需求與保障條件比較協(xié)調(diào);t>1,表示處于強勢發(fā)展?fàn)顟B(tài),意味著需求比較旺盛,保障條件需要進一步完善;t<1,表示處于衰退期狀態(tài),意味著社會需求不足而保障條件有冗余。在進行專業(yè)方向評價時,要參考S值和t值,同時要考慮(X1+X2)和(Y1+Y2)具體取值以及專業(yè)方向的歷史發(fā)展?fàn)顩r。當(dāng)然使用該模型的前提是已經(jīng)使用上述評價方法,對每個專業(yè)方向和課程進行了較為準(zhǔn)確的判斷。對于該評價模型,我們可以很容易地將它轉(zhuǎn)化為定量分析,只需要在(X1、Y1、X2、Y2)的每一個維度上有一個準(zhǔn)確的數(shù)值即可。3.5評價過程課程體系的評價過程不是一蹴而就的,而是一個循環(huán)往復(fù)的過程,特別是對于軟件工程專業(yè),工程應(yīng)用技術(shù)的更新速度比較快,專業(yè)方向(課程)的更替也比較頻繁,但是不管課程如何更換,其最終目的都是實現(xiàn)專業(yè)方向培養(yǎng)目標(biāo),我們可以將評價過程簡單地用圖3表示。圖3所示的評價過程中有3個反饋循環(huán)。首先設(shè)定專業(yè)方向培養(yǎng)目標(biāo),根據(jù)培養(yǎng)目標(biāo)進行專業(yè)方向的設(shè)計,得到預(yù)期的專業(yè)方向課程體系,這時可以采用圖2的評價模型進行課程體系的評價,同時進行結(jié)果反饋;根據(jù)預(yù)期的專業(yè)方向課程體系進行專業(yè)方向?qū)嵤?,通過實施檢驗是否達到專業(yè)方向的培養(yǎng)目標(biāo);然后根據(jù)出現(xiàn)的問題再次進行反饋,可以更改專業(yè)方向的培養(yǎng)目標(biāo),也可以更改專業(yè)方向的課程體系。3.6評價示例哈爾濱理工大學(xué)軟件學(xué)院軟件工程專業(yè)成立于2002年,于2011年被確定為黑龍江省首批卓越工程師教育培養(yǎng)計劃(簡稱卓越計劃)試點專業(yè)。在卓越計劃的實施過程中,學(xué)校在企業(yè)中建立16個教學(xué)實踐基地,校企共同制訂人才培養(yǎng)標(biāo)準(zhǔn),實現(xiàn)校企深度融合,聯(lián)合培養(yǎng)軟件人才。軟件學(xué)院在2010年進行專業(yè)方向和課程體系的重新修訂。在修訂過程中,根據(jù)市場的人才需求、當(dāng)前的技術(shù)更新以及課程評價體系的評價結(jié)果,重新制定了專業(yè)方向和課程教學(xué)計劃。軟件學(xué)院之前的軟件工程專業(yè)分為兩個專業(yè)方向:嵌入式軟件開發(fā)和數(shù)據(jù)庫應(yīng)用開發(fā)。在進行專業(yè)方向的評價時,邀請用人單位、往屆畢業(yè)生、軟件工程師、主講教師、外校教師等相關(guān)人員一起進行討論并設(shè)計了問卷調(diào)查,收集大家的意見,最終嵌入式軟件開發(fā)的得分為(3+2+3+2),即該專業(yè)方向處于最佳狀態(tài),數(shù)據(jù)庫應(yīng)用開發(fā)的得分為(1+1+2+1),即該專業(yè)方向?qū)⒈惶蕴?。?jīng)修訂,軟件工程專業(yè)方向調(diào)整為嵌入式軟件開發(fā)、軟件開發(fā)J2EE技術(shù)、軟件開發(fā).NET技術(shù)和物聯(lián)網(wǎng)軟件開發(fā)技術(shù)。對于單門課程的評價也是一樣,采用二維四向評價模型可以對每一門課程進行評價,如原來的工程數(shù)據(jù)庫課程評價得分為(1+1+1+1),ERP原理及設(shè)計課程評價得分為(3+1+2+1)。顯然,工程數(shù)據(jù)庫課程應(yīng)該被淘汰,而ERP原理及設(shè)計課程應(yīng)該被保留。在2010版教學(xué)大綱的修訂過程中,我們依據(jù)軟件工程專業(yè)的特點,按照軟件工程專業(yè)的知識體系,遵守課程評價的基本原則,采用該評價模型,對每個專業(yè)方向和每門課程進行客觀而完整的評價,最終形成軟件工程專業(yè)的課程體系。

4結(jié)語

第6篇

中圖分類號:G642

摘要:分析軟件工程專業(yè)的崗位需求和知識結(jié)構(gòu),提出適合地方性應(yīng)用型高校的軟件工程專業(yè)核心課程設(shè)置方案和體系結(jié)構(gòu)。關(guān)鍵詞:地方高校;軟件工程;課程體系

0 引言

進入21世紀(jì),以互聯(lián)網(wǎng)為核心的網(wǎng)絡(luò)與應(yīng)用得到快速發(fā)展,信息技術(shù)的應(yīng)用模式發(fā)生了巨大變化。在開放、動態(tài)、復(fù)雜的網(wǎng)絡(luò)環(huán)境下,靈活、可信、協(xié)同的計算資源、數(shù)據(jù)資源、軟件資源、服務(wù)資源等各種信息資源的共享和利用、無處不在的普適計算、主動可信的服務(wù)計算,均對軟件工程提出了巨大挑戰(zhàn)。

黃淮學(xué)院軟件工程專業(yè)是河南省省級特色專業(yè),近年來緊緊圍繞培養(yǎng)“就業(yè)能稱職、創(chuàng)業(yè)有能力、深造有基礎(chǔ)、發(fā)展有后勁”的高素質(zhì)技術(shù)技能型人才的目標(biāo)定位,積極推進應(yīng)用型人才培養(yǎng)模式改革,緊扣產(chǎn)業(yè)辦專業(yè),牽手企業(yè)促學(xué)業(yè),強化職業(yè)促就業(yè),不斷提升專業(yè)價值,全面提高應(yīng)用型人才培養(yǎng)質(zhì)量。作為本科層次教育,重視較寬厚的基礎(chǔ)知識的傳授;作為應(yīng)用型人才的培養(yǎng)定位,重視面向生產(chǎn)、經(jīng)營、管理實際,面向經(jīng)濟社會活動實際,培養(yǎng)運用所學(xué)知識分析問題、解決問題的能力,同時也要培養(yǎng)學(xué)生適應(yīng)社會的能力、創(chuàng)業(yè)發(fā)展能力。應(yīng)用型本科院校課程體系的設(shè)計應(yīng)有其內(nèi)在的規(guī)律與特定的模式?;诖耍P者以黃淮學(xué)院為例,對這一問題做如下探討。

1 軟件工程課程體系建設(shè)原則

原則1:構(gòu)建課程體系的重要原則是核心課程體系的構(gòu)建。核心課程體系的構(gòu)建不是計算機科學(xué)專業(yè)課程和軟件工程類課程的簡單堆砌,而是對計算機學(xué)科課程進行有效的裁減和調(diào)整。對比軟件工程學(xué)科和計算機科學(xué)技術(shù)學(xué)科可以看出,計算機科學(xué)的主要目標(biāo)是為解決計算問題尋找有效的、能產(chǎn)生更好性能的途徑;軟件工程的主要目標(biāo)更注重具體方法和技術(shù)的應(yīng)用,軟件工程除了關(guān)注解決軟件問題的理論、原則、方法和技術(shù),還關(guān)注軟件質(zhì)量、軟件過程、項目管理、團隊合作、與用戶/客戶相關(guān)的問題,研究的對象是軟件開發(fā)過程中的所有活動。軟件工程專業(yè)的培養(yǎng)目標(biāo)是合格的軟件工程師,具有更明確的職業(yè)特性。

原則2:應(yīng)用型本科高校軟件工程專業(yè)不是簡單復(fù)制211或985高校的課程體系,而要根據(jù)培養(yǎng)“就業(yè)能稱職、創(chuàng)業(yè)有能力、深造有基礎(chǔ)、發(fā)展有后勁”的目標(biāo),結(jié)合實際工作崗位職業(yè)需求,基于傳統(tǒng)本科教育與職業(yè)教育相互滲透的培養(yǎng)理念,在通才與專才之間尋找平衡點,專業(yè)知識體系夠用為主,“軟、硬并重”,以第一課堂為核心,以行業(yè)、企業(yè)和管理服務(wù)崗位對人才知識、能力、素質(zhì)的具體要求構(gòu)建課程體系。

原則3:權(quán)衡軟件工程專業(yè)本科畢業(yè)生所應(yīng)具備知識的深度、廣度和適應(yīng)性。在大學(xué)教育期間,學(xué)生應(yīng)學(xué)習(xí)的知識大致可以劃分為4個.方面:人文社會科學(xué)知識,這是做人之根本;數(shù)學(xué)知識,這是軟件工程專業(yè)的底層基礎(chǔ);專業(yè)知識,是軟件工程學(xué)科之特色;相關(guān)領(lǐng)域知識,是學(xué)生就業(yè)之砝碼。知識是基礎(chǔ),能力是知識的綜合體現(xiàn)。對于軟件工程專業(yè)的學(xué)生應(yīng)該著力培養(yǎng)以下能力:專業(yè)必備的開發(fā)、設(shè)計能力,能終身受用的學(xué)習(xí)能力,培養(yǎng)領(lǐng)導(dǎo)力的處事能力和積累財富的創(chuàng)新能力。在注重學(xué)科知識的系統(tǒng)性和嚴(yán)謹(jǐn)性基礎(chǔ)上強調(diào)實際能力培養(yǎng)的重要性。

2 軟件工程專業(yè)課程體系基本構(gòu)架

黃淮學(xué)院軟件工程專業(yè)知識體系如圖1所示,該知識體系以人文外語知識和科學(xué)基礎(chǔ)知識為基本,軟件工程專業(yè)基礎(chǔ)知識為中堅,軟件工程與軟件管理專業(yè)知識為塔頂,輔以實踐和頂崗實訓(xùn)構(gòu)成軟件工程專業(yè)知識體系金字塔。

人文與外語知識包含由教育部統(tǒng)一要求的思想政治類課程、大學(xué)英語、專業(yè)外語以及創(chuàng)新創(chuàng)意和職業(yè)規(guī)劃方面的拓展課程;學(xué)科基礎(chǔ)知識則涉及數(shù)學(xué)系列課程、電子基礎(chǔ)課程和計算機科學(xué)基礎(chǔ)課程;專業(yè)基礎(chǔ)知識和專業(yè)技能知識包含程序設(shè)計基礎(chǔ)、軟件工程和軟件管理等,具體教學(xué)過程中可以涉及部分軟件工具和軟件產(chǎn)品作教學(xué)載體。針對軟件行業(yè)普遍反映的畢業(yè)生獨立解決問題能力不強、責(zé)任心差、對問題進行抽象和分析的能力差的問題,設(shè)計了如圖2所示的實踐能力漸進培養(yǎng)模式,該模式貫穿在課程教學(xué)、實驗、實訓(xùn)和畢業(yè)設(shè)計等教學(xué)過程中。

3 軟件工程課程系列的設(shè)計

黃淮學(xué)院軟件工程專業(yè)的課程體系既考慮了工程性、技術(shù)性、實用性、系統(tǒng)性、綜合性和復(fù)合型,又注意到強化基礎(chǔ)在有效解決復(fù)雜軟件的構(gòu)造和應(yīng)用方面能起到關(guān)鍵性作用,采取了根據(jù)就業(yè)崗位的能力需求進行知識分解,由課程模塊構(gòu)建系列課程,分階段互動式的課程設(shè)置方法。具體安排如圖3所示。

從圖3可以看到基礎(chǔ)知識教學(xué)階段共2學(xué)年,這樣設(shè)計是為了強化學(xué)生基礎(chǔ)知識,實現(xiàn)“基礎(chǔ)扎實、學(xué)科認(rèn)知和專業(yè)融入”的目標(biāo)。公共基礎(chǔ)系列課程針對人文與外語知識,學(xué)科基礎(chǔ)理論系列課程的啟動從數(shù)學(xué)基礎(chǔ)課程系列和計算機導(dǎo)論開始,內(nèi)容貫穿軟件工程所涉及的計算機系統(tǒng)、程序設(shè)計語言、軟件工程、網(wǎng)絡(luò)技術(shù)等專業(yè)基礎(chǔ)知識的知識點以及與信息技術(shù)有關(guān)的社會人文等知識,力求使學(xué)生對所學(xué)專業(yè)有比較深入的了解,樹立專業(yè)學(xué)習(xí)的責(zé)任感和自豪感。其中包括高級語言程序設(shè)計、程序設(shè)計基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)和面向?qū)ο蟪绦蛟O(shè)計,旨在引導(dǎo)學(xué)生領(lǐng)會計算思維的同時訓(xùn)練其編程能力;硬件與網(wǎng)絡(luò)系列課程包含數(shù)字邏輯、計算機組成原理和計算機網(wǎng)絡(luò),軟件工程系列基礎(chǔ)課程包括操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)原理和WEB程序設(shè)計,這樣安排力求達到“編程、網(wǎng)絡(luò)和應(yīng)用開發(fā)”三位一體的教學(xué)目標(biāo)。

專業(yè)技能教學(xué)階段共設(shè)36周,設(shè)計思路是強調(diào)對學(xué)生工程性、技術(shù)性、實用性、系統(tǒng)性、綜合性和復(fù)合型能力的培養(yǎng),實現(xiàn)“熟悉軟件工程技能、樹立系統(tǒng)概念和掌握軟件設(shè)計開發(fā)技術(shù)”3個目標(biāo)。在這一階段中,綜合考慮主干專業(yè)課程和特色課程的設(shè)置,基于辦學(xué)特色設(shè)置若干動態(tài)可擴充的課程模塊,全面考慮課程之間的關(guān)聯(lián),強調(diào)統(tǒng)一設(shè)計、統(tǒng)一規(guī)劃。所有方向以系統(tǒng)分析與建模、軟件工程、軟件測試技術(shù)和嵌入式系統(tǒng)為基礎(chǔ),學(xué)生必須選修WEB程序開發(fā)和嵌入式軟件兩個專業(yè)方向中的一個課程模塊,WEB程序開發(fā)方向設(shè)置網(wǎng)站前臺開發(fā)技術(shù)、數(shù)據(jù)庫應(yīng)用技術(shù)、軟件框架技術(shù)、軟件需求工程和現(xiàn)代軟件開發(fā)技術(shù);嵌入式軟件專業(yè)方向開設(shè)單片機與接口技術(shù)、嵌入式Linux程序設(shè)計、移動編程技術(shù)、手持設(shè)備軟件開發(fā)和嵌入式系統(tǒng)開發(fā)綜合實踐,同時要求至少選修4門任選課以拓展專業(yè)知識。

工程實習(xí)教學(xué)階段開設(shè)在第4學(xué)年,設(shè)計思路是通過具體項目參與真刀真槍的項目訓(xùn)練,通過畢業(yè)設(shè)計與論文培養(yǎng)總結(jié)概括能力,實現(xiàn)理論與實際結(jié)合、技能與職業(yè)素質(zhì)結(jié)合的目標(biāo)。

在軟件工程專業(yè)的課程體系設(shè)計中還應(yīng)充分考慮課程間的銜接性、系統(tǒng)性和創(chuàng)新能力培養(yǎng)。教學(xué)計劃中通過設(shè)置10門設(shè)計類課程,加強課內(nèi)實踐教學(xué),常設(shè)性的學(xué)生軟件設(shè)計比賽如ACM競賽和軟件設(shè)計大賽也被引入教學(xué)過程中。上述思路形成的課程體系更細(xì)化的結(jié)構(gòu)如圖4所示。

4 結(jié)語

一個好的軟件工程課程體系應(yīng)該在一個或若干個應(yīng)用領(lǐng)域方面體現(xiàn)出自己的特色,為了幫助學(xué)生在適當(dāng)?shù)纳疃壬蠈W(xué)習(xí)其他應(yīng)用領(lǐng)域的知識,軟件工程課程體系應(yīng)該安排相應(yīng)的支持課程。軟件工程的應(yīng)用領(lǐng)域如此廣泛,軟件工程課程體系不可能也不應(yīng)該面面俱到。在相關(guān)領(lǐng)導(dǎo)的支持下,黃淮學(xué)院軟件工程專業(yè)建設(shè)已取得了可喜的成果。軟件工程專業(yè)在2010被批準(zhǔn)為河南省特色專業(yè),2012年批準(zhǔn)為河南省專業(yè)綜合改革試點專業(yè),每年畢業(yè)學(xué)生到各大公司進行項目實踐,并推薦部分優(yōu)秀學(xué)生到IBM等業(yè)界著名企業(yè)實習(xí),獲得各公司的一致好評。這幾年的實踐表明,教學(xué)計劃的設(shè)計是確保培養(yǎng)目標(biāo)實現(xiàn)的保障,課程體系的設(shè)計是合理安排教學(xué)過程的關(guān)鍵。學(xué)院軟件工程專業(yè)的每一位老師在這幾年的教學(xué)改革中付出了辛勤的勞動,但回首軟件工程專業(yè)取得的進步,大家都感到心情舒暢。高等院校的教學(xué)改革是永恒的主題,作為應(yīng)用型本科院校軟件工程專業(yè)的課程體系更應(yīng)與時俱進,我們一定會在現(xiàn)有基礎(chǔ)上進一步優(yōu)化軟件工程專業(yè)的課程體系,以期獲得更好的結(jié)果。

參考文獻:

[1]楊青,劉洪星.軟件工程學(xué)科的特征及其課程體系設(shè)計原則[J].武漢理工大學(xué)學(xué)報,2005,27(2):183-186.

[2]曾永衛(wèi),林志剛,楊堯彪.應(yīng)用型本科院校課程體系頂層設(shè)計的探討[J].湖南工程學(xué)院學(xué)報,2007,17(3):65-67.

[3]祁文青,紀(jì)鵬,馮運仿,等.計算機類應(yīng)用型本科的人才定位和課程體系[J].黃石理工學(xué)院學(xué)報,2012,28(1):60-63.

第7篇

論文摘要:隨著企業(yè)生產(chǎn)規(guī)模的不斷擴大,財務(wù)管理內(nèi)容越來越多,管理項目越來越復(fù)雜、越細(xì)致,信息使用者所需要的財務(wù)數(shù)據(jù)信息也更加系統(tǒng)化、數(shù)字化。因此,依靠落后的管理手段已經(jīng)無法滿足客觀實際的需求,如何改善企業(yè)財務(wù)管理的工作環(huán)境,提高財務(wù)管理的水平,在企業(yè)內(nèi)部全面開展會計電算化已經(jīng)成為當(dāng)務(wù)之急。在此,就如何實現(xiàn)企業(yè)會計電算化,談幾點看法。

1 建立“企業(yè)ERP系統(tǒng)”

會計電算化發(fā)展到今天,已不是單純的會計與計算機的簡單結(jié)合,而是已經(jīng)發(fā)展成為一門延伸到通信學(xué)、企業(yè)管理學(xué)、市場運籌學(xué)等學(xué)科的綜合性學(xué)科;它的推廣應(yīng)用不再是單純的財務(wù)管理系統(tǒng),而是正朝著企業(yè)資源計劃管理系統(tǒng)(ERP)方向發(fā)展,甚至發(fā)展成為不同企業(yè)之間跨地區(qū)、跨行業(yè)相互鏈接的大網(wǎng)絡(luò)系統(tǒng)。

通過幾年來在基層從事會計電算化工作所積累的經(jīng)驗,要想實現(xiàn)真正的財務(wù)管理現(xiàn)代化,必須在企業(yè)內(nèi)部建立以財務(wù)為中心的“企業(yè)ERP系統(tǒng)”。通過把企業(yè)內(nèi)部相關(guān)部門的計算機連接起來,建立企業(yè)內(nèi)部綜合信息管理網(wǎng)絡(luò)系統(tǒng),在業(yè)務(wù)量比較大的幾個部門建立獨立的資源子網(wǎng)。比如:財務(wù)管理信息子網(wǎng)、物資管理信息子網(wǎng)、生產(chǎn)管理信息子網(wǎng)等。各子網(wǎng)要以財務(wù)資源子網(wǎng)為中心,通過網(wǎng)間聯(lián)合與財務(wù)管理局域網(wǎng)相連接,其它部門可采用電信線路用單機掛接方式或者通過光纜與財務(wù)管理局域網(wǎng)連接。同時,制定一套“財務(wù)管理局域網(wǎng)管理規(guī)范”,規(guī)范各資源子網(wǎng)的數(shù)據(jù)結(jié)構(gòu)、操作規(guī)范,安全規(guī)范、職業(yè)道德規(guī)范等一系列管理制度,確?!捌髽I(yè)ERP系統(tǒng)”運行暢通無阻,實現(xiàn)網(wǎng)上信息資源在各部門之間的相互溝通和資源共享。

2 以商品化軟件為契機,開發(fā)更具實用性的會計軟件

目前,我國工業(yè)企業(yè)財務(wù)部門使用的會計軟件,一種是外國公司開發(fā)的經(jīng)過漢化的會計軟件,是按照國際會計準(zhǔn)則設(shè)計的,適用于西方資本主義管理體系,而不適用于我國企業(yè)管理模式;另一種是國內(nèi)企業(yè)開發(fā)的商品化會計軟件,這種軟件由于受知識產(chǎn)權(quán)的影響,價格比較昂貴,而且商品化軟件維護起來比較麻煩,使用它勢必造成人力和物力的極大浪費。當(dāng)然后一種商品化軟件是由各方面專家共同開發(fā)的,軟件比較規(guī)范、功能比較齊全、操作也相對簡便,而且軟件實施周期短、見效快,因此,對于缺乏軟件開發(fā)隊伍的單位采用商品化軟件是比較明智的。另外,我們還可以在同行業(yè)之間組織力量開發(fā)適用于某行業(yè)的會計電算化軟件,實行集中開發(fā)、集中管理和維護,共同使用,這樣可以節(jié)省大量的資金,而且行業(yè)之間提供的會計信息資料共上級部門可直接進行匯總處理,而不必再開發(fā)專用的匯總軟件,這是我們開展會計電算化工作既經(jīng)濟又適用的捷徑。

充分利用計算機技術(shù)和財務(wù)會計知識,建立一套科學(xué)的財會綜合管理體系和會計電算化軟件發(fā)展規(guī)劃,采用在行業(yè)內(nèi)部或同行業(yè)之間選拔優(yōu)秀的計算機人才,建立行業(yè)計算機技術(shù)開發(fā)公關(guān)小組,開發(fā)適合行業(yè)內(nèi)部管理需要的會計電算化軟件,在企業(yè)各財會部門推廣應(yīng)用。達到集中開發(fā)共同使用的目的,縮短軟件開發(fā)應(yīng)用的周期,同時在應(yīng)用管理上也可縱觀全局,從長遠(yuǎn)利益出發(fā),制定一套完整的會計電算化工作的長遠(yuǎn)發(fā)展規(guī)劃。走出僅限于統(tǒng)計報表管理和數(shù)據(jù)存儲管理的初級探索階段,向大規(guī)模數(shù)值計算的專用軟件、面向問題和過程分析及判斷推理的高層次軟件綜合開發(fā)階段邁進。由單機單用戶、聯(lián)機終端網(wǎng)絡(luò)向標(biāo)準(zhǔn)化網(wǎng)絡(luò)體系結(jié)構(gòu)發(fā)展,充分利用計算機的網(wǎng)絡(luò)結(jié)構(gòu),更大程度地共享計算機的硬件、軟件及數(shù)據(jù)資源,建立一套完善的計算機輔助管理專家系統(tǒng)和智能系統(tǒng),使計算機在財務(wù)管理工作中的應(yīng)用向更廣泛更深層次發(fā)展。為企業(yè)領(lǐng)導(dǎo)和決策者提供準(zhǔn)確可靠的信息情報,編制出合理的企業(yè)生產(chǎn)經(jīng)營計劃報表及財務(wù)報表。有效地控制企業(yè)生產(chǎn)經(jīng)營中的資源浪費,加快資金流通,降低資金占用消耗和產(chǎn)品生產(chǎn)成本,提高企業(yè)經(jīng)濟效益。開創(chuàng)以商品化軟件為契機,以自己的軟件開發(fā)隊伍為中心,實現(xiàn)企業(yè)自己的智能化信息與專家系統(tǒng)的會計電算化發(fā)展新路子。

3 搞好計算機技術(shù)培訓(xùn)工作,走“全員化管理”的道路

會計電算化工作的關(guān)鍵是應(yīng)用,特別是從事具體管理工作的人員,他們的會計電算化水平?jīng)Q定本企業(yè)會計電算化管理的水平,他們中有多少人會使用計算機,能夠利用計算機進行輔助管理工作,甚至有多少人會進行簡單的計算機軟件編程工作都對會計電算化的順利實施起著至關(guān)重要的作用。所以說會計電算化工作要得到全面的發(fā)展,必須走全員化管理的道路。

全員管理就是動員企業(yè)內(nèi)部從事各項管理工作的工程師、會計師、管理師、統(tǒng)計師、會計員、技術(shù)員及一般管理人員等在搞好本職工作的同肘,協(xié)同從事計算機程序設(shè)計的人員一起研究學(xué)習(xí)計算機技術(shù)基礎(chǔ)知識和其它管理科學(xué)的知識,應(yīng)用計算機去從事各項管理工作。把計算機同現(xiàn)代化的管理科學(xué)融合在一起,培養(yǎng)出大批能從事多種工作的復(fù)合型人才,形成一個企業(yè)內(nèi)部全體上下相互協(xié)作,同心協(xié)力的全員學(xué)電腦、用電腦的局面,讓更多的人去學(xué)習(xí)計算機知識,用學(xué)到的知識去為管理服務(wù),提高管理工作的水平和質(zhì)量。

第8篇

關(guān)鍵詞:嵌入式系統(tǒng);課程體系;實踐教學(xué)

隨著嵌入式系統(tǒng)在工業(yè)生產(chǎn)和社會生活中的廣泛應(yīng)用,嵌入式系統(tǒng)技術(shù)越來越得到國內(nèi)各大高校的重視。嵌入式系統(tǒng)涉及的知識面廣、技術(shù)新、難度大,相關(guān)的技術(shù)資料少,并且仍然在快速發(fā)展中,這使得教學(xué)面臨較多的困難[1-2]。因此,如何有效地進行教學(xué),在相對緊張的學(xué)時內(nèi)使學(xué)生掌握更多的嵌入式系統(tǒng)知識,成為許多高校開設(shè)“嵌入式系統(tǒng)”課程要首先解決的問題[3]。

本文結(jié)合作者幾年來的“嵌入式系統(tǒng)”本科教學(xué)實踐,提出和總結(jié)了教學(xué)工作中的一些思路和體會,主要有以下一些經(jīng)驗。

1主要課程體系的設(shè)置

嵌入式系統(tǒng)作為后PC時代的核心,所涉及的知識非常廣泛,既有計算機底層硬件的知識,又包含操作系統(tǒng)、應(yīng)用程序、特定領(lǐng)域的知識等,建立良好的課程體系,對學(xué)習(xí)者非常重要。

從狹義上講,嵌入式系統(tǒng)知識可分為兩大類,一是針對將來只是應(yīng)用嵌入式系統(tǒng)硬件、軟件平臺來進行二次開發(fā)的學(xué)生,應(yīng)側(cè)重學(xué)習(xí)特定軟硬件平臺的應(yīng)用系統(tǒng)設(shè)計和開發(fā);二是針對將來從事嵌入式系統(tǒng)軟硬件平臺設(shè)計的學(xué)生,需要重點學(xué)習(xí)嵌入式系統(tǒng)體系結(jié)構(gòu)及接口設(shè)計原理[4]。綜合上述嵌入式系統(tǒng)的知識特點并結(jié)合目前教學(xué)的實際,把嵌入式系統(tǒng)教學(xué)分為三個層次:

(1) 學(xué)習(xí)嵌入式操作系統(tǒng),主要掌握特定嵌入式操作系統(tǒng)的基本工作原理、特點及應(yīng)用。這是學(xué)習(xí)嵌入式系統(tǒng)的基礎(chǔ),主要為基于操作系統(tǒng)的軟硬件開發(fā)做準(zhǔn)備。

(2) 學(xué)習(xí)嵌入式系統(tǒng)硬件,主要掌握特定嵌入式CPU的體系結(jié)構(gòu)及其相關(guān)的接口電路的工作原理、特點,并學(xué)習(xí)無操作系統(tǒng)下的編程技術(shù)。使學(xué)生深入理解底層硬件的工作機制及控制技術(shù),為頂層開發(fā)作準(zhǔn)備。

(3) 學(xué)習(xí)嵌入式軟件開發(fā),在具備了操作系統(tǒng)及相應(yīng)硬件知識的基礎(chǔ)上,學(xué)習(xí)基于操作系統(tǒng)之上的驅(qū)動程序及應(yīng)用軟件的開發(fā)。

在這三個層次中,前兩個層次是基礎(chǔ),第三層次是目的,只有掌握好嵌入式操作系統(tǒng)及相關(guān)硬件機制,才能更好地進行嵌入式軟件開發(fā)工作。建議開課的具體時間及學(xué)時如表1所示。

在表1中,特別加重了實驗教學(xué)學(xué)時,因為嵌入式系統(tǒng)課程體系要求較強的實踐性,讓學(xué)生多動手實踐對提高教學(xué)質(zhì)量很有幫助。

2教學(xué)內(nèi)容的選擇

2.1軟硬件平臺選擇

由于嵌入式系統(tǒng)技術(shù)在國內(nèi)出現(xiàn)時間不長,并且處于快速發(fā)展階段,新技術(shù)和應(yīng)用成果不斷涌現(xiàn),這給軟硬件平臺的選擇帶來了一定的困難。而且不同的選擇直接導(dǎo)致嵌入式軟件開發(fā)的技術(shù)差異,對教學(xué)及學(xué)生將來應(yīng)用的影響很大,需要仔細(xì)分析、認(rèn)真選擇。

選擇的基本原則是應(yīng)用廣泛或未來有發(fā)展?jié)摿Φ那度胧郊夹g(shù)。根據(jù)目前嵌入式系統(tǒng)在國內(nèi)外發(fā)展的現(xiàn)狀,ARM微處理器以其體積小、功耗低、成本低、性能高和應(yīng)用廣泛成為目前嵌入式系統(tǒng)硬件的首選。而操作系統(tǒng)的選擇則比較困難,既有出現(xiàn)時間較長,市場占有率很高的系統(tǒng),如VxWorks等,也有出現(xiàn)較晚但很有發(fā)展?jié)摿Φ南到y(tǒng),如Windows CE、嵌入式Linux、μC/OS-II等,各種不同的嵌入式系統(tǒng)均有各自的特點,像VxWorks經(jīng)過多年的發(fā)展,市場占有率高,非常穩(wěn)定但價格昂貴;Windows CE由微軟公司開發(fā),技術(shù)力量雄厚且容易為大多數(shù)開發(fā)人員接受;嵌入式Linux開源穩(wěn)定且免費,受到很多企業(yè)的推崇;而μC/OS-II結(jié)構(gòu)緊湊小巧,適合教學(xué)。

根據(jù)選型原則,嵌入式Linux在很多企業(yè)得到了應(yīng)用,并且它的免費特點會有助于未來應(yīng)用的擴大,因此選擇學(xué)習(xí)嵌入式Linux有利于增強學(xué)生的競爭力。

2.2課程內(nèi)容選擇

精心選擇授課內(nèi)容,組織好授課知識體系并詳略得當(dāng),略去一些繁雜深奧的細(xì)節(jié),而把授課內(nèi)容集中在需要重點學(xué)習(xí)的知識點上,對本科學(xué)生接受相關(guān)內(nèi)容幫助很大。針對我們的課程體系,各門課程主要講授內(nèi)容如下。

(1)Linux操作系統(tǒng):本門課程主要是以普及Linux操作系統(tǒng)基礎(chǔ)知識為主,使得學(xué)生掌握其工作的基本原理、組織結(jié)構(gòu)、配置方式等,學(xué)會Linux操作系統(tǒng)的基本操作及常用軟件的應(yīng)用。為開發(fā)基于嵌入式Linux操作系統(tǒng)的軟件打好基礎(chǔ)。

(2) 嵌入式系統(tǒng)原理:本門課程主要學(xué)習(xí)嵌入式系統(tǒng)的基礎(chǔ)知識,介紹基于ARM微處理器的軟硬件開發(fā)環(huán)境,并學(xué)習(xí)無操作系統(tǒng)的硬件編程技術(shù)。重點學(xué)習(xí)內(nèi)容包括三個方面:一是ARM處理器的組織結(jié)構(gòu)及特點,使學(xué)生對ARM處理器的整體結(jié)構(gòu)有較好的理解,為學(xué)習(xí)其接口技術(shù)做好準(zhǔn)備;二是ADS開發(fā)環(huán)境,掌握ADS的基本操作流程、相關(guān)的配置、理解交叉編譯連接等概念;三是ARM處理器的接口技術(shù),這是學(xué)習(xí)本門課的重點,不僅要掌握各種接口的工作原理、工作流程及配置方法,還要求能夠利用C語言對其進行編程控制。

(3) 嵌入式軟件開發(fā):本門課程以嵌入式Linux作為軟件開發(fā)平臺,在基于ARM處理器上完成軟件開發(fā)工作。授課重點主要包括:一是Linux操作系統(tǒng)的深入學(xué)習(xí),包括Linux系統(tǒng)的工作機理、系統(tǒng)裁減移植及其系統(tǒng)的開發(fā)環(huán)境等;二是嵌入式Linux下的驅(qū)動程序開發(fā),包括Linux設(shè)備驅(qū)動的工作原理、開發(fā)流程,常用設(shè)備驅(qū)動程序編寫方法;三是圖形界面的設(shè)計,主要介紹基于QT的圖形界面開發(fā)方法。

3教學(xué)方法的運用

教學(xué)方法的有效運用對提高教學(xué)效果的作用是不言而喻的,如何在“嵌入式系統(tǒng)”教學(xué)中采用合適的教學(xué)方法,提高教學(xué)的質(zhì)量,使學(xué)生能夠從教學(xué)中得到最大的收獲,對教學(xué)的成敗至關(guān)重要。評判有效的教學(xué)方法的標(biāo)準(zhǔn)是看是否能增加學(xué)生的學(xué)習(xí)熱情,能否變被動學(xué)習(xí)為主動學(xué)習(xí)。

3.1注重基礎(chǔ),重點突出

“嵌入式系統(tǒng)設(shè)計”是一門綜合性的課程,涉及的知識面比較廣泛,例如既有計算機學(xué)科的計算機體系結(jié)構(gòu)、操作系統(tǒng)、程序設(shè)計等知識,也有電子學(xué)科的電子技術(shù)、微機原理等知識。因此,在課堂內(nèi)容組織上,要分清主次,明確哪些知識僅需了解,那些知識需要重點掌握,并根據(jù)重要程度有計劃地組織教學(xué)內(nèi)容和學(xué)時,使得整個教學(xué)體系層次清楚,詳略得當(dāng),為學(xué)生順利接受提供保障。

例如在規(guī)劃的教學(xué)體系中,硬件方面重點是接口技術(shù)、要求學(xué)生掌握各種接口的工作原理及其編程方法,軟件方面重點是基于嵌入式操作系統(tǒng)的驅(qū)動程序設(shè)計及應(yīng)用程序開發(fā),而對于比較復(fù)雜的操作系統(tǒng)的內(nèi)部工作原理分析、操作系統(tǒng)移植、BootLoader等僅作原理性介紹。

3.2以實踐教學(xué)帶動理論教學(xué)

通常理論教學(xué)比較抽象枯燥,學(xué)生接受大量的理論知識比較困難,為了提高理論教學(xué)的效果,為課程配備了較多的實驗課時,每當(dāng)在課堂上學(xué)習(xí)完成一部分理論知識,即安排相應(yīng)的實驗,由學(xué)生親自動手驗證理論知識的正確性并加深對理論知識的理解,這樣把較抽象的理論具體化形象化,學(xué)生接受起來相對容易,提高了理論知識的學(xué)習(xí)效果。

3.3興趣創(chuàng)新的培養(yǎng)

興趣及創(chuàng)新能力的培養(yǎng)需要以應(yīng)用為驅(qū)動力。學(xué)生對把所學(xué)理論如何應(yīng)用到實際應(yīng)用中非常感興趣,以此為切入點,在理論教學(xué)時,把實際產(chǎn)品經(jīng)簡化后引入課堂,介紹所學(xué)理論知識在具體產(chǎn)品中的應(yīng)用方式、方法,并進一步指出理論或產(chǎn)品的優(yōu)缺點,改進方向等,為學(xué)生進一步學(xué)習(xí)指明方向,從而激發(fā)學(xué)生求知欲及創(chuàng)新的潛能。如在實際的教學(xué)中,介紹mp3產(chǎn)品的工作機理及軟硬件設(shè)計方法,學(xué)生對此興趣非常高,教學(xué)效果明顯。

4實驗教學(xué)的設(shè)計

嵌入式系統(tǒng)是面向應(yīng)用的,實踐是整個嵌入式系統(tǒng)課程體系中非常重要的環(huán)節(jié)。也是加深對嵌入式系統(tǒng)知識理解,培養(yǎng)興趣及創(chuàng)新能力的必經(jīng)途徑。

我院購買了基于ARM9的實驗教學(xué)平臺,該平臺擁有大量的接口設(shè)備并配備了嵌入式Linux操作系統(tǒng),為學(xué)生學(xué)習(xí)ARM底層編程技術(shù)、嵌入式Linux操作系統(tǒng)及其上的軟件開發(fā)提供了保障,

根據(jù)學(xué)生的能力特點,我們把實驗課程分為三個層次,便于不同類型的學(xué)生選擇。

(1) 基礎(chǔ)性實驗:本類實驗主要是相關(guān)課程中最基本的實驗,要求所有學(xué)生必須掌握。如在“嵌入式系統(tǒng)原理”課程中,需掌握ADS開發(fā)環(huán)境、通用端口、中斷、DMA、UART等;在“嵌入式軟件開發(fā)”課程中,需掌握Linux實驗環(huán)境搭建、各種基本驅(qū)動程序設(shè)計、簡單應(yīng)用程序設(shè)計等。

(2) 綜合性實驗:是在前面基礎(chǔ)性實驗的基礎(chǔ)上,綜合整個課程的知識,盡可能利用實驗系統(tǒng)上的硬件資源,構(gòu)造一個具有實際意義的嵌入式系統(tǒng),綜合性實驗提供多個題目,要求學(xué)生選做。如在“嵌入式系統(tǒng)原理”課程中,可以實現(xiàn)無操作系統(tǒng)下的音頻錄放、俄羅斯方塊等程序設(shè)計;在“嵌入式軟件開發(fā)”課程中也可以實現(xiàn)基于操作系統(tǒng)的類似程序設(shè)計。

(3) 設(shè)計性實驗:設(shè)計性實驗主要提供給學(xué)習(xí)能力較強并對嵌入式系統(tǒng)感興趣的學(xué)生,本實驗主要在計劃外學(xué)時進行,由學(xué)生自主提出課題或通過其他方式選擇課題,教師適當(dāng)指導(dǎo)并利用實驗室對外開放時間進行。如通過國家大學(xué)生創(chuàng)新性實驗計劃,設(shè)立了“智能生命救助儀研究”課題供學(xué)生進行實驗。通過完成該實驗,提高了學(xué)生研究能力和實際動手能力,使學(xué)生進一步理解了不同課程之間知識的有機聯(lián)系并深入體會了嵌入式系統(tǒng)面向應(yīng)用的含義。

5結(jié)語

嵌入式系統(tǒng)應(yīng)用的廣闊前景和未來發(fā)展的巨大潛力已得到了全社會的共識,作為培養(yǎng)高級人才的大學(xué),要想又快又好地培養(yǎng)出大批嵌入式系統(tǒng)方面的優(yōu)秀人才,就需要從嵌入式系統(tǒng)課程體系的設(shè)置、課程內(nèi)容的選擇、教學(xué)方法的運用及實驗課程的設(shè)計等方面精心研究及組織,其最終目的是提高嵌入式系統(tǒng)的教學(xué)質(zhì)量,培養(yǎng)學(xué)生對嵌入式系統(tǒng)的學(xué)習(xí)興趣,激發(fā)學(xué)生自主創(chuàng)新能力,為我國嵌入式系統(tǒng)領(lǐng)域發(fā)展提供優(yōu)秀的人才保障。

參考文獻:

[1] 凌明,劉昊,時龍興. 關(guān)于嵌入式系統(tǒng)課程教學(xué)過程中幾個問題的思考[J]. 電氣電子教學(xué)學(xué)報,2007(增刊1):94-98.

[2] 孫士明,劉新平,鄭秋梅,等. 計算機專業(yè)嵌入式系統(tǒng)實踐教學(xué)體系探索[J]. 實驗室研究與探索,2009(5):122-125.

[3] 江敏,錢平,單片機教學(xué)向嵌入式教學(xué)轉(zhuǎn)型的幾點研究[J]. 電氣電子教學(xué)學(xué)報,2005(2):33-34.

[4] 符意德. 嵌入式系統(tǒng)設(shè)計原理及應(yīng)用[M]. 北京:清華大學(xué)出版社,2004.

Exploration of Embedded System Teaching System and Mode

LI Jun,YUAN Man,LIU Yan-jun

(College of Computer and Information Technology, Daqing Petroleum Institute, Daqing 163318, China)

第9篇

關(guān)鍵詞:嵌入式軟件開發(fā);C語言;課程改革

0.引言

C語言程序設(shè)計作為程序設(shè)計語言的入門基礎(chǔ)課程,是各高校理工科專業(yè)中計算機程序設(shè)計類課程的普遍選擇。作為一門理工科通識課程,其目的在于使學(xué)生通過對C語言中各種語言成分的學(xué)習(xí),初步認(rèn)識計算機程序設(shè)計及進行程序設(shè)計的過程,掌握基本的程序設(shè)計思想與方法。作為通識類課程,目前各院校通常將該門課程的教學(xué)安排在一年級,每周3-4學(xué)時(含實驗),講授內(nèi)容主要包含C語言的數(shù)據(jù)類型與表達式、程序結(jié)構(gòu)、函數(shù)、指針、鏈表、文件等。在教學(xué)實踐中,我們發(fā)現(xiàn),由于學(xué)時限制或?qū)W生接受程度等原因,常常需要對部分教學(xué)內(nèi)容(如多級指針、文件操作、位操作等)進行削減,無形中降低了課程內(nèi)容的深度與廣度。作為通識類課程,這樣的削減影響不太大。而對于信息類專業(yè)(計算機、電子、自動化等)而言,僅掌握通識教育中所講授的部分是遠(yuǎn)遠(yuǎn)不夠的。

嵌入式系統(tǒng)開發(fā)是信息類專業(yè)的一個主要發(fā)展方向。進入21世紀(jì)以來,融合先進的計算機技術(shù)、半導(dǎo)體技術(shù)、電子技術(shù)及各行業(yè)領(lǐng)域具體應(yīng)用的嵌入式系統(tǒng),已在工業(yè)控制、交通管理、信息家電、智能家居、環(huán)境監(jiān)測、電子商務(wù)、機器人等領(lǐng)域得到了廣泛應(yīng)用。

一般說來,嵌入式系統(tǒng)是指以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟硬件可剪裁,適用于心用領(lǐng)域,對功能、可靠性、成本、體積、功耗等有嚴(yán)格要求的專用計算機系統(tǒng)。由于在成本、功耗、體積等方面的限制,對嵌入式系統(tǒng)中的軟件開發(fā)提出了更高的要求。嵌入式軟件開發(fā)是在特定的硬件平臺上進行,需要使用具有較強硬件操作能力的編程語言。由于C語言是具備了這一特質(zhì)的高級語言,成為嵌入式系統(tǒng)開發(fā)的最佳選擇。

調(diào)查顯示,在信息類專業(yè)中,電子類本科專業(yè)教學(xué)計劃與嵌入式系統(tǒng)教學(xué)要求相脫節(jié),電子類本科學(xué)生的軟件基礎(chǔ)也較弱。在這樣的背景下,對C語言程序設(shè)計課程進行相應(yīng)改革,以適應(yīng)嵌入式系統(tǒng)開發(fā)人才培養(yǎng)的需要是十分必要的。

1.嵌入式軟件開發(fā)對C語言的需求

在適用于嵌入式系統(tǒng)開發(fā)的3類主要語言中,C語言占有超過70%的份額。開發(fā)嵌入式軟件,除掌握C語言的基礎(chǔ)知識和基本技能外,主要還存在以下幾方面的要求:

1)指針。

指針作為C語言的主要特點,其使用十分靈活,因而也很難完全掌握。它可用于指向不同類型的普通變量、數(shù)組、字符串,甚至函數(shù)。在嵌入式軟件開發(fā)中對各類不同指針(數(shù)組指針、指針數(shù)組、指向結(jié)構(gòu)體的指針、多級指針)的使用十分普遍。因此,指針相關(guān)內(nèi)容的教學(xué)必須足夠深入。

2)位操作。

C語言有別于其他高級語言的一個特點是可直接對硬件進行操作。指針和位操作是這一特點得以實現(xiàn)的工具。通過6種位操作符,可直接對內(nèi)存、寄存器或I/O端口的字節(jié)進行測試、置換或移位處理。熟練掌握位操作符的使用,是進行嵌入式軟件開發(fā)必不可少的重要基礎(chǔ)。在一些國內(nèi)高校普遍選用的經(jīng)典C語言教材(如文獻[4])中,由于定位于普適教育,并未包含位操作部分的內(nèi)容。

3)文件讀寫。

嵌入式系統(tǒng)中“一切皆文件”,系統(tǒng)的運行以文件讀/寫方式進行操作。理解文件系統(tǒng)的構(gòu)成、掌握基本的文件操作方法也是進行嵌入式軟件開發(fā)必須掌握的技能。

4)宏定義。

在嵌入式軟件中使用宏定義,不僅可防止代碼出錯,提高可移植性、可讀性,而且是產(chǎn)生內(nèi)嵌代碼的唯一方法,可用于替代函數(shù)調(diào)用,從而達到嵌入式系統(tǒng)性能要求。

以上4個方面的內(nèi)容,在通識型的C語言課程中,由于課時和學(xué)生程度等原因,都不能進行針對性的特別訓(xùn)練。學(xué)生在進入嵌入式系統(tǒng)開發(fā)階段后,顯然會成為程序設(shè)計知識方面的短板。

2.課程改革思路

基于上一節(jié)的認(rèn)識,我們對C語言程序設(shè)計課程的教學(xué)提出了下面的調(diào)整思路。

2.1課程設(shè)置

作為通識課程的C語言程序設(shè)計通常安排在一年級或二年級上學(xué)期完成。信息類專業(yè)的學(xué)生在大學(xué)三年級開始進入嵌入式系統(tǒng)開發(fā)相關(guān)課程時,不可避免地對已學(xué)過的C語言的知識會有一定程度的遺忘。

針對嵌入式系統(tǒng)開發(fā)的要求,考慮將C語言程序設(shè)計課程劃分為2個階段。第1階段為c語言程序設(shè)計基礎(chǔ),每周3學(xué)時,可在大學(xué)一年級下學(xué)期或二年級上學(xué)期開設(shè);第2階段為嵌入式系統(tǒng)C語言程序設(shè)計,每周2學(xué)時,作為嵌入式系統(tǒng)開發(fā)方向的選修課,可在大學(xué)三年級上與其他嵌入式系統(tǒng)相關(guān)課程,如嵌入式系統(tǒng)、嵌入式操作系統(tǒng)一起開設(shè)。這樣設(shè)置一方面滿足了在低年級完成程序設(shè)計類通識課程的要求,使學(xué)生不必過早接觸C語言中較為深入、復(fù)雜的部分;另一方面,通過將與嵌入式軟件開發(fā)密切相關(guān)的知識適當(dāng)推后,確保了嵌入式系統(tǒng)開發(fā)各門課程問的知識聯(lián)系。

2.2教學(xué)內(nèi)容的劃分

由于將課程劃分為基礎(chǔ)部分和面向嵌入式系統(tǒng)開發(fā)的提高部分,則可將C語言的一般基礎(chǔ)(基本語句、控制結(jié)構(gòu)、數(shù)組、函數(shù)、指針、結(jié)構(gòu)體)劃人C語言程序設(shè)計基礎(chǔ)課程中,通過這部分的學(xué)習(xí)使學(xué)生掌握C語言的基本理論知識并具備基本的編程技能,達到程序設(shè)計類課程的通識教育水平。

對于與嵌入式開發(fā)密切相關(guān)的知識,將在嵌入式系統(tǒng)C語言程序設(shè)計課程中講授,主要包括:宏定義、位操作、文件操作和復(fù)雜指針運用。這部分內(nèi)容的教學(xué)可圍繞嵌入式軟件開發(fā)實例展開,深入講解各知識點的應(yīng)用。通過嵌入式系統(tǒng)C語言程序設(shè)計課程的學(xué)習(xí),學(xué)生應(yīng)更深入地理解和領(lǐng)會C語言的精華思想,同時具備基于嵌入式平臺進行軟件開發(fā)的能力。

2.3實驗內(nèi)容

任何程序設(shè)計語言的學(xué)習(xí)都離不開大量的實踐,實驗是學(xué)習(xí)C語言的重要組成部分。根據(jù)前面對課程的劃分,C語言程序設(shè)計基礎(chǔ)課程中可開設(shè)的實驗項目如表1所示。

實驗1在學(xué)習(xí)了C語言的數(shù)據(jù)類型、運算符、表達式和輸入/輸出之后進行,目的在于使學(xué)生熟悉C語言的編譯環(huán)境,逐步認(rèn)識C語言語句的基本構(gòu)成。實驗2涵蓋了程序的3種基本結(jié)構(gòu),便于學(xué)生統(tǒng)一認(rèn)識關(guān)系、邏輯運算和程序結(jié)構(gòu)。實驗3-6分別對應(yīng)于數(shù)組、函數(shù)、指針和結(jié)構(gòu)體各章節(jié)的內(nèi)容,重點掌握這些語言成分的定義及使用方法。實驗7將綜合運用本課程中的知識,完成一個較小的、具備一定功能的小型軟件的開發(fā)。

嵌入式系統(tǒng)C語言程序設(shè)計課程的實驗內(nèi)容則圍繞一個嵌入式軟件開發(fā)實例展開,實例由任課教師選定。根據(jù)所選實例,實驗內(nèi)容可包含以下項目(如表2所示)。

實驗1的目的在于使學(xué)生熟悉嵌入式系統(tǒng)的軟件開發(fā)環(huán)境,主要介紹嵌入式Linux下的c語言編譯工具。實驗2-5則根據(jù)所選實例,選取特定的模塊有針對性地進行文件操作、宏定義、位運算及復(fù)雜指針運用方面的練習(xí)。

2.4教學(xué)方法與手段的調(diào)整

毋庸諱言,由于種種因素的影響,當(dāng)前各高校中普遍存在學(xué)風(fēng)怠惰現(xiàn)象,相當(dāng)一部分學(xué)生學(xué)習(xí)積極性較低下。如何提升學(xué)生對所學(xué)課程的興趣,是每一名教師都要面對的問題。在多年的C語言程序設(shè)計課程教學(xué)過程中,我們接到學(xué)生的反饋意見最多的是“上課聽得懂,下來不會自己編程”。究其原因,大概不外乎兩種:一是學(xué)生盡管在課堂上聽了課,課下并未及時回顧整理并主動思考;二是在理論課堂上一講到底,學(xué)生要等到實驗課時才真正動手體會講過的知識,往往不能及時動手練習(xí),進而影響消化吸收。針對第一種情況,我們采取了每一堂課以提問開始的方式,提問內(nèi)容主要是對之前所學(xué)內(nèi)容的回顧和脈絡(luò)梳理,同時還留出了一定的課堂練習(xí)時間,這樣能在一定程度上起到督促學(xué)生課下及時復(fù)習(xí)的作用,也便于教師及時了解學(xué)生的知識掌握情況。而對于第二種原因,可嘗試采取將理論課堂搬至機房的方式,在完成一個知識點的講授后布置即時練習(xí),讓學(xué)生能及時體驗和理解。但當(dāng)機房容量有限而班級較大時,并不適用,這樣的情形如何處理?需要我們進一步思考。

相關(guān)期刊