国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

軟件工程專業(yè)編程語言選擇及教學方法探討

2017-04-12 03:19:52谷靈康
淮南職業(yè)技術學院學報 2017年1期
關鍵詞:編程語言編程語言

谷靈康

(安徽工程大學計算機與信息工程學院, 安徽蕪湖241000)

軟件工程專業(yè)編程語言選擇及教學方法探討

谷靈康

(安徽工程大學計算機與信息工程學院, 安徽蕪湖241000)

隨著計算機技術的發(fā)展,出現了多種編程語言,特別是軟件工程專業(yè)的迅速發(fā)展,編程語言的選擇及教學方法的改革也更加迫切,為適應就業(yè)需要, 選擇開設合適的編程語言,同時要求理論教學和實踐教學要有效結合, 教學要與時俱進, 這樣才能培養(yǎng)出社會需要的優(yōu)秀編程人員。

軟件工程; 編程語言; 教學改革

一、軟件工程專業(yè)人才的需求環(huán)境概述

軟件產業(yè)是信息產業(yè)的核心,是關系國民經濟和社會發(fā)展的基礎性、戰(zhàn)略性新興產業(yè),是信息化建設的關鍵環(huán)節(jié)和21世紀國際競爭的制高點。軟件產業(yè)保持健康、快速發(fā)展的關鍵是人才培養(yǎng),但我國乃至全球的軟件工程技術人才尚有較大缺口[1]。因此,做好軟件產業(yè)的“源頭活水”,形成一支有相當規(guī)模和質量的從事軟件開發(fā)與應用的專業(yè)人才,特別是努力造就一批具有國際化、創(chuàng)新型、工程化的復合型軟件工程人才,為軟件產業(yè)的持續(xù)健康發(fā)展保駕護航是百年大計,而編程語言又是軟件工程專業(yè)的核心課程,因此對于編程語言的選擇及教學方法研究是重中之重。

二、主流編程語言分析及選擇

針對目前軟件工程專業(yè)需要選擇開設什么編程語言,想成長為頂尖Coder需要選擇什么編程語言?TIOBE 2016年10月發(fā)布的編程語言中,Java毫無懸念成為第一名。TIOBE編程語言社區(qū)排行榜是編程語言流行趨勢的一個指標,這份排行榜排名基于互聯網上有經驗的程序員、課程和第三方廠商的數量。排名使用著名的搜索引擎進行計算。在Top20榜單(如圖1所示)中,Groovy 在 2015 年底出現了爆炸性的增長,因此在 2017 年 1 月左右的增長速度可能就不會太快了。谷歌的 Go 語言增張速度最快為1.67%,這其中 Docker 這個以 Go 語言寫就的容器應用普及開來很可能在其中助了一把力。 其他類似 Objective-C、Swift 以及R語言等編程語言的年度增長率雖接近1%,但還達不到年度編程語言的標準。特別是再次擠入候選名單的 Objective-C,從 2014 年 4 月的 12.875 % 下跌到 2016 年 1 月的 1.074 %,不過目前又在回升了。 另一個引入注目的編程語言則屬Python,其份額在持續(xù)上升中,目前排名第五位,Python易于學習,而且借助Python還可進行全棧開發(fā)。

這個編程語言排行榜,會隨著社會發(fā)展及需求的變化而變化,前10名編程語言走勢圖如圖2所示。

下面來分析一下目前主流的幾種編程語言:

(一) C#

這是一款強大而靈活的編程語言。與其它編程語言一樣,它也可用于創(chuàng)建多種應用程序。事實上,C#的功能只受限于我們的想象力。該語言對開發(fā)者的操作內容完全不設任何限制,其可被用于交付動態(tài)網站、開發(fā)工具甚至是編譯器等。用途:Windows應用、企業(yè)級業(yè)務應用和軟件開發(fā)。優(yōu)勢:.net庫。全面集成.net庫,提供出色的功能與支持庫訪問能力;可轉換性。其基于C語言,因此C#的結構可轉移至Java、Objective-C、PHP以及C++等其它語言形式;需求旺盛。C#加Java為目前各企業(yè)需求最為旺盛的軟件開發(fā)技能組合。弊端:不適合新手。C#并不是最適合新手們進行入門學習的編程語言,其學習曲線非常陡峭;跨平臺能力差。由于集成.net,因此不具備跨平臺能力[2]。

