馬 創(chuàng) 劉 俊 解紹詞
(重慶郵電大學軟件工程學院 重慶 400065)
隨著信息科技的飛速發(fā)展,特別是以人工智能、大數(shù)據、區(qū)塊鏈等為特點的新一代信息技術的興起,Java語言作為當前最為流行的編程語言之一,Java語言程序設計課程也是國內乃至國外很多高校計算機相關專業(yè)必修的專業(yè)基礎課程。由于Java語言具有面向對象、可移植性、簡單性、動態(tài)性、健壯性、分布性等優(yōu)點,已廣泛應用于游戲控制臺、互聯(lián)網、手機智能卡、手持式電子消費類產品和企業(yè)中應用等多個領域[1]。
目前,從學生就業(yè)和相關課程教學反饋回來的信息,直接指出了課程的教學內容與市場的實際需求的脫節(jié)現(xiàn)象,學生的所學知識往往很難應用到實際的工程項目中。由于受學時和傳統(tǒng)教學方式的限制,教師只能在課堂上教授淺表層的知識點,沒有時間進行深入學習。因此,要想徹底改變這一格局,教育者要意識到,課堂教學活動中最寶貴的資源是師生面對面相處的有限時間,這些時間應該被用于實現(xiàn)深層次的學習。在大量優(yōu)質的MOOC、SPOC出現(xiàn)以后,學生完全可以借助新的教學手段在課前進行淺表層學習,老師則負責指導學習在課堂上進行基于問題、基于案例的深度學習,這種學習可以以實驗、研討、報告、辯論等形式展開,教師在整個教學活動中,只是一個引導者、組織者。
在傳統(tǒng)的Java語言程序設計課程中,長期存在以教師教授知識為主或“填鴨式”教學方式,學生被動接受知識,使得學生缺乏自主學習能力以及為了期末考試學習、不考不學、考完就丟等問題,傳統(tǒng)方法在激發(fā)學生創(chuàng)新性、積極性方面存在不足,學生很難對自己所學知識進行實際應用。
雖然我校2017-2018第二學期在《程序設計(4)(Java平臺)》的教學過程中采用了翻轉課堂的方法,但由于Java語言程序設計相關技術更新快、內容駁雜、不同具體技術入門周期平滑度差異大等特點,在教學實踐過程中,發(fā)現(xiàn)還存在如下問題:
Java作為一門編程語言,需要大量的專業(yè)理論知識作為基礎,而專業(yè)理論知識往往與Java語言內在邏輯關系強度較弱,因此需要學生具備較高的自覺性和主動性。Java語言的精髓在于各個框架,而框架的學習,是一個相對漫長的過程,對基礎理論的要求相當高,未掌握正確的學習方法,不能以正確的態(tài)度對待未知問題,使得學生容易產生畏難心理,進而對本門課程的教學效果產生較為嚴重的負面影響。
以知識為模塊,存在各章節(jié)內容設置相對孤立,缺乏關聯(lián),考核方式單一等問題,不能使學生達到相應的教學目標;在實踐教學環(huán)節(jié)中,盡管安排了該課程為理論與實驗同排,但實驗采取的教學方式一般是“學生自主實驗+教師隨堂指導”,且所做的實驗都是一些演示性和驗證性的,學生在解決實際問題時,難以運用所學知識。
雖然我校上一學年對《程序設計(4)(Java平臺)》課程采用了翻轉課堂的教學模式,對學生們采用了“預習+講解+作業(yè)”的模式,但是由于班級人數(shù)較多,所安排的學時相對于Java語言的知識點而言相當緊張,所以無論在時間上還是人數(shù)上,均難以保證對每個學生的教學效果。
針對上述存在的問題,本文結合實踐經驗,從教學的方法、手段、內容等方面進行闡述,以提高學生的創(chuàng)新能力、實踐能力、完善教學模式、有效監(jiān)督學生的學習進程為核心,構建以目標驅動為導向的Java語言程序設計課程教學改革的新參考方案。
本文基于目標驅動的思想,使《程序設計(4)(Java平臺)》課程從授課內容、授課方式等方面遵循“理論—目標—實踐—理論”的循環(huán)上升的培養(yǎng)主線。
3.1.1 教學內容引導化
及時更新教學內容,優(yōu)化教學大綱,跟上技術的發(fā)展步伐。摒棄傳統(tǒng)教學方式的弊端,吸取其優(yōu)點,教學內容配合新的教學方式與課時安排,注重Java語言的方法論教學,以面向對象、目標驅動為手段,引導學生學會用Java語言的思維去思考實際問題,真正做到以Java語言為主線、目標為導向,將所學專業(yè)知識融會貫通,學以致用,同時引導學生課外參加課題研究、自主解決問題,鼓勵學生積極主動學習。
3.1.2 授課方式目標化
探索建立目標驅動的授課方式:(1)Java語言解決實際工程目標問題的指導性和方法論;(2)實現(xiàn)《程序設計(4)(Java平臺)》課程教學目標的授課方式要符合Java程序設計語言方法論的具體實踐。將課程教學過程演化為實際工程目標解決的嚴謹邏輯思考過程,不斷強化學生的程序思維慣性。
3.1.3 工程目標理論化
針對一些具體的工程應用實驗任務可以不限方案、不限技術,僅以目標完成度為依據。引導學生立于設計思維的高度,審視工程項目的實施,發(fā)散學生知識面的廣度,而后有選擇性的加強某一領域知識儲備的深度,從而引導學生在課程學習上廣度與深度相結合,根據學生自身擅長和技術特點,進行不同分支方向引導。將學生所學基礎理論知識貫穿于整個工程目標完成的始終,將主管的工程設計及經驗思考過程轉化為理論知識的運用推理過程。
3.2.1 課前過程
課程開始前,學生需參考課程的教學大綱及課時任務目標,每周依次在線提交下一周學習計劃和預習報告。學生根據學習計劃查詢授課計劃中的相關資料,包括網上博客、技術文檔等,對Java語言基礎知識、編譯環(huán)境及周邊技術建立完善的短期指知識樹,可以有效地節(jié)約課堂上對基礎知識的講解實踐,也間接引導學生主動學習的積極性。
3.2.2 靈活的課時管理
通過課前過程學習提交的學習計劃和預習內容報告,教師可以針對預習報告中反映的學生自主學習情況內容有效地安排課時,把主要的時間放在引導學生思考如何將所學理論知識應用于實際目標問題和如何正確面對未知理論知識,可以有效地緩解Java語言教學與實際工程任務需求之間難以平滑度過地矛盾。
同時可以根據學生們地預習內容、問題和課前討論,邀請更擅長某個領域地教師負責現(xiàn)場指導,當專業(yè)問題過多時,可以適當追加指導老師人數(shù)。通過這種方式,既可滿足學生學習時對教師指導與答疑的需求,又可避免教師資源浪費。
傳統(tǒng)書面考試的方式,學生為了應試,容易出現(xiàn)只關注基礎知識,而忽視自身實踐工程能力的培養(yǎng)和軟件思維模式的形成。因此,除了通過筆試考核學生對基礎知識掌握情況,增加程序開發(fā)考核環(huán)節(jié),考核學生的動手能力、解決實際目標問題能力。
在教學過程中樹立“以學生為主體,以教師為主導”的教學理念?!耙詫W生為主體”,強調在學習過程中充分發(fā)揮學生的主觀能動性,將學生的被動學習化為主動學習;“以老師為主導”,強調更好地發(fā)揮老師的主導作用,同時要真正重視并切實搞好“學”[2]。
新的教學方式要求教師具有理論與實踐能力,能夠合理靈活地將理論與實踐相結合進行教學,引導學生更好地適應新的教學模式,進行主動地自主學習。因此,需構建培養(yǎng)和培養(yǎng)混合型師資力量。
隨著新一代信息技術時代的興起,Java語言程序設計課程作為很多高校軟件工程專業(yè)基礎課程,本文主要以培養(yǎng)學生運用Java語言思維解決實際目標問題能力和創(chuàng)新能力為核心,將創(chuàng)新教育思路與課程體系和教學方法有機結合,以開放式、互動式教學為手段,通過教學模式與考試方式的改革,推動課程建設與改革工作的持續(xù)與深入進行,實現(xiàn)“培養(yǎng)學生的解決問題能力和自主學習能力,合理構建形式多樣的教學模式,對學生學習過程有效監(jiān)控”的目標,從而力爭達到提高學生的學習效果,不斷實踐,全面提升課程建設質量。