汪大顯
摘要:針對部分應用型大學學生自主編程能力較差,缺乏項目實踐機會的現(xiàn)狀,提出了一種使用碎片化時間編寫腳本網頁程序的教學方式。該教學方式依托JavaScript語言特點,旨在通過快速、友好的編程結果,從而提高學生編程興趣。經實驗表明,該方式增強了學生的實踐能力,對學生就業(yè)有較好的指導作用。
關鍵詞:JavaScript;應用型人才;編程能力;案例教學
中圖分類號:TP311? ? ?文獻標識碼:A
文章編號:1009-3044(2020)02-0152-02
綜合市場需求,大部分應用型本科高校的教學目標旨在培養(yǎng)技能型人才,這樣的辦學目的使得教學更要面向實踐和工作實際,培養(yǎng)的人才應既有一定的理論基礎又有較強的動手能力,特別是動手能力的培養(yǎng)尤其重要。JavaScript是一種所編代碼立即有所得的網頁腳本語言,不同于其他編程語言,需要多模塊調試才能展現(xiàn)一個統(tǒng)一的程序效果,JavaScript基于單頁面即可調試代碼效果。
JavaScript這種面向對象和事件驅動的網頁設計腳本語言經過20年的發(fā)展,已經成為網站編程不可缺少的一部分,通過學習JavaScript,學生可以更多了解相關編程的過程和邏輯,為以后使用或者學習JavaScript框架奠定基礎。
JavaScript為網站設計者提供了建立交互式頁面的先進技術,在建立動態(tài)網頁方面,有著其他工具不可比擬的優(yōu)點。學生畢業(yè)后如果從事網站開發(fā)與維護工作,有必要學習JavaScript來提高網頁的可視性和可讀性[1]。JavaScript既適合于初學者練習編程技能提高編程能力,也是一種面向對象web程序員級別的編程工具。它從數(shù)據(jù)類型到語法結構,從面向對象到原型編程,都完全具備高級語言的特征。
應用型院校是培養(yǎng)大量滿足社會需求技能型人才的學校,這樣的人才培養(yǎng)目標使得教學要面向實踐和工作實際,大量技能型人才培養(yǎng)方式和傳統(tǒng)學術性人才培養(yǎng)方式肯定有所不同。在高等教育大眾化的時代,高等職業(yè)教育的受眾,很可能是以形象思維為主的青年。以形象思維為主的人,樂于在具象情境或氛圍中,通過“行動”來學習[2]。JavaScript的網頁語言特性使得它的界面更加具備形象性,并能實時表現(xiàn)在網頁界面上。
1 目前計算機專業(yè)學生編程能力存在的問題
編寫計算機程序是一項綜合運用計算機語言知識完成工程實踐的復雜過程,為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據(jù)人的指令一步一步去工作,完成某種特定的任務。因此學會編程是提高學生綜合解決問題能力的重要訓練,JavaScript語言從實踐性和趣味性上都具備先天優(yōu)勢,適合學生進行編程能力訓練。要學會利用JavaScript來增加動態(tài)網頁的教學效果,既要學好程序設計理論知識,更要注重運用理論知識進行網頁設計實踐的鍛煉,做到理論與實踐相結合[3]。但是,目前很多的學生編程能力較弱,缺少工程的思維和科學解決問題的動手能力,不管從學校還是從教師的角度都應該認識到這個問題。
1.1 學生編程能力實踐性不夠
在高等教育大發(fā)展的十幾年里,學校明確了要培養(yǎng)大量社會和企業(yè)需要的技能型人才的目標。然而在計算機學院,軟件編程大部分被定在專業(yè)課的范疇里,并不能增強學生編程實踐能力。同時,社會上軟件和硬件企業(yè)需要越來越多實踐型編碼人員來從事相關工作,包括各種軟硬件接口開發(fā),中小型網站代碼維護,一般應用型軟件的開發(fā)等。這就造成了培養(yǎng)出來的計算機專業(yè)學生動手編程能力偏弱,進入工作崗位需要很長一段時間的實踐學習。隨著計算機技術滲透到各行各業(yè),企業(yè)要求具備大量編程能力的人才充斥到各個崗位,計算機編程能力成為繼辦公自動化之后用人單位對人才特別是計算機人才的最大需求。培養(yǎng)學生的編程能力到何種程度,怎么在實際工程項目中鍛煉學生實踐編程能力,在計算機專業(yè)教育中仍沒有作為重點目標。
1.2 沒有適當?shù)捻椖孔層嬎銠C專業(yè)學生來練習編程
即使在教科書中已經有一些項目讓學生進行編程練習,比如JavaScript的網頁動態(tài)效果,通過簡單案例讓學生完成作業(yè),但是這些項目仍缺少工程性和實際性,偏重于理論算法研究,至少它們仍是課本上的虛擬項目。由于院校一般難以找到實際開發(fā)項目的現(xiàn)狀,很少有適合的企業(yè)項目供學生進行計算機編程實踐,如果退而求其次,仍能接到某些商業(yè)網站的廣告功能由學生來編寫,那么會更好的激發(fā)學生的編程學習熱情。
1.3 老師缺少實際項目經驗
很多計算機專業(yè)的老師教育和從業(yè)也是從校園到校園,缺少企業(yè)工程項目經驗,那就很難培養(yǎng)面向工程實踐的工程技能人才,特別是計算機工程發(fā)展迅速,更需要學生接觸工程項目實際,從而很好理解編程在現(xiàn)實工程中的應用。案例教學是最近教育改革主要的成就之一,但是老師的教學不能僅僅就案例教案例,而是要根據(jù)案例進行合理拓展和適當分析,結合工程實際與時俱進,在教學過程中使學生通過對案例的分析研究了解實際,以發(fā)展自己的創(chuàng)新才能。應以學生的獨立分析研究為主,教師的傳授、指導配合學生進行[4]。而且,老師在教學中應該從書中的案例,介紹到企業(yè)的項目實際,讓學生了解一些實際應用的工程項目。介紹項目有一定的行業(yè)規(guī)范和標準,同樣有一定的自主創(chuàng)新或者微創(chuàng)新的空間,讓學生發(fā)揮自己的主觀能動性。
2 在JavaScript教學中,提高學生編程能力
基于工作過程的情境化教學,是近年來高等教學改革的重要一項內容,這項教學改革提高了課堂的活躍度,使得學生能在體會工作的過程中學習到知識。但是,很多工作過程的操作并不能在課堂上完成,比如機械的操作需要到車間,制藥的操作需要到實驗室,有些工作過程在課堂上仍是“紙上談兵”。但是,鑒于軟件編程不同于其他專業(yè),軟件工程的代碼可復制可移植性,軟件編程的工作過程操作可以在教學課堂的電腦上完成。而且,JavaScript語言相比較于其他編程語言,更易于調試和實現(xiàn),類似于java applet小程序一樣,JavaScript語言基于瀏覽器的實現(xiàn)將程序交互界面更加便捷化。
隨著就業(yè)市場對軟件編程人才需求越來越多,對工程人員具備編程能力的要求也越來越強,針對計算機相關專業(yè)學生基本素質現(xiàn)狀,結合JavaScript語言教學,提出以下方法:
2.1 增強學生編程實踐能力
根據(jù)計算機院校的專業(yè)培養(yǎng)目標,編程能力應該作為院系學生的一項專業(yè)素質和能力。對于計算機專業(yè)的學生,教學中應該要求學生掌握系統(tǒng)的編寫計算機程序的方法,包括底層的匯編語言,高級語言C,網頁動態(tài)語言JavaScript和網站語言PHP等。對于偏計算機硬件專業(yè)的學生,應該要求學生掌握基本的編程技能,比如單片機匯編編程,PLC電子電路畫圖,python編程等,讓其計算機編程能力的提升擴張其就業(yè)空間。不僅要求學生掌握重點語言的編程知識,更要求學生增加通用性編程能力的學習能力,在工程實踐中能快速學習和掌握新的編程語言。
2.3 利用網絡JS資源解決問題
針對JavaScript語言網絡上有大量的JS框架和庫,例如JQuery、Angular和Vue.js等,有的是免費的有的是收費的,早在幾年前,google公司的員工如果能開發(fā)一套JS庫,將會被提升為主管級別。所以現(xiàn)在整個網絡的JS庫是種類繁多,魚龍混雜,但是通過仔細甄別和遴選我們仍能找到適合學生學習的JavaScript框架或者庫。即使我們引用或者使用JavaScript框架,學生仍需要了解原始的JavaScript代碼,從而更深層次的理解模塊的功能。學生學習和了解一些JavaScript框架,并不是要求學生去編寫框架或者了解框架代碼細節(jié),而是讓學生知道框架的作用,通過使用JS框架來快速的解決一些項目實際需求。這種利用現(xiàn)有資源結合編程實現(xiàn)的能力,也是工程實際中常使用的方法,利用他人已有成果和前人工作總結,可以提高學生解決問題效率。
2.4 課堂教學編程和項目編程相結合
JavaScript是瀏覽器的前端程序,我們在網站上看到的好的效果代碼,都可以通過瀏覽器來直接查看JavaScript代碼,這就很好的擴大了我們可以模仿的案例的數(shù)量,是自學和后期持續(xù)網絡學習的首選語言。目前大多教師在課程驗收中布置的網站制作,一般沒有直接接觸到現(xiàn)實因特網的應用,所以學生制作網頁的創(chuàng)造力不夠,很多實用知識得不到運用和體現(xiàn),特別是網頁優(yōu)化、特效等最流行的技術難以融入自己的作品中[5]。例如計算機網絡專業(yè)三年級學生已經學習了靜態(tài)網站的課程,具備網站建設的基本能力,所以在教學中組建了虛擬開發(fā)團隊,提供他們小型商業(yè)網站的編程項目和學校網站升級優(yōu)化的編程機會,讓他們“學有所用”,實踐證明實用性項目更能激發(fā)了學生編程的動力。在課堂教學中,以案例為切入點進行課程講解,充分調動學生的學習積極性。一般本科院校學生相對知識基礎差,對于純理論教學會比較厭學,而且兩到三節(jié)課的教學常常難以集中注意力。針對這種課堂現(xiàn)象我結合JavaScript的大量短小的例子講解,快速可視化的運行效果吸引了學生注意力,提升了課堂實際教學效果。
3 面向市場提高學生JavaScript編程技能
市場是最有效的試金石,JavaScript恰恰是一塊經過市場檢驗的不斷發(fā)展的腳本語言,從互聯(lián)網起步簡單的瀏覽器腳本語言發(fā)展到前后端通行、CS/BS兼容的現(xiàn)代成熟計算機語言,結合HTML5+CSS3工具,已經成為網站開發(fā)必備之利器。JavaScript也是一門很好的有面向對象特點的設計語言,該語言更加關注和用戶的動態(tài)交互。在JavaScript教學中更把它作為一門實踐的課程來教,課時中有一般是在程序設計實驗室實踐動手的,實踐課程重點培養(yǎng)學生的“工程能力”和“實踐能力”,并初步鍛煉學生的“創(chuàng)新能力”和“團隊協(xié)作能力”[6]。在實踐教學中,將學生進行分組,同樣的任務每個組可以以自己的創(chuàng)新方式進行完成,而且組內每個成員要完成一定的任務。
有些學生雖然理論基礎薄弱,但是操作動手能力較強,劃分一些任務給他們是通過實際操作的過程帶動編程理論的學習,通過實踐試驗反向帶動理論學習,是實踐推動理論的有效方式?;诠ぷ鬟^程的JavaScript教學不同于一般的知識學習,編程是一種勞動也是一種學習,編寫的代碼雖然有很多固定的模塊,但是編程本身是創(chuàng)造的過程也是要不斷練習的過程。不像英語或者物理等通用知識,編程需要通過計算機語言實現(xiàn)一定的功能,所以學生在學習計算機語言時可以發(fā)揮主觀能動性,而不是被動的接收知識,可以模擬或者模仿經典的例子程序,但整個的編程代碼還是需要自己勞動來完成。
JavaScript語言不同于其他的計算機語言,它的代碼編寫完成后在用戶自己的電腦上就可以調試和檢驗效果,適合于培養(yǎng)學生的編程興趣。從JavaScript中獲取的編程經驗和編程技巧是可以適用于java、C語言等基礎性語言,而JavaScript的易學易用性更適合當前的學生特點,不管JavaScript的知識掌握到哪一步,都可以有相應的程序可以編寫。
4 結束語
JavaScript語言有很好的可移植性,學生可以在電腦、手機或者PAD上編程,只要有瀏覽器和記事本就可以編程,不限制于專用的IDE環(huán)境。而且學習的例子程序相對短小,利用一個空閑碎片的時間段就可以進行調試,比如學生在等公交車時,在室外環(huán)境下同樣可以調試編寫JavaScript代碼。JavaScript編程會及時看到自己的程序運行于多個類型終端,這種所編及時得的成就感強化了學生的編程興趣。
目前我國信息產業(yè)快速發(fā)展,編程的就業(yè)市場非常大,類似JavaScript等計算機語言編程市場空缺也很大,JavaScript課堂教育就是使用實際工作的案例作為教學內容,以學生為教學主體,通過JavaScript作業(yè)練習引導學生提高編程能力。
參考文獻:
[1] 王瑩.JavaScript網頁特效案例教程[M].機械工業(yè)出版社,2011.
[2] 姜大源.論高等職業(yè)教育課程的系統(tǒng)化設計[J].中國高教研究,2009.
[3] 何志永.JavaScript課程教學優(yōu)化研究[J].教育與職業(yè),2013(2).
[4] 袁曄.案例教學法在計算機教學中的應用[J].中國職業(yè)技術教育,2007(22) .
[5] 柯琦.JavaScript程序設計基礎課程教學淺析[J].信息技術,2013.
[6] 程凡.面向卓越工程師的軟件工程專業(yè)課程體系建設[J].現(xiàn)代教育技術,2014.
【通聯(lián)編輯:李雅琪】