圖1 編程語言Top20排行榜

圖2 編程語言Top10走勢圖

(二) Objective-C

是一款通用型面向對象編程語言,其本質上是將Smalltalk類消息收發(fā)機制添加到C語言當中。其目前為蘋果公司在OS X及iOS操作系統上的主要編程語言,并配合各自的應用程序編程接口。用途:iOS應用程序、蘋果公司的首選語言用于構建Mac OS與iOS。優(yōu)勢:庫。Objective-C編程語言的開發(fā)目標緊緊圍繞與Cocoa編程框架的協作需要,這意味著其能夠訪問蘋果的開發(fā)庫;Objective-C運行時。由于Objective-C編寫的程序往往動態(tài)程度更高,且能夠收集自身相關信息以決定相關內存或數據類型,而無需在編碼過程中由開發(fā)者自行選擇;使用范圍有限。盡管Objective-C擁有諸多出色特性,但其使用范圍限定意味著我們無法為Android等其它平臺開發(fā)應用。弊端:學習曲線。上手難度比較高,要求學習者具備一定的C語言知識基礎;不夠直觀。大家不可能在幾周之內學會如何開發(fā)程序,一般來講,我們可能需要投入一年才能拿出比較像樣的開發(fā)成果;不同于其它的編程思路。蘋果擁有自己的編程方法思路,且與其它編程思路差別較大。

(三) C++

是一款面向對象編程語言,被廣泛視為最出色的大規(guī)模應用構建語言。C++屬于C語言的一個超集。用途:可用于搜索引擎、操作系統、視頻游戲及軟件開發(fā)。優(yōu)勢:助你脫穎而出。掌握C/C++能夠幫助大家在眾多開發(fā)人才當中脫穎而出,掌握了C/C++,大家能夠深入了解Java或Python等編程語言中的內存管理機制,并了解如何回避各類常見的陷阱與難題;靈活的調整空間。C++允許大家對自己的應用進行靈活調整并充分發(fā)揮計算機的全部性能。與Java相比,C++的編程過程并不友好,但我們卻能夠利用它實現一切操作。弊端:艱難的學習曲線。C++非常難于學習,但在掌握之后大家將直接登上程序員金字塔的塔尖;極為龐大。C++規(guī)模可觀且擁有大量極為復雜的功能交互方式。沒有哪位開發(fā)者能夠使用其提供的全部構建組件,但我們可以充分發(fā)揮自己的才智為程序選擇正確的功能子集。

(四) Java

是一款非常有人氣的編程語言,而且易學。用途:可以用于Android & IOS應用開發(fā)、視頻游戲開發(fā)、桌面GUIs和軟件開發(fā)。優(yōu)勢:市場對Java開發(fā)者需求旺盛。Dice.com于2015年5月發(fā)布的報告指出,Java開發(fā)崗位為目前需求量最大的軟件技能方向;不斷發(fā)展的語言。Java平臺不斷迎來新功能,包括lambda機制的引入;Android應用開發(fā)的基石。Google公司的Android移動平臺是目前全球范圍內人氣最高的移動平臺。開發(fā)者可以利用自己的Java技能為Android系統開發(fā)應用。弊端:占用大量內存。Java使用的內存量高于C++;學習曲線。并不屬于最易于上手的語言,當然也不是最難學習的語言;啟動時間較長。任何曾經利用Java語言開發(fā)過Android應用的朋友,都一定會對其模擬器代碼在臺式機上緩慢的運行速度留下深刻印象。Java程序員最佳去向:ebay、amazon、IBM等大公司。

(五) Python

