張鐳鐳
(南京財經(jīng)高等職業(yè)技術(shù)學(xué)校,江蘇 南京 210000)
程序設(shè)計類課程是計算機相關(guān)專業(yè)的重要專業(yè)課程,重點考察學(xué)生的編程能力,通過觀察五年制高職院校計算機專業(yè)學(xué)生的程序設(shè)計學(xué)習(xí)情況,發(fā)現(xiàn)學(xué)生整體學(xué)習(xí)效果有待提高,自主學(xué)習(xí),研究鉆研的更是少數(shù),其部分原因是生源質(zhì)量下降,除此之外,一個重要的原因是教學(xué)的內(nèi)容、方法達不到課程要求。對此,各校進行了相應(yīng)的研究與改革,盡管取得了一定的效果,但成效不大。
經(jīng)過實踐研究,本文以五年制高職院校網(wǎng)絡(luò)技術(shù)專業(yè)程序設(shè)計類課程——JSP程序設(shè)計實踐教學(xué)為例,在教學(xué)設(shè)計中體現(xiàn)“計算思維”的能力培養(yǎng),避免學(xué)了不能致用的問題,從而提高學(xué)生在真實項目中分析與解決問題的能力。
JSP程序設(shè)計課程對接Web開發(fā)的后端崗位,行業(yè)應(yīng)用廣,員工需求大,是計算機軟件開發(fā)中重要的方向課程。其知識內(nèi)容包含Java基礎(chǔ)、JSP技術(shù)兩部分,知識點多、難度大、掌握困難。歸納教學(xué)實施效果不佳的原因如下:第一,Java語言是面向?qū)ο蟮恼Z言,在項目設(shè)計思路上,是面向?qū)ο蟮模辉趯ο髢?nèi)部又是面向過程的,需要融合兩種理念,從難度上來說,很多學(xué)生沒有入門。第二,高職類學(xué)生習(xí)慣了初中的灌輸式教學(xué)模式,還沒有養(yǎng)成課前、課中、課后的自主學(xué)習(xí)習(xí)慣。學(xué)習(xí)行為只在課堂教學(xué)時間內(nèi)以及課后固定作業(yè)上,缺少思考訓(xùn)練。學(xué)生表面懂了,實質(zhì)上對知識點的相關(guān)性和應(yīng)用方面沒有掌握,更缺少實踐,很難形成系統(tǒng)性的編程思維和崗位能力。因此,學(xué)生大多只能模仿,不能獨立解決問題。第三,缺少合適的校本教材,市面上教材雖然有針對高職教育的,但以項目化為主,但項目以知識點來串聯(lián),實例小而零散;針對專業(yè)人員的書籍,常以完整系統(tǒng)案例為講解,使用最新的框架、知識覆蓋面很廣,不適合初學(xué)者。第四、師資隊伍水平不夠,開發(fā)類的課程在高職類學(xué)校屬于難度較大的課程,對老師的要求也高,很多學(xué)校的教師只能依賴于課本,沒有實踐經(jīng)驗,做不到遴選知識點,設(shè)計有實際應(yīng)用功能的案例,將其貫穿整個教材,講課時容易以語言為重點,重視細節(jié),忽視整體設(shè)計,缺少了計算思維能力的培養(yǎng),使學(xué)生目標(biāo)不明確,興趣不高。
計算思維(Computational Thinking)在2006年由美國卡內(nèi)基·梅隆大學(xué)周以真教授提出,計算思維的本質(zhì)就是抽象和自動化,可以按照計算機求解問題的基本方法去考慮問題的求解、進行系統(tǒng)設(shè)計并理解人類行為,從而構(gòu)建出相應(yīng)的算法和基本程序[3]。
計算思維能力體現(xiàn)了應(yīng)用能力,是一種從計算視角融合眾多思維能力的能力體系。JSP課程的實踐教學(xué)核心點在于抽象思維,算法思維,即把現(xiàn)實中的問題抽象成對象(模型對象、邏輯對象),在邏輯對象中,解決具體方法,我們需要算法思維,這是學(xué)生掌握JSP程序設(shè)計的基礎(chǔ)。圍繞此邏輯,筆者將在JSP程序設(shè)計課程的實踐教學(xué)中進行研究。
筆者對本校2017級計算機相關(guān)專業(yè)學(xué)生進行JSP程序設(shè)計實踐教學(xué)研究,在課程設(shè)計中融入計算思維的思想,筆者進行了如下的改進。
2.2.1 整合教材,提煉項目
JSP程序設(shè)計直接面對的是崗位,是項目,因此設(shè)計開發(fā)出適合學(xué)生能力的項目至關(guān)重要,在五年高職階段,我們課程培養(yǎng)目標(biāo)是培養(yǎng)學(xué)生掌握Java基礎(chǔ),具有JSP開發(fā)的基本能力,為后期進入企業(yè)實踐打下基礎(chǔ)。因此在教材的選擇,項目的提煉中,我們首先不考慮Spring+SpringMvc+mybatis、JFinal mvc+JFinal orm等開源框架。其次我們在開發(fā)模式的選擇上,使用MVC(JSP+Servlet+JavaBean三層架構(gòu))模式進行最原始的代碼編寫,排除jsp+servlet、jsp+javaBean的講解,這樣在知識點上就會少很多分支,給學(xué)生一個很明確的學(xué)習(xí)方向。課程設(shè)計項目分為Java基礎(chǔ),JSP項目開發(fā)兩部分。Java基礎(chǔ)主要通過小的案例來講解面向?qū)ο蟮母拍?、類和對象、抽象類和接口、繼承、多態(tài)等。JSP項目開發(fā)通過簡易學(xué)籍管理、會議申請兩個項目的完整復(fù)盤,方式上由第一個項目帶領(lǐng)學(xué)生從分析問題、抽象模型、到代碼實現(xiàn)。逐步到第二個項目以學(xué)生為主體,老師提供幫助為輔,鍛煉學(xué)生分析、解決問題的能力。
2.2.2 將計算思維理念滲透到教學(xué)設(shè)計中
首先對于JSP開發(fā)項目我們需要做很詳細的任務(wù)分解,按照MVC模式把學(xué)籍管理系統(tǒng)分為數(shù)據(jù)庫設(shè)計、JSP頁面設(shè)計、Servlet控制層設(shè)計(包括過濾器和監(jiān)聽器)、邏輯層設(shè)計(包括封裝數(shù)據(jù)、邏輯功能兩塊)幾大塊。然后從學(xué)籍管理系統(tǒng)中,把每個任務(wù)模塊剝離出來,按照以上的MVC模式,針對某個功能來具體實施數(shù)據(jù)庫設(shè)計、JSP頁面設(shè)計等幾塊教學(xué)任務(wù)。再結(jié)合計算思維的能力點將它切分到每個小任務(wù)中,而每個任務(wù)的難度逐漸增大。在任務(wù)中,鼓勵學(xué)生自主分析、設(shè)計和完成。
經(jīng)過課前的思考,以及操作實踐,學(xué)生完成在線的選擇題,一般是10條左右,針對本節(jié)課的知識點進行自我測試。
課堂實施:(1)在線測試題的評講,了解學(xué)生對理論的掌握情況。(2)根據(jù)學(xué)案完成的情況,對課前學(xué)案進行針對性講解。
在課堂教學(xué)過程中,要以生為本,在師生共同了解課前學(xué)習(xí)情況的基礎(chǔ)上,進行新問題的探索,解決問題重點、難點,實現(xiàn)與課前學(xué)案、考察點的無縫鏈接。在教學(xué)方式中,常用拋出問題、問題探究、互動交流等多種形式來幫助學(xué)生解決問題的同時鍛煉計算思維能力。
通過項目式教學(xué)內(nèi)容的呈現(xiàn),自主學(xué)習(xí)方式的引導(dǎo),學(xué)生經(jīng)歷了課前查閱資料與課中相互討論,課后進行總結(jié),在培養(yǎng)自主學(xué)習(xí)能力的同時鍛煉了計算思維能力與創(chuàng)造力??傊贘SP程序設(shè)計中融入計算思維的設(shè)計,使學(xué)生知識點的掌握與應(yīng)用能力的提高都獲得了進步。
在2017級計算機相關(guān)專業(yè)的實踐教學(xué)中,學(xué)生學(xué)習(xí)的興趣、自主學(xué)習(xí)的能力、小組合作精神都有所提高,養(yǎng)成了課前思考的習(xí)慣,課堂上對知識點熟悉度高、參與積極性高,討論氛圍好。對2016屆和2017屆學(xué)生的JSP程序設(shè)計課程考試成績、作業(yè)完成情況、課堂情況、小組合作、拓展任務(wù)完成情況等方面進行對比分析,發(fā)現(xiàn)2017屆學(xué)生的綜合分?jǐn)?shù)明顯高于2016屆學(xué)生,教學(xué)反饋中,學(xué)生對項目化教學(xué)、鍛煉思維的教學(xué)設(shè)計方法也比較滿意,特別是自覺性高的學(xué)生,在經(jīng)過長時間的思維、實踐訓(xùn)練后,分析、解決問題的能力得到了很大的提高。程序開發(fā)能力更進一步。
本次針對JSP程序設(shè)計的教學(xué)實踐證明,計算思維不僅激發(fā)了學(xué)生的學(xué)習(xí)興趣,更重要的還能提高學(xué)生分析和解決問題的能力。但針對不同的學(xué)生,我們課程設(shè)計還需要有一定的層次性,今后需要進一步探索和研究。