• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向新工科和全棧工程師的軟件人才培養(yǎng)模式改革

      2020-01-17 01:47:54嚴(yán)
      關(guān)鍵詞:全棧工科代碼

      胡 平 汪 軍 劉 濤 嚴(yán) 楠

      (安徽工程大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽 蕪湖 241000)

      一、新工科與全棧軟件工程師

      1.新工科的內(nèi)涵

      2017年2月,教育部在復(fù)旦大學(xué)召開了高等工程教育發(fā)展戰(zhàn)略研討會(huì),探討面向未來(lái)的新工科建設(shè),以滿足新形勢(shì)下的人才需求[1]。之后,隨著復(fù)旦共識(shí)、天大行動(dòng)、北京指南等一系列宣言的發(fā)布,更加速了新工科在全國(guó)各高校的落地。2019年4月,教育部啟動(dòng)一流本科專業(yè)建設(shè)“雙萬(wàn)計(jì)劃”——2019年至2021年建設(shè)1萬(wàn)個(gè)左右國(guó)家級(jí)一流本科專業(yè)點(diǎn)和1萬(wàn)個(gè)左右省級(jí)一流本科專業(yè)點(diǎn)。同時(shí),要求高校主動(dòng)適應(yīng)新一輪科技革命和產(chǎn)業(yè)變革,著力深化專業(yè)綜合改革,優(yōu)化專業(yè)結(jié)構(gòu),積極推進(jìn)新工科建設(shè)。

      對(duì)新工科具體內(nèi)涵的理解可能因人而異,但大多贊同以下觀點(diǎn)——新工科是指在新一輪科技革命、產(chǎn)業(yè)變革以及生產(chǎn)模式轉(zhuǎn)型背景下,面向當(dāng)前新經(jīng)濟(jì)形勢(shì)和未來(lái)國(guó)家發(fā)展需要,運(yùn)用新興技術(shù)建設(shè)和發(fā)展一批新型工科,或改造和升級(jí)一批傳統(tǒng)工科,以培養(yǎng)具有較強(qiáng)實(shí)踐應(yīng)用、創(chuàng)新思維以及跨界整合能力[2],較好滿足工業(yè)界用人需求的應(yīng)用型技術(shù)人才。

      2.全棧軟件工程師的技能要求

      全棧(Full Stack)即全技術(shù)棧,其包含了一款軟件產(chǎn)品從需求分析、UI/UX、架構(gòu)、技術(shù)選型、算法、性能、安全、開發(fā)、測(cè)試、上線及維護(hù)的一切技術(shù),其中的每一個(gè)環(huán)節(jié)都對(duì)應(yīng)著眾多的可選開源技術(shù)。全棧工程師目前已成為軟件企業(yè)最青睞的人,因此,以全棧軟件工程師為培養(yǎng)導(dǎo)向來(lái)組織和實(shí)施相關(guān)課程群的教學(xué)無(wú)疑是契合新工科內(nèi)涵的較好途徑之一。

      要培養(yǎng)全棧軟件工程師,必須先讓學(xué)生了解課程群中具體包含哪些技術(shù)棧以及它們之間的銜接關(guān)系。因此,除了課程的知識(shí)點(diǎn)傳授和必要的能力培養(yǎng)外,教師還應(yīng)向?qū)W生介紹課程群中各門課程在整個(gè)技術(shù)領(lǐng)域中所處的位置(特別是各門課程之間的承上啟下關(guān)系),以便學(xué)生選擇自身感興趣的技術(shù)方向并在課程結(jié)束后制定適合其自身的學(xué)習(xí)路線。圖1給出了Java技術(shù)方向下的全棧軟件工程師的典型學(xué)習(xí)路線。

      圖1 全棧軟件工程師學(xué)習(xí)路線(以Java方向?yàn)槔?

      二、課程群內(nèi)容設(shè)置

      1.立足工業(yè)界需求

      表1 2019年10月TIOBE指數(shù)排名前5的編程語(yǔ)言

      高校的根本任務(wù)是培養(yǎng)社會(huì)和企業(yè)需要的專業(yè)技術(shù)人才。對(duì)于計(jì)算機(jī)和軟件相關(guān)專業(yè),對(duì)工業(yè)界需求,就不得不提TIOBE指數(shù)排行[3]。該指數(shù)基于全世界有經(jīng)驗(yàn)的工程師、開設(shè)的課程以及第三方軟件廠商的數(shù)量,并通過Google、Bing、Wikipedia等主流搜索引擎計(jì)算得到的——本身就具有強(qiáng)烈的工程屬性和工業(yè)色彩,因此較為客觀地反映了當(dāng)前絕大多數(shù)軟件企業(yè)和從業(yè)者所用技術(shù)的流行趨勢(shì)。表1所示為2019年5月TIOBE指數(shù)排名前5的編程語(yǔ)言。

      以多年來(lái)穩(wěn)居TIOBE指數(shù)排行第一的Java為例,其支持從消費(fèi)類電子產(chǎn)品到超級(jí)計(jì)算機(jī)、從智能移動(dòng)終端應(yīng)用到企業(yè)級(jí)分布式計(jì)算等各種場(chǎng)景,已成為網(wǎng)絡(luò)環(huán)境下軟件開發(fā)的首選技術(shù)之一。因此,國(guó)內(nèi)高校的計(jì)算機(jī)和軟件相關(guān)專業(yè)通常都有多門專業(yè)基礎(chǔ)、方向課程及其實(shí)踐環(huán)節(jié)直接與Java相關(guān)(或以Java作為知識(shí)點(diǎn)的實(shí)現(xiàn)和驗(yàn)證語(yǔ)言),具體如面向?qū)ο蟪绦蛟O(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、Web程序設(shè)計(jì)(JSP)、智能移動(dòng)終端軟件開發(fā)(Android)、大數(shù)據(jù)與云計(jì)算(Hadoop)、企業(yè)級(jí)軟件開發(fā)技術(shù)(JavaEE)、軟件設(shè)計(jì)與體系結(jié)構(gòu)等。

      2.從實(shí)踐者視角組織知識(shí)點(diǎn)

      要立足新工科和全棧軟件工程師,就必須從工程應(yīng)用和實(shí)踐者視角組織課程知識(shí)點(diǎn)。對(duì)于當(dāng)今的軟件規(guī)模和復(fù)雜度,軟件開發(fā)不僅僅是“語(yǔ)法+API+算法”,更是語(yǔ)言、平臺(tái)、標(biāo)準(zhǔn)和規(guī)范的總和,這一點(diǎn)可以通過目前各種主流開發(fā)技術(shù)的官網(wǎng)文檔所含內(nèi)容之多得到印證。另一方面,隨著開源思潮逐漸成為趨勢(shì),各種開源社區(qū)的蓬勃發(fā)展反過來(lái)進(jìn)一步加快了相應(yīng)開發(fā)技術(shù)的發(fā)展。教師必須意識(shí)到,即使是課程群中最為基礎(chǔ)的程序設(shè)計(jì)類課程,也幾乎不可能將其所含全部知識(shí)點(diǎn)在一門課程中覆蓋。因此,教師在組織課程內(nèi)容時(shí),不應(yīng)追求大而全,而應(yīng)著重介紹所涉及的核心知識(shí)。

      以Java為例,由于Java的發(fā)展一直非?;钴S,例如JDK的發(fā)布周期由原來(lái)的數(shù)年變?yōu)榘肽?、JavaEE和Android平臺(tái)不斷引入新特性、流行的開源框架層出不窮等。目前,一些高校的Java程序設(shè)計(jì)課程仍然花費(fèi)較大篇幅講授那些工業(yè)界早已不再使用或有其它更好替代方案的技術(shù),如AWT組件、Applet、遺留容器等,這與新工科的內(nèi)涵要求背道而馳。

      我們認(rèn)為,軟件開發(fā)相關(guān)課程群的教學(xué)內(nèi)容不應(yīng)追求大而全,而應(yīng)結(jié)合行業(yè)發(fā)展、與時(shí)俱進(jìn),多介紹目前在工程實(shí)踐中廣泛使用的知識(shí),使得學(xué)生畢業(yè)時(shí)不僅能較好滿足企業(yè)相關(guān)崗位的技術(shù)需求,同時(shí)也具備今后自主、高效學(xué)習(xí)該技術(shù)領(lǐng)域未來(lái)新知識(shí)的能力。

      以筆者所在學(xué)校的Java程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)(C++)為例,課程涵蓋了目前在工業(yè)界中使用最為廣泛的JDK8和C++11的全部語(yǔ)法特性,包括Lambda表達(dá)式與函數(shù)式編程、泛型容器與模板庫(kù)、正則表達(dá)式、反射與注解等。此外,課程還以專題形式介紹了主流IDE的使用、API文檔和源碼查閱、編程規(guī)范與最佳實(shí)踐、全棧軟件工程師學(xué)習(xí)路線等帶有強(qiáng)烈工程和工業(yè)色彩的內(nèi)容。

      三、學(xué)生能力培養(yǎng)與達(dá)成

      當(dāng)前,全國(guó)很多高校的專業(yè)正在進(jìn)行教育部工程教育專業(yè)認(rèn)證,其核心是考察學(xué)生各方面能力的培養(yǎng)與達(dá)成情況。因此,課程群不應(yīng)僅僅局限于學(xué)生理解和掌握知識(shí)點(diǎn),而更應(yīng)該通過知識(shí)點(diǎn)使得學(xué)生具備相應(yīng)的能力。

      1.從語(yǔ)法/API過渡到分析/設(shè)計(jì)

      軟件項(xiàng)目的成功實(shí)施離不開經(jīng)驗(yàn)豐富的系統(tǒng)分析和設(shè)計(jì)人員,底層的設(shè)計(jì)比上層的編程更為重要——若底層設(shè)計(jì)考量充分,即使上層某個(gè)模塊的代碼寫得很糟糕,最壞情況也只是重寫該模塊。反過來(lái),糟糕的設(shè)計(jì)不僅會(huì)增加上層各模塊的編程難度,更為嚴(yán)重的是,需求的一點(diǎn)點(diǎn)變更(軟件項(xiàng)目的需求變更是頻繁且無(wú)法避免的)都可能引起現(xiàn)有代碼的大面積重寫,從而大大增加了項(xiàng)目失敗的風(fēng)險(xiǎn)。因此,在有了一定的編程經(jīng)驗(yàn)之后,教師應(yīng)引導(dǎo)學(xué)生關(guān)注GoF設(shè)計(jì)模式和軟件分層架構(gòu)等更高層面的知識(shí),這對(duì)于學(xué)生今后在企業(yè)中學(xué)習(xí)和使用各種開源框架也是大有好處的。

      我們?cè)诟鱾€(gè)課程中適當(dāng)安排了一些設(shè)計(jì)模式及主流開源框架實(shí)現(xiàn)原理等方面的內(nèi)容,并通過實(shí)際案例引導(dǎo)學(xué)生對(duì)軟件設(shè)計(jì)層面的理解,為其今后進(jìn)入軟件從業(yè)人員金字塔上層提供可能。

      2.遵循慣例約定,強(qiáng)調(diào)最佳實(shí)踐

      良好規(guī)范與最佳實(shí)踐對(duì)于開發(fā)軟件項(xiàng)目極其重要,同一軟件項(xiàng)目的每個(gè)參與者都必須遵守一致的編程規(guī)范,原因在于:第一,軟件企業(yè)通常會(huì)在第二輪面試中讓求職者現(xiàn)場(chǎng)編程,而從一個(gè)人編寫的代碼就能判斷出其是否受過正規(guī)的訓(xùn)練;第二,軟件工程師經(jīng)常需要接手他人編寫的代碼;第三,軟件的測(cè)試與維護(hù)人員往往不是代碼的最初編寫者;第四,最好的注釋就是代碼本身——遵循規(guī)范并具有良好自說(shuō)明性的代碼幾乎不需要注釋。

      另一方面,隨著各種開源框架在分布式企業(yè)級(jí)項(xiàng)目開發(fā)中的廣泛使用,近年來(lái),在軟件開發(fā)領(lǐng)域流行一句名言——約定優(yōu)于配置、配置優(yōu)于編程。慣例和約定不是企業(yè)對(duì)開發(fā)人員制定的可遵循可不遵循的代碼書寫規(guī)范,遵守慣例和約定是成為一名優(yōu)秀的軟件工程師所必須具備的素質(zhì)之一。良好的編程規(guī)范和最佳實(shí)踐通常是跨語(yǔ)言的,制定并在教學(xué)的各個(gè)環(huán)節(jié)中遵循已被實(shí)踐證明的、有利于提升代碼質(zhì)量的編程規(guī)范與最佳實(shí)踐不僅能顯著提升代碼質(zhì)量,而且可以使得學(xué)生提前適應(yīng)企業(yè)的用人需求。教師在課件制作、板書、編程演示、實(shí)驗(yàn)指導(dǎo)等環(huán)節(jié)涉及到的各種標(biāo)識(shí)符命名、代碼縮進(jìn)以及代碼風(fēng)格,都要注意遵守規(guī)范而不要圖方便——防止學(xué)生潛移默化,從一開始就養(yǎng)成不好的習(xí)慣。

      以筆者所在學(xué)校為例,教師在課前專門介紹了知名軟件企業(yè)所遵循的編碼規(guī)范與最佳實(shí)踐,例如阿里巴巴于2017年9月正式發(fā)布的阿里巴巴Java開發(fā)手冊(cè)。在實(shí)際編寫代碼過程中,為強(qiáng)制學(xué)生遵循規(guī)范并改正不好的編程習(xí)慣,我們?cè)趯?shí)驗(yàn)機(jī)房安裝了相關(guān)的代碼規(guī)約掃描插件,例如阿里巴巴于2017年10月發(fā)布的P3C插件——IDE會(huì)自動(dòng)掃描項(xiàng)目源碼是否滿足指定的規(guī)范,并給出相應(yīng)提示和建議。

      3.踐行OBE理念

      當(dāng)前,以面向產(chǎn)出、成果導(dǎo)向?yàn)榇淼慕逃砟钜阎饾u深入人心,衡量教學(xué)效果的方式已從傳統(tǒng)的評(píng)價(jià)教師是否教得好轉(zhuǎn)變?yōu)樵u(píng)價(jià)學(xué)生是否學(xué)得好。因此,在設(shè)置課程內(nèi)容和知識(shí)點(diǎn)時(shí),必須始終以學(xué)生為中心,充分考慮學(xué)生的認(rèn)知習(xí)慣和接受能力。

      我們認(rèn)為,課程內(nèi)容依照先感性再理性、先表象再原理,同時(shí)要求學(xué)生在課下主動(dòng)閱讀官方文檔無(wú)疑是較好的方式。通過官方文檔中類似于Quick Start(快速入門)的內(nèi)容,可以讓學(xué)生對(duì)一種技術(shù)有一個(gè)概覽性的認(rèn)識(shí)——該技術(shù)是什么、能做什么、以及該技術(shù)的簡(jiǎn)單示例。若要以該技術(shù)開發(fā)實(shí)際項(xiàng)目,則還需要繼續(xù)閱讀其Reference/Guide(參考/指南)——與該技術(shù)的高級(jí)主題相關(guān)的文檔及最佳實(shí)踐。

      相比之下,快速入門內(nèi)容簡(jiǎn)單,學(xué)生通過其中可實(shí)踐的示例,能夠快速掌握一門技術(shù)最基本的用法,但其缺點(diǎn)也很明顯——很難指導(dǎo)實(shí)際項(xiàng)目的開發(fā)。而參考/指南雖擴(kuò)展和延伸度都較為深入,但學(xué)生閱讀這樣的內(nèi)容,不僅需要花費(fèi)大量的時(shí)間,而且往往會(huì)因?yàn)闆]有實(shí)際項(xiàng)目經(jīng)驗(yàn)而不自知地偏離學(xué)習(xí)主線。因此,教師在組織課程內(nèi)容時(shí)要注意在快速入門和參考指南之間合理平衡。

      四、實(shí)踐與總結(jié)

      以上改革舉措已在我校計(jì)算機(jī)與信息學(xué)院的計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、數(shù)據(jù)科學(xué)與大數(shù)據(jù)、物聯(lián)網(wǎng)工程等專業(yè)開設(shè)的面向?qū)ο蟪绦蛟O(shè)計(jì)(C++)、Java程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫(kù)原理與應(yīng)用、Web程序設(shè)計(jì)、智能移動(dòng)終端軟件開發(fā)(Android)、軟件設(shè)計(jì)與體系結(jié)構(gòu)、數(shù)據(jù)挖掘等課程推行,從4年來(lái)的實(shí)施效果看,學(xué)生對(duì)專業(yè)課的學(xué)習(xí)主動(dòng)性及工程實(shí)踐能力有了明顯改觀,并取得了一定的成績(jī),具體如表2所示。

      表2 實(shí)施改革4年來(lái)取得的成績(jī)

      目前,我院的計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程專業(yè)正在積極申報(bào)國(guó)家工程教育專業(yè)認(rèn)證。下一步,我們將對(duì)標(biāo)工程認(rèn)證的畢業(yè)要求十二條以及教育部的“金課”建設(shè)標(biāo)準(zhǔn),進(jìn)一步調(diào)整優(yōu)化課程群內(nèi)容設(shè)置及教學(xué)手段,并結(jié)合MOOC、智慧課堂等平臺(tái)全面提升教學(xué)質(zhì)量。

      猜你喜歡
      全棧工科代碼
      軟硬件底座全棧聚合,智慧重構(gòu)交通新圖景——專訪拓維信息副總裁、開鴻智谷公司總裁廖秋林
      基于項(xiàng)目班的全棧開發(fā)人才培養(yǎng)模式探索
      山西青年(2022年9期)2022-11-23 01:24:27
      87年工科“學(xué)霸”成都追夢(mèng)記
      先鋒(2022年9期)2022-05-30 10:48:04
      惠爾智能 自動(dòng)駕駛?cè)珬=鉀Q方案
      汽車觀察(2021年8期)2021-09-01 10:12:41
      新工科下創(chuàng)新型人才培養(yǎng)的探索
      新工科背景下項(xiàng)目推動(dòng)式教學(xué)模式的探索
      網(wǎng)易云發(fā)布全球首款云計(jì)算全棧一體機(jī)
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      绥阳县| 彰武县| 河南省| 麻栗坡县| 舟山市| 个旧市| 安乡县| 二手房| 舒兰市| 霍林郭勒市| 卓尼县| 临潭县| 吐鲁番市| 琼结县| 新乐市| 石城县| 桓台县| 铜陵市| 翁源县| 乌苏市| 治多县| 华阴市| 双桥区| 务川| 东阿县| 秦皇岛市| 咸丰县| 玉山县| 克东县| 泰来县| 浑源县| 炎陵县| 乌拉特前旗| 乌苏市| 翁牛特旗| 岱山县| 循化| 遵义县| 鄢陵县| 称多县| 新竹县|