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

?

基于編程技能的Java課程教學創(chuàng)新與改革

2019-07-16 06:06亓曉靜
職教通訊 2019年6期
關(guān)鍵詞:拓展訓練應用型本科實踐教學

摘 要:在大批普通本科高校向應用型本科轉(zhuǎn)型的背景下,為了契合應用型人才的培養(yǎng)目標,提升學生的編程技能,福州大學至誠學院開設(shè)了“Java程序高級開發(fā)”課程,并以此課程為載體,開展教學改革,以實踐教學為主線,以拓展訓練為特色,將多種現(xiàn)代教育技術(shù)手段引入課堂,形成多元化的、混合的綜合教學模式。

關(guān)鍵詞:應用型本科;編程技能;實踐教學;拓展訓練

基金項目:2018年度福州大學至誠學院課程改革項目“Java程序高級開發(fā)”(項目編號:ZJ1831)

作者簡介:亓曉靜,女,副教授/高級工程師,主要研究方向為軟件工程。

中圖分類號:G712 文獻標識碼:A 文章編號:1674-7747(2019)06-0028-04

隨著近年來一大批普通本科高校向應用型本科轉(zhuǎn)變的辦學方向改革,“以能力為中心”的培養(yǎng)模式已被大家廣泛認可,福州大學至誠學院在向應用型本科轉(zhuǎn)型過程中,經(jīng)過全方位細致的走訪與調(diào)研,把突出技術(shù)與實踐應用能力作為培養(yǎng)為的核心,重新修訂了各專業(yè)的人才培養(yǎng)方案。筆者以軟件工程專業(yè)的“Java程序高級開發(fā)”課程為例,探索編程實踐技能教學的改革與創(chuàng)新,以提高學生的技術(shù)應用能力。

一、“Java程序設(shè)計”課程現(xiàn)狀

“Java程序設(shè)計”是大部分軟件工程專業(yè)必修的一門課程,該課程主要有“面向?qū)ο蠡A(chǔ)”和“Java技術(shù)應用”兩個部分的內(nèi)容。作為面向編程學習的第一門課程,以往的做法是,將“面向?qū)ο蠡A(chǔ)”部分作為授課的重點,占用了總課時比例的60%~70%,導致“Java技術(shù)應用”部分的授課時間嚴重不足,技術(shù)應用能力方面的實踐力度不夠。學校為了彌補這一問題,從企業(yè)請來一線的工程師,安排了實訓課程,希望通過工程師帶來更貼近實際的項目實訓,強化和提升學生的Java技術(shù)應用能力。但由于這樣的實訓項目通常綜合應用了多項技術(shù),而課堂上對“Java技術(shù)應用”部分的學習著墨不多,只停留在表面。學生普遍反應,如此直接面對項目實訓,跨度太大,難于駕馭,實訓效果差強人意。

為了契合應用型本科的人才培養(yǎng)目標,針對存在的問題,我們走訪了用人單位、邀請企業(yè)技術(shù)負責人和專家共同研討,同時,結(jié)合本學院學生的認知能力與學習特點,在新的培養(yǎng)方案中將“Java程序設(shè)計”拆分成“面向?qū)ο蟪绦蛟O(shè)計”和“Java程序高級開發(fā)”兩門課程,旨在通過“Java程序高級開發(fā)”這門課程中的強化訓練,來提高學生的Java技術(shù)應用能力。

二、“Java程序設(shè)計”教學中存在的問題

通過調(diào)研了解到,以應用型本科人才培養(yǎng)的目標來審視以往的“Java程序設(shè)計”教學模式,主要存在以下四個方面的問題。

(一)與人才培養(yǎng)目標脫節(jié)

“Java程序設(shè)計”課程往往是學習面向?qū)ο蟪绦蛟O(shè)計的第一門課程,教學過程中主要重視面向?qū)ο蟮幕局R及語法的學習,對其中的Java技術(shù)應用部分,僅要求學生了解和掌握基本的編程步驟,沒有足夠的時間突出和加強編程實踐技能的訓練,學生的實際應用技能較差,達不到人才培養(yǎng)的目的。[1]

(二)與學生的實際狀況脫節(jié)

應用型本科往往是“本二”“本三”層次的學生,其學習態(tài)度與自主學習能力與“本一”學生存在明顯差異,然而,現(xiàn)有的教學資源,如教材和案例等,沒有足夠重視這些差異,認為“Java技術(shù)應用”部分只需要做好相關(guān)的知識鋪墊與必要的案例引導,學生就能夠自主學習發(fā)揮,在實際項目中運用自如,而不需要花費時間、精力進行專項的學習和訓練。然而實際情況卻是,當學生在實訓課上面對企業(yè)一線工程師帶來的實際項目時,常常不能很好的駕馭,課堂上的學習與實際編程開發(fā)無法順利對接。

