李永飛,郭曉欣
(華北科技學院 計算機學院,河北 廊坊 065201)
Java Web應用開發是一門關于Web應用開發方法和基本開發技能的專業課,很多應用型本科院校的計算機類專業都在開設。目前在該課程的教學中存在一些問題,例如教師在教學過程中以基礎語法知識為主要教學內容,學生在完成課程學習之后不能完成簡單的項目開發,甚至有部分學生選擇參加社會培訓重新學習相關內容等[1-2]。這些問題的存在說明該課程的教學模式和教學方法還存在不足之處。
課程目標確定了一門課程教與學的具體目標和意圖,它規定了學生通過一門課程的學習之后應當達到的結果[3]。在課程目標確定之后,課程的教學內容、教學方法、考核要求、教學條件等才有所依據。但是,在目前的教學實踐中,無論是教師還是學生,都普遍存在由于課程目標不夠明確,以致影響課程教學效果的現象。
2017年8月,筆者參加了中國計算機學會在北京舉辦的計算機課程改革導教班。在陳道蓄教授的“計算機問題求解”課程中,接觸到一種全新的教學理念,特別是其中關于課程目標的設計思路讓我受益匪淺。
陳道蓄教授在導教班中系統介紹了南京大學計算機學院開設的“計算機問題求解”這門課程。該課程整合了計算機導論、程序設計基礎、離散數學、數據結構和算法設計與分析等多門傳統意義下的計算機專業基礎課程,分4個學期開設。其課程目標被分解為意識、知識、能力和技能4個方面。具體內容如下[4]:①意識方面:建立在計算機科學領域持續追求效率更高、質量更好的算法的創新意識。②知識方面:掌握能支持在計算機科學領域進行探索所需的離散數學、問題建模、數據抽象、算法設計與分析、算法復雜性理論等方面的基礎知識。③能力方面:具備分析問題,并采用一定策略進行算法設計的能力,并能對算法進行基本分析的能力;具備自我探索學習,并凝練問題的能力。④技能方面:掌握熟練使用C++語言及其開發環境, 實現能正確運行的程序的技能。
筆者認為,相較于傳統教學觀念中把知識傳遞作為主要課程目標的理解,這里從4個方面對課程目標給出了更為全面的描述,也更加符合計算機專業基礎課程的實際需要。
陳老師的“計算機問題求解”課程目標設定是服務于學術型本科的人才培養目標,同時也是針對計算機專業基礎課程。對于應用型本科的編程技能類專業課,也可以從上述4個方面來設定課程目標,而且在4個方面之間存在層次依賴的關系,如圖1所示。