是一項服務器端解釋型開源非編譯腳本語言??蓡为毷褂?,也可以作為django等框架的組成部分。用途:Web開發(fā)、視頻游戲開發(fā),桌面GUIs和軟件開發(fā)。優(yōu)勢:易于學習。Python作為最易于掌握的編程語言而擁有極高人氣;庫。廣泛的工具及功能庫能夠幫助大家輕松完成構建工作;物聯網。Python將隨著物聯網技術的普及而進一步發(fā)展,目前Raspberry Pi等新型平臺已經將其作為開發(fā)基礎。弊端:速度。作為一種解釋型語言,其速度往往低于編譯語言;移動。Python在移動計算領域的表現比較糟糕。利用Python開發(fā)的移動應用非常罕見;設計。Python語言在設計上存在一些問題,其屬于動態(tài)類語言,因此需要進行更多測試且會帶來某些只在特定運行時出現的錯誤[3]。

三、編程語言教學方法思考

(一) 理論教學和實踐教學要有效結合

針對學生的特點與基礎, 以培養(yǎng)思維和應用能力, 增加可接受度為目標, 突破傳統, 銳意創(chuàng)新, 采用大眾化、通俗化、多元化的案例教學方法, 形成了以“案例”帶動知識點并貫穿整個教學過程的。具體來說就是, 在講授編程語言的過程中,首先由任課教師將一次課或幾次課的相關內容融合在一起編寫一個或幾個生動的程序實例。在講授相應的內容之前, 先給同學們演示實例, 引起他們的學習興趣, 然后再講授相應的知識點。結合所講授的計算機語言可以引入一些典型問題。在講授相應問題解法時, 可以結合同學們之前學過的相關課程的知識點, 如數據結構中的鏈表、特殊矩陣、排序等, 使同學們在學習編程語言的同時, 將從前所學的課程融會其中, 從而激發(fā)學生學習興趣, 鍛煉動手能力, 熟練語言的使用,提高編程技巧。

(二) 采用多種考試方式

考試內容應反映學生基本理論和基本技能的掌握情況, 以及分析和解決問題的綜合運用能力情況, 而不是課堂教學內容的簡單重復。要有意識地培養(yǎng)學生的創(chuàng)新意識和創(chuàng)新能力, 使考試真正能夠對學生知識、能力、素質進行全面測試評價, 從而促進學生平時的學習。期末考試的成績由理論考試 30 分, 上機考試 30 分, 實驗 30 分, 平時 10 分四部分組成。理論考試在期末進行, 卷面滿分 100分, 計算總分時乘 30 %。上機考試在期末進行, 讓學生在計算機上編寫程序, 滿分 30 分??紤]到上機考試覆蓋面有限, 并且為了突出動手能力在學習中的重要性, 對于實驗成績的評定, 我們可以在平時的課堂上給同學們陸續(xù)留10 道編程題, 學生可以任選 5 道題, 即留即做, 做完老師檢查。通過學生的演示及對老師提出問題的回答來判斷該生是否能獨立完成、完成質量、對相應知識點的理解情況, 按每題 6 分由任課教師給出分數, 最后算出 5 道題的總分作為該生的實驗成績。對于平時成績, 考慮該生的平時情況給出。這樣的考試方式可以既全面考察學生對知識的掌握情況, 又突出了重點, 而且可以有效提高學生的動手能力[4]。

(三) 教學要與時俱進

教師要了解軟件行業(yè)發(fā)展的最新動態(tài)和一些新興的熱門職業(yè)的從業(yè)要求, 將相關內容介紹給學生們。例如, 我國軟件外包服務市場經過幾年的發(fā)展, 規(guī)模高速增長, 實力顯著增強, 在國際市場上的知名度也越來越高。中國軟件行業(yè)協會認為, 一方面歐美等國家出于規(guī)避風險及降低成本的考慮, 開始把某些項目向中國轉移; 另一方面國內軟件外包服務商近幾年開始把觸角延伸到國外, 并通過收購、設立分支機構等策略“走出去”, 在這一行業(yè)中尤其活躍的風險投資商將為服務外包的發(fā)展增加推動力, 而上市也已經成為許多主力軟件與服務外包服務商的近期重要目標。