(三)與崗位技能脫節(jié)

對于一線工程師崗位而言,僅靠課堂上學會的編程語言是不夠的,還需要具備一些其他的綜合技能,如程序的調(diào)試、診斷、測試等,但這些技能在一般的程序設(shè)計課程中鮮有涉及,使得學生完全是在一個真空狀態(tài)下學習編程的過程,根本沒有意識到自己寫出的代碼不夠健壯,就更談不上如何優(yōu)化于完善,造成學生畢業(yè)進入工作崗位后,不能較快地適應崗位技能要求。

(四)排課方法不利于編程訓練

高校中現(xiàn)有的排課規(guī)范是,按2:1或1:1的比例分配課堂教學和實驗教學的學時,理論課與實驗課相互交錯安排。這樣的排課方法,在時間和空間上將課堂教學(多媒體教室)與實驗教學(機房)人為分離,不利于編程訓練的強化。另外,由于本院學生學習特點,在實驗課上大部分學生還需要教師再次梳理和演示后,才能進入狀態(tài)開始實驗訓練,導致動手實踐的時間比例嚴重縮水,達不到預期的效果。

三、“Java程序高級開發(fā)”教學創(chuàng)新與改革路徑

為了有效地解決上述教學中存在的問題,學院以向應用型本科轉(zhuǎn)型為契機,以“Java程序高級開發(fā)”這門課為載體,展開新一輪的教改實踐,借助“互聯(lián)網(wǎng)+”技術(shù),融合多種教學方法,探索采用多元化的、混合的綜合教學模式,提升應用型本科軟件工程專業(yè)學生的編程技能。

(一)以實踐教學為主線

“Java程序高級開發(fā)”這門課程的內(nèi)容主要是Java技術(shù)應用,包含IO流、JDBC、多線程、網(wǎng)絡(luò)編程等眾多的技術(shù)主題[2],主要培養(yǎng)學生動手編程的能力,即技術(shù)應用的能力,屬于技術(shù)實踐類課程。它有別于工程實踐類的課程,是專業(yè)基礎(chǔ)課與工程實踐課之間能否順利銜接的關(guān)鍵。

這些技術(shù)主題都有自己鮮明的技術(shù)特征,擁有各自不同的編程套路,并且在實際應用時,并不是獨立使用,而是互相滲透,演繹出多樣的形態(tài),如在網(wǎng)絡(luò)編程中一定會出現(xiàn)IO流和多線程,會促使在這門課程的教學實踐中淡化理論和實踐的界線,以實踐教學為主線,通過循序漸進的編程訓練,反復實踐來掌握相關(guān)技能。

(二)以崗位技能為中心的綜合技能訓練

在對企業(yè)的調(diào)研回訪中了解到,軟件工程專業(yè)學生的編程技能,不僅僅是會用編程語言寫代碼,還需要掌握一系列與軟件工程有關(guān)的綜合技能及實用小工具,這些技能及小工具在現(xiàn)有教材中幾乎無涉獵,僅在“軟件工程”課程中有簡單介紹,沒有專門的課堂訓練,而這恰恰是軟件開發(fā)工作中不可或缺的實用技能。因此,在“Java程序高級開發(fā)”教學內(nèi)容的組織上,增加這部分內(nèi)容的拓展訓練,引入一些常用的綜合技能、小工具,自編講義、課件、編程任務(wù)集,使學生能夠初步掌握更接近于實際崗位需要的編程技能,順利地過渡到后續(xù)的工程實踐類課程。

1.訓練編程思路。編程的關(guān)鍵是編程思路,沒有人天生就懂編程思路,編程思路是經(jīng)過一定訓練后養(yǎng)成的。對于學生而言,就是要從養(yǎng)成良好的編程習慣入手,拿到編程任務(wù)后,要認真分析得到正確的編程思路,不能匆匆忙忙敲代碼。在開始階段先由教師提供任務(wù)的編程思路,要求學生將編程思路作為代碼的注釋,將文檔放在代碼里,根據(jù)思路完成編程任務(wù)。經(jīng)過一段時間后,學生就漸漸有了將大問題分解成小問題的模塊化設(shè)計意識,到了中后期就要求學生自己先寫出編程思路,再完成代碼。同時,要求學生編寫javadoc注釋,并生成API文檔。反復訓練,養(yǎng)成習慣。