圖1 課程目標的層次依賴關系
首先,知識傳遞是課程教學的基礎。知識傳遞在傳統教學觀念中是主要任務,甚至是唯一內容。在新的課程目標中,知識傳遞的重要性仍然不容忽視,它是實現其他目標層次的必要支撐條件。
其次,技能訓練是課程教學的手段。對于應用型本科而言,其辦學方向是面向行業培養應用能力較強的實用型人才[5]。是否掌握了必要的專業技能是衡量應用型本科辦學效果的一個重要標準。同時,技能訓練也構成課程目標中的另一個基礎支撐。
再次,能力培養是課程教學的目的。通過課程學習,使學生具備應用專業技術在某一特定領域解決實際問題的能力,這正是應用型本科的應有之義,而能力培養需要基于知識傳遞和技能訓練來實現。
最后,意識養成是課程教學的追求。如果學生能夠在具備專業能力的基礎上,通過多門專業課程的學習,逐漸培養和積累專業意識。在實際工作和日常生活中,能夠適時地想到應用所掌握的專業技術來解決所遇到的現實問題,這才是真正成功的專業教育,而意識的養成是在能力培養過程中實現的。
前面分析了為應用型本科的編程技能類專業課設定課程目標時,可以采用分層的思想。這里針對“Java Web應用開發”課程,提出設定課程目標時應當遵守的幾條原則。
傳統的專業課實驗是對課堂講授的理論知識進行簡單的驗證或應用。課程實驗中做什么內容取決于課堂教學中講了什么內容,所以實驗教學是為理論教學服務的。但是對于以培養編程技能為主要任務的專業課來說,學生更多的是要通過上機實驗來獲得技能訓練和對知識的深入理解。因此,需要對課堂教學與實驗教學的關系進行重新定位。
筆者認為,“Java Web應用開發”課程中的課堂教學應該為實驗教學服務。課堂上講什么內容取決于實驗教學中要做什么、要用到哪些知識來選擇,因為實驗教學環節才是支持學生完成技能訓練、實現能力培養的主要途徑。
“Java Web應用開發”課程所涉及的知識點比較龐雜,系統性不強。在確定課程目標的知識層面需要包含哪些內容時,不能簡單地羅列照搬教材中的知識點,而是應該根據實驗任務的需要,對教學內容做適當地剪裁,不要一味求多求全。在掌握了主干內容之后,其他知識點可以由學生自學,教師在必要時給予一定的指導。
另外,還要找出各知識點內在的邏輯關系,梳理出相應的知識圖譜,這樣有助于學生了解相關技術體系的全貌,為在課程結束后進一步深入學習打好基礎。
課程目標是一門課程的教學意圖。由于學生在先修課程學習、專業發展方向、個人能力以及興趣志向等方面的條件和追求各不相同,在專業課學習中,要求所有學生達到統一的標準事實上是不可能也是沒有必要的。應當為學生設立不同檔次的學習目標,這樣照顧到不同類別的學生,讓所有人都能學有所得,避免基礎較差或志不在此的學生完全放棄本門課程的學習。
基于前述課程目標的4個層次,可以為學生設立3個不同檔次的學習目標。初級目標是掌握課程涉及的專業知識和基本技能;中級目標是培養相應的專業能力;高級目標是養成課程對應的專業意識,不但給好學生以前進的方向,也要給差生留出路。
基于前述的分層思想及相關原則,這里為“Java Web應用開發”設定新的課程目標。
(1)知識層面:掌握Java Web應用開發涉及的主要知識點,包括JSP基礎、Java Bean、JDBC、EL和JSTL、Servlet、MVC設計模式以及AJAX等。這里只給出了完成課程上機實驗需要用到的知識點,其余的相關知識點不再列入課程目標。同時,為學生提供涵蓋所有知識點的知識圖譜,作為學習參考。
(2)技能層面:熟練掌握Web應用中數據傳遞和流程控制的各種實現機制、數據庫操作的實現、面向對象開發技術、常用組件的使用方法以及基于MVC的開發模式等。課程重點是訓練學生掌握完成Web應用開發所需要的基礎編程技能。
(3)能力層面:具備根據用戶需求說明書,進行設計和實現滿足所需功能的Web應用程序的能力;具備針對實際問題查找資料并自主學習的能力。通過任務驅動的形式,以完成一個完整的應用開發作為課程教學主線,以期實現Web應用開發能力的培養。
(4)意識層面:建立面對現實應用需求,通過編程解決實際問題的Web應用軟件工程師意識。
課程目標是一門課程教與學的總任務,決定了課程教學的其他環節如何組織和設計。我們通過對課程目標進行層次性分解,并研究了課程教學中課堂與實驗的關系定位,為學生設立不同檔次的學習目標,以“Java Web應用開發”課程為例,設定了新的課程目標。下一步計劃對編程技能類課程的考核方式進行研究,希望能夠從學習效果著手來促進教學效果的改善。
[1] 孫素華. 應用型本科程序設計類課程教學改革研究[J]. 教育與職業, 2012(36): 146-147.
[2] 李永飛, 趙巧芳. 技能型課程教學模式的設計[J]. 中國電力教育, 2012(20): 61-62.
[3] 高孝傳. 課程目標研究[M]. 北京: 教育科學出版社 2001.
[4] 陳道蓄, 陶先平, 錢柱中, 等. 重組計算機專業基礎課程, 促進學生能力培養[J]. 計算機教育, 2012(23): 2-5.
[5] 王青林. 關于創新應用型本科人才培養模式的若干思考[J]. 中國大學教學, 2013(6): 20-23.