四、總結

在教學中, 要有效的加入與就業(yè)相關的最前沿的咨訊, 提高同學們學習的主動性、目的性, 增強他們對未來就業(yè)的自信心, 讓他們認識到從事計算機行業(yè)是有發(fā)展有前途的。這就要求任課教師必須了解軟件行業(yè)及就業(yè)的最新動態(tài), 例如上網查資料、參加培訓學習、參加人才招聘會、去軟件行業(yè)發(fā)展快的地區(qū)去考查等。

另外,國家現在大力推進勞動準入制度和職業(yè)資格證書制度, 這意味著我們的學生若想畢業(yè)后迅速就業(yè), 就必須在畢業(yè)之前經過職業(yè)培訓, 并取得相關的職業(yè)資格證書。這樣當我們的學生畢業(yè)后不僅有學歷證書, 還有一個或多個軟件領域的職業(yè)資格證書。作為任課教師, 我們應該參加相應的考試, 在取得證書的同時, 深入細致地了解與資格考試相關的內容, 從而進行課堂教學的改革, 有針對性的強化實踐鍛煉, 強化職業(yè)技能認證的訓練, 緊密聯系用人的第一線。

[1] 史廣.高校計算機語言類編程教學特點及階段探討[J].吉林省教育學院學報,2016,32(3):46-48.

[2] 谷靈康.《C#語言》教學方法研究[J].電腦知識與技術,2015,11(24):84-86.

[3] 嵩天,黃天羽,禮欣. Python 語言:程序設計課程教學改革的理想選擇[J].中國大學教育,2016(2):44-47.

[4] 姚琳,汪紅兵,張敏,等.程序設計比賽對程序設計語言教學的啟發(fā)[J].計算機教育,2015(2):103-106.

Discussion on Choice and Teaching Methods of Programming Language in Software Engineering Major

GU Lingkang

(CollegeofComputerandInformation,AnhuiPolytechnicUniversity,WuhuAnhui241000)

With the development of computer technology, a variety of programming languages appear. Especially with the rapid development of software engineering, the choice of programming language and the reform of teaching methods become more and more urgent. In order to meet the needs of employment, we should choose the right programming language, and meanwhile combine the theory teaching with practice teaching effectively. The teaching should keep pace with the times, so as to cultivate the excellent programming personnel that meet the needs of the society.

Software engineering; programming language; teaching reform

2016-12-06

國家自然科學基金(項目編號:61300170);安徽省自然科學基金(項目編號:KJ2015A311);安徽省級自然科學研究(項目編號:TSKJ2014B11)

谷靈康(1981-),男,安徽臨泉人,碩士,講師,研究方向為計算機視覺、圖像處理與識別,電話:1505327292。

G642

A

1671-4733(2017)01-0090-04

10.3969/j.issn.1671-4733.2017.01.028

猜你喜歡
編程語言編程語言
我家有只編程貓
我家有只編程貓
我家有只編程貓
我家有只編程貓
壓力-體積轉換在CFC編程語言中的實現解析
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
Java編程語言的特點與應用
讓語言描寫搖曳多姿
淺談不同編程語言對計算機軟件開發(fā)的影響
電子制作(2018年1期)2018-04-04 01:48:36
累積動態(tài)分析下的同聲傳譯語言壓縮
张家界市| 罗源县| 安溪县| 炉霍县| 渑池县| 呼和浩特市| 宜春市| 南平市| 赤水市| 施秉县| 昌乐县| 中宁县| 古蔺县| 文成县| 永靖县| 闻喜县| 永新县| 蒲江县| 万荣县| 大丰市| 弋阳县| 扶余县| 望江县| 南召县| 太仓市| 定兴县| 呼玛县| 恭城| 黔江区| 阳新县| 榆树市| 方山县| 武安市| 绵阳市| 辽宁省| 台前县| 沙湾县| 灵丘县| 云霄县| 龙江县| 昔阳县|