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