2.訓練編碼規(guī)范。所謂無規(guī)矩不成方圓,無規(guī)范不能協(xié)作。在實際工作中,良好的編碼規(guī)范將有利于團隊成員之間的協(xié)作配合,減少程序bug,提高程序性能及安全性,并可以減少軟件的維護成本。在課堂上應引入主流的Java靜態(tài)代碼分析工具,不僅學習代碼的格式規(guī)范,更重要的是熟悉編碼的經(jīng)驗法則,要求學生的作業(yè)都必須通過靜態(tài)代碼分析工具的檢驗,逐步養(yǎng)成遵循代碼規(guī)范編寫程序的習慣,能夠?qū)懗鰞?yōu)雅的、一致的代碼。

3.訓練單元測試。單元測試,是每一個程序員必須掌握的,是程序員對所開發(fā)代碼質(zhì)量的一個基本承諾。在開始的任務(wù)中,先提供JUnit單元測試的代碼,要求學生學會用JUnit單元測試代碼檢驗自己的程序,熟悉測試代碼的使用,認識單元測試的作用與意義。后期,再要求學生自行設(shè)計測試用例,編寫JUnit單元測試代碼,檢驗自己編寫的程序。通過不斷的訓練,鍛煉學生的測試技能,養(yǎng)成測試意識。

4.訓練調(diào)試診斷的能力。調(diào)試診斷的能力是編程必備的技能,但卻無法從理論課堂上學到,只能在編程實踐中,借助調(diào)試診斷工具通過不斷糾錯的過程來學習掌握。當學生在編程實踐中遇到問題時,教師現(xiàn)場引導學生學會使用調(diào)試診斷工具,幫助分析診斷問題所在,修復程序缺陷,逐步培養(yǎng)調(diào)試診斷的技能。

5.訓練優(yōu)化代碼的能力。能夠編寫更快更好的代碼,是每一個程序員不懈的追求。引導學生使用性能分析工具,找出影響代碼性能的瓶頸所在,對代碼進行重構(gòu)與優(yōu)化。同時,通過回歸測試,確保任何重構(gòu)與優(yōu)化都不能破壞代碼的正確性。通過訓練,讓學生初步掌握代碼優(yōu)化的技巧,能夠優(yōu)化完善自己編寫的程序,讓程序“跑得快”。

(三)引入翻轉(zhuǎn)課堂,提高實踐教學的比例

翻轉(zhuǎn)課堂正好契合“Java程序高級開發(fā)”這門課的特點,教師按教學進度在線上發(fā)布相應的視頻課件,學生課前觀看視頻自主學習,初步掌握每次課的知識要點及課堂訓練的要求,從而改變傳統(tǒng)滿堂灌的課堂教學方法,可以最大限度提高課堂實踐教學的比例。[3]在引入翻轉(zhuǎn)課堂教學法之初,學生們紛紛抱怨從小到大都是到課堂上去聽課,習慣了跟著老師走的被動學習方法,突然在一門課上要轉(zhuǎn)變成課前自主學習,不知所措,難以適應。因此,學院老師及時做出調(diào)整,將視頻精簡為以實例演示為主的微視頻,并增加課前導讀、線上討論與答疑,經(jīng)過幾輪的磨合,學生已能從容應對,漸入佳境。為了配合翻轉(zhuǎn)課堂,教師將課程的安排改為以3~4節(jié)課為一個單元,不再人為地分割課堂教學與實驗教學,全部在機房完成,確保學生人手一機,可以邊講邊練,保證了課堂實踐教學的時間與質(zhì)量。

(四)多種手段確保課堂任務(wù)的飽滿度

翻轉(zhuǎn)課堂實施的效果,很大程度上取決于學生的學習興趣、自主學習能力,因此,學生之間的程度差異將被迅速放大,這樣就不能按統(tǒng)一的標準來要求每個學生,所以設(shè)定分層次的教學目標是對翻轉(zhuǎn)課堂教學法的一個很好的補充。根據(jù)學生的不同程度,設(shè)計不同層次的作業(yè)任務(wù),既讓每個學生都可以入手,循序漸進,又能較好地解決了學生間“吃不飽”與“吃不下”的現(xiàn)象。(1)第一層次:模仿練習。學生從模仿編程例題入手,完成相類似的任務(wù),從而了解和熟悉基本的編程思路和方法。(2)第二層次:編程應用。根據(jù)要求,完成稍有難度的編程任務(wù),自行解決些小問題,從而小有成就感,逐步提高學習的興趣。(3)第三層次:拓展訓練。引入結(jié)對編程的方法,適當提高編程難度,完成幾個有意義的小工具,積累編程經(jīng)驗。

借助云教學平臺,為每次上課發(fā)布的各層次的訓練任務(wù)指定不同的deadline,并據(jù)此形成新的考核評價方式,即課堂評價、任務(wù)評價等。一方面,營造了真實崗位的工作氛圍,讓學生增加課堂實踐的緊迫感,迫使每個學生都能自覺參與到課堂實踐中;另一方面,也有利于教師掌控實踐課堂的節(jié)奏,提高機房教學的效果和質(zhì)量。

