呂友波 秦相林 張艷榮 商海亮 姚桂林
摘? 要:以地方普通高校計算機科學(xué)與技術(shù)專業(yè)等相關(guān)專業(yè)畢業(yè)生就業(yè)后在工作中所用開發(fā)語言角度分析當(dāng)前IT行業(yè)流行的技術(shù)和開發(fā)語言使用情況。分析研究為IT專業(yè)語言類實踐課程的課程體系優(yōu)化提供建議和參考,從而更好地培養(yǎng)符合用人市場需求的復(fù)合型、應(yīng)用型IT技術(shù)人才。
關(guān)鍵詞:軟件開發(fā)語言;課程體系;實踐教學(xué);計算機科學(xué)與技術(shù)專業(yè)
中圖分類號:G640 文獻(xiàn)標(biāo)志碼:A 文章編號:2096-000X(2019)06-0072-03
Abstract: The current popular technologies and development languages used in the IT industry are analyzed from the perspective of the development languages used by the graduates of related majors such as computer science and technology major in local colleges and universities. Analytical investigation provides suggestions and references for the curriculum system optimization of IT professional language practice courses, which can better cultivate compound and applied IT technical talents that meet the needs of the employment market.
Keywords: software development language; curriculum system; practical teaching; computer science and technology major
目前一些地方普通高校在制定計算機科學(xué)與技術(shù)為代表的IT相關(guān)專業(yè)人才培養(yǎng)方案和實踐教學(xué)內(nèi)容時往往缺乏相關(guān)的調(diào)研工作[1]。在不了解行業(yè)發(fā)展趨勢、用人單位需求,畢業(yè)生就業(yè)后所從事工作的背景下盲目制定人才培養(yǎng)方案。培養(yǎng)方案和實踐教學(xué)體系要么照搬某些“985”高校,忽視學(xué)生的特點,人才培養(yǎng)缺乏特色,人才培養(yǎng)與就業(yè)脫鉤[2]。要么完全過度參照高職高專人才培養(yǎng)模式,學(xué)生知識體系不完善,就業(yè)后淪為“代碼工人”,與地方普通高校培養(yǎng)復(fù)合型、應(yīng)用型的IT技術(shù)人才的培養(yǎng)目標(biāo)背道而馳。
一、計算機語言的發(fā)展與需求標(biāo)準(zhǔn)
上個世紀(jì)七八十年代,計算機程序員普遍使用匯編語言、C語言、Pascal語言等進(jìn)行編程。九十年代中后期以PowerBuilder語言為代表的數(shù)據(jù)庫系統(tǒng)開發(fā)語言廣泛使用。隨著面向?qū)ο笏枷氲陌l(fā)展,C++、Visual Basic、Delphi等語言迅速發(fā)展。2000年以后,興起了大量的腳本語言(如VB Script語言、JavaScript語言等),和一些新型的功能強大的面向?qū)ο笳Z言(如Java語言、C#語言),以及專用于Web開發(fā)的PHP語言等。近年來,隨著大數(shù)據(jù)和人工智能的發(fā)展,Python語言、R語言等脫穎而出。此外蘋果系統(tǒng)的Objective-C語言、安卓系統(tǒng)的Kotlin語言等也在一些IT企業(yè)中廣泛應(yīng)用。IT行業(yè)目前常見流行的語言就多達(dá)二十余種。
目前許多信息技術(shù)類本科畢業(yè)生畢業(yè)后都要從事軟件開發(fā)工作,尤其是計算機科學(xué)與技術(shù)專業(yè)的學(xué)生更要求熟練掌握相關(guān)的計算機語言進(jìn)行軟件開發(fā)。就業(yè)市場上,應(yīng)聘者能否熟練掌握一門或幾門計算機語言進(jìn)行軟件開發(fā)已成為衡量其技術(shù)實踐水平的重要標(biāo)準(zhǔn)。
二、高校計算機相關(guān)專業(yè)開設(shè)多門語言類課程的必要性與帶來的問題
(一)開設(shè)多門開發(fā)語言的必要性
由于我國幅員遼闊,在不同的區(qū)域,即使是同一行業(yè)的不同企業(yè),其所采用的開發(fā)語言也不統(tǒng)一。有時,客戶會指定框架、技術(shù)與語言,開發(fā)企業(yè)必須接受這一要求,所以某些IT企業(yè)可能會儲備分別精通不同語言的工程師,或者要求工程師在精通一門語言的基礎(chǔ)上還要掌握或熟悉某些其它語言。一些公司的軟件系統(tǒng)也可能會由多種不同的技術(shù)和語言混合實現(xiàn)。在用人市場上,如果學(xué)生沒學(xué)習(xí)過某種語言,可能有一大批企業(yè)就無法直接去應(yīng)聘。所以通常信息技術(shù)領(lǐng)域的學(xué)生需要在本科階段學(xué)習(xí)大量的語言,以完成除語言課程之外后續(xù)相關(guān)課程的學(xué)習(xí),及應(yīng)對將來在各個領(lǐng)域技術(shù)開發(fā)時計算機開發(fā)語言的需要。
(二)開設(shè)多門語言類課程帶來的問題
由于我國高校受總學(xué)時限制,一些通識類課程、學(xué)科基礎(chǔ)課、專業(yè)基礎(chǔ)課必須開設(shè),使得以熟練使用開發(fā)語言進(jìn)行編程為特點的IT應(yīng)用技術(shù)實踐類課程的學(xué)時非常有限。如果安排不夠科學(xué),可能會造成學(xué)生知識面過窄或過寬泛;或編程訓(xùn)練程度不夠,實踐動手能力差等結(jié)果,直接影響學(xué)生就業(yè)能力和創(chuàng)新能力的培養(yǎng)。因此,如何優(yōu)化IT應(yīng)用技術(shù)實踐類課程的設(shè)置,精選課程內(nèi)容,在有限學(xué)時內(nèi)最大限度地提高學(xué)生實踐能力與就業(yè)競爭力,成為普通高等學(xué)校相關(guān)教育工作者面臨的突出問題。
三、調(diào)查的目的與任務(wù)
(一)調(diào)查的目的
開發(fā)語言種類眾多,特點也各不相同,這就使得在設(shè)計培養(yǎng)方案時,軟件技術(shù)開發(fā)類語言的選擇和設(shè)置非常重要。例如:挑選哪些在IT行業(yè)中普遍流行的語言設(shè)置在培養(yǎng)方案中;明確該語言課程在培養(yǎng)方案的地位和作用是什么,對其它課程的支撐作用是什么;確定該語言課程具體要設(shè)置多少學(xué)時,其中理論學(xué)時和實踐學(xué)時如何分配;論證該語言技術(shù)類課程是否有必要開設(shè)課程設(shè)計或綜合課程設(shè)計以進(jìn)一步提高學(xué)生的實踐開發(fā)能力;明晰學(xué)生對該語言技術(shù)類課程需要掌握到什么程度才能適合將來就業(yè)的基本需要。在這種情況下,需要針對當(dāng)前主流開發(fā)語言做一次全面調(diào)查,收集必要的信息,為制定IT行業(yè)技術(shù)實踐類課程體系與優(yōu)化積累扎實的參考資料[3]。
(二)調(diào)查任務(wù)
具體任務(wù)如下:
1. 通過調(diào)研、查閱資料、與IT行業(yè)深入接觸,與在IT行業(yè)從事專業(yè)技術(shù)的畢業(yè)生溝通,進(jìn)一步了解IT行業(yè)最新主要采用的軟件研發(fā)技術(shù),以及對本科人才在知識、技術(shù)等方面素質(zhì)要求。
2. 在各大計算機技術(shù)交流論壇、軟件工程師論壇、CSDN等IT論壇網(wǎng)站上調(diào)查已經(jīng)注冊的用戶,提出一些問題,查看回答情況。對每個問題回答的情況,做記錄并統(tǒng)計。
3. 查閱開發(fā)語言的相關(guān)資料,深入了解各種開發(fā)語言的歷史淵源、優(yōu)缺點、適用領(lǐng)域等。必要時可參考互聯(lián)網(wǎng)上計算機語言權(quán)威排名統(tǒng)計資料。
4. 研究調(diào)查結(jié)果,分析原因,并提出課題組自己的觀點和建議。
5. 將此次調(diào)查背景,調(diào)查任務(wù),調(diào)查方法,調(diào)查過程,調(diào)查結(jié)果,結(jié)果分析等內(nèi)容整理成材料。
四、調(diào)查實施
由于各高校在信息技術(shù)人才培養(yǎng)的培養(yǎng)目標(biāo)和培養(yǎng)特色上存在差異,本次調(diào)查準(zhǔn)備從我校計算機科學(xué)與技術(shù)專業(yè)、信息管理與信息系統(tǒng)等信息技術(shù)類已畢業(yè)學(xué)生在工作中的情況采集入手,進(jìn)而掌握IT行業(yè)目前普遍采用的技術(shù)和語言情況。
調(diào)查實施分為以下四個階段:
(一)調(diào)查設(shè)計階段
課題組在進(jìn)行調(diào)查工作之前廣泛查閱了大量的文獻(xiàn),初步了解行業(yè)發(fā)展?fàn)顩r,對將要進(jìn)行的研究工作做了細(xì)致的設(shè)想。
(二)收集資料階段
課題組遵循統(tǒng)計學(xué)原理采取必要措施得到準(zhǔn)確可靠的原始資料。此階段主要采取了問卷法,主要采集在IT公司工作已畢業(yè)學(xué)生的以下信息:畢業(yè)生就職公司名、就業(yè)城市名、已完成或正在開發(fā)的項目、項目前臺開發(fā)語言及開發(fā)工具、項目后臺開發(fā)語言及開發(fā)工具等。
調(diào)查表由課題組通過輔導(dǎo)員老師向已畢業(yè)學(xué)生的郵箱及QQ群發(fā)布,已畢業(yè)學(xué)生填寫后發(fā)給課題組老師郵箱,課題組教師最終匯總在電子表格中。畢業(yè)生可自愿提交目前薪資水平和期望的薪資水平,作為后續(xù)教研用,但不做本次分析使用。
(三)整理資料階段
從完整性和準(zhǔn)確性兩個方面審核原始資料。使原始資料系統(tǒng)化、條理化,便于進(jìn)一步計算統(tǒng)計指標(biāo)和分析。完成數(shù)據(jù)清理,處理缺失值、光滑噪聲數(shù)據(jù)、識別或刪除錯誤數(shù)據(jù)。
(四)分析資料階段
計算有關(guān)指標(biāo),反映數(shù)據(jù)的綜合特征,闡明事物的內(nèi)在聯(lián)系和規(guī)律。用統(tǒng)計指標(biāo)與統(tǒng)計圖(表)等方法對樣本資料的數(shù)量特征及其分布規(guī)律進(jìn)行描述。對比互聯(lián)網(wǎng)上其它的統(tǒng)計資料做數(shù)據(jù)分析。
五、調(diào)查結(jié)果與分析
(一)調(diào)查結(jié)果
本次調(diào)查經(jīng)收集整理,共采集到272份有效的樣本信息。因開發(fā)語言市場占有率和地域有一定的相關(guān)性,課題組首先進(jìn)行了被調(diào)查者工作所在地的統(tǒng)計。調(diào)查顯示,采集數(shù)據(jù)中有52.94%的畢業(yè)生目前在北京就業(yè)。被調(diào)查者工作單位包括:搜狗、中科軟、中國人民銀行軟件開發(fā)中心、美團、奇虎360等公司。有19.12%的畢業(yè)生選擇在東北地區(qū)的IT企業(yè)就業(yè),就業(yè)企業(yè)包括:哈爾濱工業(yè)大學(xué)軟件工程股份有限公司、哈爾濱有道科技、黑龍江農(nóng)墾墾通信息通信有限公司、招商銀行等。上海、深圳、杭州各占4.41%,其它城市(如天津、南京、濟南等)占14.71%。
然后對被調(diào)查者所用語言統(tǒng)計,得到的畢業(yè)生中主流開發(fā)語言市場占有率如表1所示。
表1 畢業(yè)生中主流開發(fā)語言使用情況
由于C和C++語言有較強的相關(guān)性,在表1中作為同一類開發(fā)語言統(tǒng)計。HTML語言和JavaScript等腳本語言不參加排名。
(二)結(jié)果分析
根據(jù)調(diào)查結(jié)果,課題組深入分析了主流軟件開發(fā)語言的歷史淵源、特點,適用領(lǐng)域、各招聘網(wǎng)站的招聘信息等,認(rèn)定調(diào)查結(jié)果較為真實地體現(xiàn)了當(dāng)前主流開發(fā)語言市場占有率狀況。課題組根據(jù)主流開發(fā)語言市場占有率情況,可預(yù)測出未來一段時間里,主流開發(fā)語言的前景,為制定地方普通高校技術(shù)實踐類課程體系與后續(xù)人才培養(yǎng)方案的修訂積累了扎實的參考資料。
經(jīng)對統(tǒng)計結(jié)果研究分析,對目前的主流開發(fā)語言分析評述如下。
1. Java語言市場占有率占據(jù)第1位,這與國際權(quán)威的語言排行榜TIOBE(https://www.tiobe.com)的位次一致,市場占有比例高達(dá)47.06%(2018年2月的TIOBE榜顯示Java語言的比例為16.38%,占據(jù)所有語言排行榜第1位)。市場占有率如此之高說明我國Java語言的行業(yè)接受程度已經(jīng)非常高,尤其是在一些企業(yè)級項目、大中型Web網(wǎng)站、安卓移動平臺開發(fā)中普遍使用。
2. C語言和C++語言的市場占有率達(dá)到16.18%,在TIOBE榜中兩門語言分列第2和第3位。調(diào)查顯示,在畢業(yè)生目前已完成或目前正在開發(fā)的一些視頻轉(zhuǎn)碼卡、自助繳費機、虛擬現(xiàn)實、電器線控器開發(fā)、數(shù)字集群項目中C語言和C++語言被廣泛使用。
3. PHP語言的在此次調(diào)查中市場占有率占據(jù)第2位,比例高達(dá)17.65%,超過了C語言和C++語言。這與TIOBE的排行榜存在較大差異(TIOBE中PHP位居C#、Python和Visual Basic語言之后排名第7位,占有率僅為3.003%),也與我們之前的預(yù)期有較大差異。初步分析,可能我國Web系統(tǒng)開發(fā)中PHP采用率較高,且地方普通高校本科畢業(yè)生中從事Web開發(fā)人員的比例也相對偏高的原因。
4. 調(diào)查中也體現(xiàn)了語言的區(qū)域差異,如Visual Basic語言在此次統(tǒng)計中沒有畢業(yè)生反饋目前使用,但該語言在國外使用率相對較高,這說明語言的市場占有率確實需要因地制宜進(jìn)行分析。
5. C#語言的應(yīng)用場合和Java類似,但在非Windows領(lǐng)域和移動端開發(fā)的采用率不理想限制了該語言的市場占有率。另外調(diào)查顯示該語言在深圳地區(qū)、東北地區(qū)的畢業(yè)生中使用率相對較高,在北京地區(qū)相對較少,顯示了語言的地域差別特點。
6. 調(diào)查顯示目前Python語言的市場占有率已略微超過了C#語言。近年來Python語言在機器學(xué)習(xí)、數(shù)據(jù)分析與挖掘、自動化測試和運維、Web開發(fā)等領(lǐng)域迅速流行,未來人才缺口也相對較大。
六、結(jié)束語
綜上所述,現(xiàn)階段Java、C、C++三門語言的市場采用率較高,可在培養(yǎng)方案中通過保證授課總學(xué)時、調(diào)整理論學(xué)時和實踐學(xué)時比、加強期末考核的力度和科學(xué)性、組織學(xué)生參加大學(xué)生程序設(shè)計競賽、對后續(xù)知識及課程再擴展(如開設(shè)Java EE課程)、適當(dāng)增加課程設(shè)計等實踐環(huán)節(jié)學(xué)時、組織學(xué)生參加校外專門培訓(xùn)機構(gòu)培訓(xùn)等方式不斷提高學(xué)生對以上語言的掌握程度和實踐開發(fā)能力[4]。其中至少一門語言能達(dá)到精通或非常熟悉的程度,以保證學(xué)生在將來的就業(yè)市場上有一定的競爭能力[5]。
在掌握以上基礎(chǔ)語言的基礎(chǔ)上,應(yīng)面向?qū)碛幸庠笇iT從事Web開發(fā)的學(xué)生開設(shè)PHP程序設(shè)計和JavaScript語言為基礎(chǔ)的網(wǎng)頁前端頁面開發(fā)課程;對理論知識較好將來有意考研的同學(xué)或有意愿從事大數(shù)據(jù)分析與挖掘、機器學(xué)習(xí)、自動化運維的同學(xué)開設(shè)Python語言程序設(shè)計相關(guān)課程。在課時允許情況下,可面向?qū)碛幸庠笇9indows系統(tǒng).NET框架下開發(fā)同學(xué)開設(shè)C#程序設(shè)計相關(guān)的課程。
由于課題組能力有限,調(diào)查對象的選擇覆蓋面可能有所欠缺,數(shù)據(jù)量也相對偏少,可能導(dǎo)致反映的調(diào)查結(jié)果比較片面,課題組后續(xù)應(yīng)逐步增加樣本數(shù)量,從而提高數(shù)據(jù)的全面性和客觀性。
參考文獻(xiàn):
[1]劉元林,張增鳳,孟慶強.實踐類課程教學(xué)質(zhì)量監(jiān)控體系的研究與實踐[J].實驗室研究與探索,2009,28(8):126-128.
[2]聶秀山,林培光,馬林元.地方財經(jīng)類高校計算機實踐教學(xué)模式構(gòu)建[J].計算機教育,2016(4):59-62.
[3]宋芳.工程實踐類課程教學(xué)體系改革的探討[J].教育教學(xué)論壇,2017(32):98-99.
[4]申志軍,郭玉波.計算機專業(yè)編程實踐類課程考核方法探索[J]. 教育觀察,2017,6(13):101-102.
[5]侯暢,王阿川.面向企業(yè)需求的Java課程教學(xué)改革策略研究[J]. 黑龍江教育(高教研究與評估),2014(1):41-42.