李永飛,郭曉欣
(華北科技學(xué)院 計(jì)算機(jī)學(xué)院,河北 廊坊 065201)
Java Web應(yīng)用開發(fā)是一門關(guān)于Web應(yīng)用開發(fā)方法和基本開發(fā)技能的專業(yè)課,很多應(yīng)用型本科院校的計(jì)算機(jī)類專業(yè)都在開設(shè)。目前在該課程的教學(xué)中存在一些問題,例如教師在教學(xué)過程中以基礎(chǔ)語法知識(shí)為主要教學(xué)內(nèi)容,學(xué)生在完成課程學(xué)習(xí)之后不能完成簡(jiǎn)單的項(xiàng)目開發(fā),甚至有部分學(xué)生選擇參加社會(huì)培訓(xùn)重新學(xué)習(xí)相關(guān)內(nèi)容等[1-2]。這些問題的存在說明該課程的教學(xué)模式和教學(xué)方法還存在不足之處。
課程目標(biāo)確定了一門課程教與學(xué)的具體目標(biāo)和意圖,它規(guī)定了學(xué)生通過一門課程的學(xué)習(xí)之后應(yīng)當(dāng)達(dá)到的結(jié)果[3]。在課程目標(biāo)確定之后,課程的教學(xué)內(nèi)容、教學(xué)方法、考核要求、教學(xué)條件等才有所依據(jù)。但是,在目前的教學(xué)實(shí)踐中,無論是教師還是學(xué)生,都普遍存在由于課程目標(biāo)不夠明確,以致影響課程教學(xué)效果的現(xiàn)象。
2017年8月,筆者參加了中國(guó)計(jì)算機(jī)學(xué)會(huì)在北京舉辦的計(jì)算機(jī)課程改革導(dǎo)教班。在陳道蓄教授的“計(jì)算機(jī)問題求解”課程中,接觸到一種全新的教學(xué)理念,特別是其中關(guān)于課程目標(biāo)的設(shè)計(jì)思路讓我受益匪淺。
陳道蓄教授在導(dǎo)教班中系統(tǒng)介紹了南京大學(xué)計(jì)算機(jī)學(xué)院開設(shè)的“計(jì)算機(jī)問題求解”這門課程。該課程整合了計(jì)算機(jī)導(dǎo)論、程序設(shè)計(jì)基礎(chǔ)、離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計(jì)與分析等多門傳統(tǒng)意義下的計(jì)算機(jī)專業(yè)基礎(chǔ)課程,分4個(gè)學(xué)期開設(shè)。其課程目標(biāo)被分解為意識(shí)、知識(shí)、能力和技能4個(gè)方面。具體內(nèi)容如下[4]:①意識(shí)方面:建立在計(jì)算機(jī)科學(xué)領(lǐng)域持續(xù)追求效率更高、質(zhì)量更好的算法的創(chuàng)新意識(shí)。②知識(shí)方面:掌握能支持在計(jì)算機(jī)科學(xué)領(lǐng)域進(jìn)行探索所需的離散數(shù)學(xué)、問題建模、數(shù)據(jù)抽象、算法設(shè)計(jì)與分析、算法復(fù)雜性理論等方面的基礎(chǔ)知識(shí)。③能力方面:具備分析問題,并采用一定策略進(jìn)行算法設(shè)計(jì)的能力,并能對(duì)算法進(jìn)行基本分析的能力;具備自我探索學(xué)習(xí),并凝練問題的能力。④技能方面:掌握熟練使用C++語言及其開發(fā)環(huán)境, 實(shí)現(xiàn)能正確運(yùn)行的程序的技能。
筆者認(rèn)為,相較于傳統(tǒng)教學(xué)觀念中把知識(shí)傳遞作為主要課程目標(biāo)的理解,這里從4個(gè)方面對(duì)課程目標(biāo)給出了更為全面的描述,也更加符合計(jì)算機(jī)專業(yè)基礎(chǔ)課程的實(shí)際需要。
陳老師的“計(jì)算機(jī)問題求解”課程目標(biāo)設(shè)定是服務(wù)于學(xué)術(shù)型本科的人才培養(yǎng)目標(biāo),同時(shí)也是針對(duì)計(jì)算機(jī)專業(yè)基礎(chǔ)課程。對(duì)于應(yīng)用型本科的編程技能類專業(yè)課,也可以從上述4個(gè)方面來設(shè)定課程目標(biāo),而且在4個(gè)方面之間存在層次依賴的關(guān)系,如圖1所示。
圖1 課程目標(biāo)的層次依賴關(guān)系
首先,知識(shí)傳遞是課程教學(xué)的基礎(chǔ)。知識(shí)傳遞在傳統(tǒng)教學(xué)觀念中是主要任務(wù),甚至是唯一內(nèi)容。在新的課程目標(biāo)中,知識(shí)傳遞的重要性仍然不容忽視,它是實(shí)現(xiàn)其他目標(biāo)層次的必要支撐條件。
其次,技能訓(xùn)練是課程教學(xué)的手段。對(duì)于應(yīng)用型本科而言,其辦學(xué)方向是面向行業(yè)培養(yǎng)應(yīng)用能力較強(qiáng)的實(shí)用型人才[5]。是否掌握了必要的專業(yè)技能是衡量應(yīng)用型本科辦學(xué)效果的一個(gè)重要標(biāo)準(zhǔn)。同時(shí),技能訓(xùn)練也構(gòu)成課程目標(biāo)中的另一個(gè)基礎(chǔ)支撐。
再次,能力培養(yǎng)是課程教學(xué)的目的。通過課程學(xué)習(xí),使學(xué)生具備應(yīng)用專業(yè)技術(shù)在某一特定領(lǐng)域解決實(shí)際問題的能力,這正是應(yīng)用型本科的應(yīng)有之義,而能力培養(yǎng)需要基于知識(shí)傳遞和技能訓(xùn)練來實(shí)現(xiàn)。
最后,意識(shí)養(yǎng)成是課程教學(xué)的追求。如果學(xué)生能夠在具備專業(yè)能力的基礎(chǔ)上,通過多門專業(yè)課程的學(xué)習(xí),逐漸培養(yǎng)和積累專業(yè)意識(shí)。在實(shí)際工作和日常生活中,能夠適時(shí)地想到應(yīng)用所掌握的專業(yè)技術(shù)來解決所遇到的現(xiàn)實(shí)問題,這才是真正成功的專業(yè)教育,而意識(shí)的養(yǎng)成是在能力培養(yǎng)過程中實(shí)現(xiàn)的。
前面分析了為應(yīng)用型本科的編程技能類專業(yè)課設(shè)定課程目標(biāo)時(shí),可以采用分層的思想。這里針對(duì)“Java Web應(yīng)用開發(fā)”課程,提出設(shè)定課程目標(biāo)時(shí)應(yīng)當(dāng)遵守的幾條原則。
傳統(tǒng)的專業(yè)課實(shí)驗(yàn)是對(duì)課堂講授的理論知識(shí)進(jìn)行簡(jiǎn)單的驗(yàn)證或應(yīng)用。課程實(shí)驗(yàn)中做什么內(nèi)容取決于課堂教學(xué)中講了什么內(nèi)容,所以實(shí)驗(yàn)教學(xué)是為理論教學(xué)服務(wù)的。但是對(duì)于以培養(yǎng)編程技能為主要任務(wù)的專業(yè)課來說,學(xué)生更多的是要通過上機(jī)實(shí)驗(yàn)來獲得技能訓(xùn)練和對(duì)知識(shí)的深入理解。因此,需要對(duì)課堂教學(xué)與實(shí)驗(yàn)教學(xué)的關(guān)系進(jìn)行重新定位。
筆者認(rèn)為,“Java Web應(yīng)用開發(fā)”課程中的課堂教學(xué)應(yīng)該為實(shí)驗(yàn)教學(xué)服務(wù)。課堂上講什么內(nèi)容取決于實(shí)驗(yàn)教學(xué)中要做什么、要用到哪些知識(shí)來選擇,因?yàn)閷?shí)驗(yàn)教學(xué)環(huán)節(jié)才是支持學(xué)生完成技能訓(xùn)練、實(shí)現(xiàn)能力培養(yǎng)的主要途徑。
“Java Web應(yīng)用開發(fā)”課程所涉及的知識(shí)點(diǎn)比較龐雜,系統(tǒng)性不強(qiáng)。在確定課程目標(biāo)的知識(shí)層面需要包含哪些內(nèi)容時(shí),不能簡(jiǎn)單地羅列照搬教材中的知識(shí)點(diǎn),而是應(yīng)該根據(jù)實(shí)驗(yàn)任務(wù)的需要,對(duì)教學(xué)內(nèi)容做適當(dāng)?shù)丶舨茫灰晃肚蠖嗲笕?。在掌握了主干?nèi)容之后,其他知識(shí)點(diǎn)可以由學(xué)生自學(xué),教師在必要時(shí)給予一定的指導(dǎo)。
另外,還要找出各知識(shí)點(diǎn)內(nèi)在的邏輯關(guān)系,梳理出相應(yīng)的知識(shí)圖譜,這樣有助于學(xué)生了解相關(guān)技術(shù)體系的全貌,為在課程結(jié)束后進(jìn)一步深入學(xué)習(xí)打好基礎(chǔ)。
課程目標(biāo)是一門課程的教學(xué)意圖。由于學(xué)生在先修課程學(xué)習(xí)、專業(yè)發(fā)展方向、個(gè)人能力以及興趣志向等方面的條件和追求各不相同,在專業(yè)課學(xué)習(xí)中,要求所有學(xué)生達(dá)到統(tǒng)一的標(biāo)準(zhǔn)事實(shí)上是不可能也是沒有必要的。應(yīng)當(dāng)為學(xué)生設(shè)立不同檔次的學(xué)習(xí)目標(biāo),這樣照顧到不同類別的學(xué)生,讓所有人都能學(xué)有所得,避免基礎(chǔ)較差或志不在此的學(xué)生完全放棄本門課程的學(xué)習(xí)。
基于前述課程目標(biāo)的4個(gè)層次,可以為學(xué)生設(shè)立3個(gè)不同檔次的學(xué)習(xí)目標(biāo)。初級(jí)目標(biāo)是掌握課程涉及的專業(yè)知識(shí)和基本技能;中級(jí)目標(biāo)是培養(yǎng)相應(yīng)的專業(yè)能力;高級(jí)目標(biāo)是養(yǎng)成課程對(duì)應(yīng)的專業(yè)意識(shí),不但給好學(xué)生以前進(jìn)的方向,也要給差生留出路。
基于前述的分層思想及相關(guān)原則,這里為“Java Web應(yīng)用開發(fā)”設(shè)定新的課程目標(biāo)。
(1)知識(shí)層面:掌握J(rèn)ava Web應(yīng)用開發(fā)涉及的主要知識(shí)點(diǎn),包括JSP基礎(chǔ)、Java Bean、JDBC、EL和JSTL、Servlet、MVC設(shè)計(jì)模式以及AJAX等。這里只給出了完成課程上機(jī)實(shí)驗(yàn)需要用到的知識(shí)點(diǎn),其余的相關(guān)知識(shí)點(diǎn)不再列入課程目標(biāo)。同時(shí),為學(xué)生提供涵蓋所有知識(shí)點(diǎn)的知識(shí)圖譜,作為學(xué)習(xí)參考。
(2)技能層面:熟練掌握Web應(yīng)用中數(shù)據(jù)傳遞和流程控制的各種實(shí)現(xiàn)機(jī)制、數(shù)據(jù)庫(kù)操作的實(shí)現(xiàn)、面向?qū)ο箝_發(fā)技術(shù)、常用組件的使用方法以及基于MVC的開發(fā)模式等。課程重點(diǎn)是訓(xùn)練學(xué)生掌握完成Web應(yīng)用開發(fā)所需要的基礎(chǔ)編程技能。
(3)能力層面:具備根據(jù)用戶需求說明書,進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)滿足所需功能的Web應(yīng)用程序的能力;具備針對(duì)實(shí)際問題查找資料并自主學(xué)習(xí)的能力。通過任務(wù)驅(qū)動(dòng)的形式,以完成一個(gè)完整的應(yīng)用開發(fā)作為課程教學(xué)主線,以期實(shí)現(xiàn)Web應(yīng)用開發(fā)能力的培養(yǎng)。
(4)意識(shí)層面:建立面對(duì)現(xiàn)實(shí)應(yīng)用需求,通過編程解決實(shí)際問題的Web應(yīng)用軟件工程師意識(shí)。
課程目標(biāo)是一門課程教與學(xué)的總?cè)蝿?wù),決定了課程教學(xué)的其他環(huán)節(jié)如何組織和設(shè)計(jì)。我們通過對(duì)課程目標(biāo)進(jìn)行層次性分解,并研究了課程教學(xué)中課堂與實(shí)驗(yàn)的關(guān)系定位,為學(xué)生設(shè)立不同檔次的學(xué)習(xí)目標(biāo),以“Java Web應(yīng)用開發(fā)”課程為例,設(shè)定了新的課程目標(biāo)。下一步計(jì)劃對(duì)編程技能類課程的考核方式進(jìn)行研究,希望能夠從學(xué)習(xí)效果著手來促進(jìn)教學(xué)效果的改善。
[1] 孫素華. 應(yīng)用型本科程序設(shè)計(jì)類課程教學(xué)改革研究[J]. 教育與職業(yè), 2012(36): 146-147.
[2] 李永飛, 趙巧芳. 技能型課程教學(xué)模式的設(shè)計(jì)[J]. 中國(guó)電力教育, 2012(20): 61-62.
[3] 高孝傳. 課程目標(biāo)研究[M]. 北京: 教育科學(xué)出版社 2001.
[4] 陳道蓄, 陶先平, 錢柱中, 等. 重組計(jì)算機(jī)專業(yè)基礎(chǔ)課程, 促進(jìn)學(xué)生能力培養(yǎng)[J]. 計(jì)算機(jī)教育, 2012(23): 2-5.
[5] 王青林. 關(guān)于創(chuàng)新應(yīng)用型本科人才培養(yǎng)模式的若干思考[J]. 中國(guó)大學(xué)教學(xué), 2013(6): 20-23.