(五)通過電子教室加強現(xiàn)場實時指導

教師可以借助電子教室,通過監(jiān)控巡回查看每個學生的編程訓練情況,學生可以方便地通過電子教室向教師求助。對于學生在實際編程中遇到的各類題,教師通過電子教室的控制功能,直接操控學生端,實時地幫助分析出錯的原因,引導學生逐步解決,并利用電子教室提供的學生演示功能,靈活地將糾錯過程同步演示給特定的學生群體觀看學習。通過個別指導、小組指導、全員指導多種形式加強現(xiàn)場指導,真正做到以生為本,個性化教學。利用電子教室,可以在課堂上加強教師和學生之間的交流討論,啟發(fā)學生認真思考,學會提問,善于提問。

(六)采用多樣的課堂活動形式

在調(diào)查中發(fā)現(xiàn),學生遇到學習問題解決的途徑依次是:請教同學→上網(wǎng)百度→尋求教師的幫助。為此,教師在課堂上挑選一些學習能力較強的學生為核心,組建若干個學習小組,以好帶差,展開互幫互學式的交流與討論。在課堂上引入結(jié)對編程,兩個學生一起交流與討論編程思路,共同完成任務(wù),并以一節(jié)課為單元,要求學生輪換駕駛員和領(lǐng)航員的角色,互相監(jiān)督、相互學習,既培養(yǎng)了團隊協(xié)作的意識,又提高了學習興趣。借助云平臺工具,每次課都組織開展討論答疑的活動,并設(shè)立最佳問題獎,提高學生參與課堂互動的積極性,方便及時地進行線上和線下交流。

(七)線上線下的點評與交流分享

每次課上及時點評學生的編程思路和代碼中存在的主要問題。除了教師點評外,還時常邀請作業(yè)優(yōu)秀的學生上臺演示和說明編程思路,同學之間互相討論交流學習體會。課后,全班同學都可以在云教學平臺上查看教師批改和點評作業(yè)的情況,交流和分享優(yōu)秀作業(yè),互相取長補短。

總之,通過兩輪的實踐,看到了學生們從開始的不適應甚至排斥,到喜歡上這種教學模式的變化,特別是在剛剛結(jié)束的課程中,學生給出的課程評議結(jié)果是98.93的高分,這大大增強了學院教師們繼續(xù)探索實踐的信心。經(jīng)過課程實踐訓練,學生們逐漸培養(yǎng)起自主學習的能力,遇到問題不再發(fā)怵,能夠沿著一定的路徑摸索解決,編程實踐能力得到了提高,并且在各類創(chuàng)新創(chuàng)業(yè)項目中都看到他們活躍的身影。

參考文獻:

[1] 鄧海生.新建本科高校Java課程改革研究與實踐[J].電腦知識與技術(shù),2016(21):106-107.

[2] 李秋菊,王長斌,楊鴻雁.高校轉(zhuǎn)型背景下計算機專業(yè)Java課程改革與實踐[J].鞍山師范學院學報,2017(4):68-71.

[3] 鄭瑞強,盧宇.高校翻轉(zhuǎn)課堂教學模式優(yōu)化設(shè)計與實踐反思[J].高校教育管理,2017(1):97-103.

Abstract: In the context of transition from a large number of ordinary universities to applied undergraduate education, we have offered the course Advanced Development of Java Programs and conducted teaching reform with this course as a carrier in a bid to meet the objectives of training applied talent and enhance students programming skills. We take the practice teaching as the main line, take the development training as the characteristic, introduces many kinds of modern educational technology means to the classroom and forms the diversified, mixed synthesis teaching pattern.

Key words: applied undergraduate education; programming skills; practical teaching; extended training

[責任編輯 李 漪]

猜你喜歡
拓展訓練應用型本科實踐教學
應用型本科院校高等數(shù)學課程建設(shè)改革
地方新建本科高校轉(zhuǎn)型發(fā)展的探索與實踐
應用型本科大學英語后續(xù)課程建設(shè)之必要性探討
淺談初中體育教學中的拓展訓練開展
拓展訓練融入中學體育教學的可行性分析
關(guān)于應用型計算機專業(yè)培養(yǎng)方案的研究
茶學專業(yè)校企合作實踐教學探索
《電氣工程畢業(yè)設(shè)計》 課程的教學設(shè)計
高職院校商務(wù)禮儀課程教學改革探索芻議
《數(shù)據(jù)庫高級應用》教學創(chuàng)新方法研究