李永飛 李芙玲
摘要:面向應用能力培養的專業技能類課程需要在課堂教學中采用新的設計思路和實施方案。借鑒CDIO的教育模式和理念,在編程技能類課程中采用“以做帶學”取代傳統的“先學后做”,課堂教學中重點講解任務的分析過程,從學生的學習效果出發,對課堂教學方案進行了重新設計。
關鍵詞:課堂教學;以做帶學;教學環節
中圖分類號:G642 文獻標志碼:A 文章編號:1674-9324(2018)28-0206-03
一、引言
“Java Web應用開發”是應用型本科計算機類專業開設的一門關于Web應用開發方法的編程技能類課程。在傳統的教學模式下,課堂教學主要是對相關知識點進行講解,并配以示例程序說明其用法。學生雖然在課堂上能夠理解所講的知識點,但是在隨后的課程實驗中需要使用這些知識來解決實際問題時,卻往往表現出應用能力的欠缺,無法滿足應用型本科人才培養的需要[1]。導致這一現象的原因之一是在傳統的編程類課程教學思路中,都是要求學生先理解相關原理,再通過講解應用實例,希望學生通過模仿來實現類似功能,最后再獨立開發新的功能。但是在實際教學過程中可以發現,學生在理解教學內容之后,從模仿到應用會出現一些障礙。由于這些問題得不到及時地解決,從而會影響到應用能力的培養。
結合筆者的教學實踐,對“Java Web應用開發”課程的課堂教學方案進行了重新設計。按照軟件開發的思路,從數據的輸入、傳遞、處理到輸出,根據示例應用項目的實現過程來組織課堂教學,并取得了較好的教學效果。
二、課堂教學方案設計原則
1.變“先學后做”為“以做帶學”。正如CDIO這一新型工程教育模式所強調的一樣,學生通過經歷構思、設計、實現、運行的完整周期,能夠使個人的專業知識、學習能力、團隊協作等方面得到顯著的提升[2]。CDIO實現了工程教育中理論知識與實踐能力的平衡,其主要理論依據來源于杜威的“從做中學”的實用主義哲學理念。“從做中學”強調讓學生在實踐中建構基礎性的科學知識,使學習過程充滿興趣性和持久性[3]。
在編程技能類課程的教學方案設計中,應該改變傳統的“先學后做”、以驗證型實驗為主要形式的實驗教學模式。可以借鑒CDIO的思路,采用任務驅動、以做帶學的形式,課堂上結合示例程序的開發過程來講解相關知識點。對于部分比較簡單的基礎性知識,甚至可以“以做代學”,課堂上不再單獨講解,而是要求學生在完成任務的過程中通過自學來掌握。
2.強調分析和解決的過程。對于以編程技能為學習目標的課程來說,所謂的應用能力主要包括分析問題的能力和解決問題的能力。分析能力是指能夠針對具體任務進行正確的分析,找到可行的算法;解決能力則是根據算法編寫出可運行的程序,完成具體任務。這里所說的分析能力可以通過課堂實例,采用引導式的教學進行培養,解決能力則主要通過實踐練習來獲得。教師可以采用指導式教學在課程實驗等實踐教學過程中培養學生的應用能力。圖1說明了課堂教學中編程技能方面的應用能力培養路徑。
3.要允許重要知識的重復出現。在完成開發任務的過程中,會用到許多知識點。有些知識點會在實現不同功能時反復使用,此時不要拒絕知識點的重復出現。只要功能實現中需要使用,就可以再次講解,但重復講解時可以根據學生的掌握情況做適當簡化。課堂教學的主線是程序開發的主流程,即解決數據的輸入、傳遞、處理到輸出以及程序控制流的實現,這樣就把課堂的教學主線從教知識變成了做項目,因為只有在做項目中才能真正培養學生的應用能力。同時,對于一些難度較大的重點內容,也不要期望學生能通過一次學習就完全掌握[4]。
三、課堂教學方案的設計
1.課堂教學方案的設計思路。目前的大多數課堂教學中側重于知識傳授,缺少明確的開發任務,在講解知識應用時又缺少分析過程的呈現,同時在知識傳授時還存在貪多求全的傾向,導致在有限的學時內只能對所有知識點同等對待,重點不夠突出。針對這些問題,在設計課堂教學方案時,首先要選擇一個合適的示例項目,作為貫穿課程始終的一條主線[5]。然后,將項目的開發過程分解為若干個任務,再以完成任務為學習目標,設計每次課堂教學的環節和內容。在傳統的程序設計類課程的課堂教學中,普遍缺少編程過程的呈現,也就是從提出問題到找到解決問題的思路,再到設計算法,最后編寫出程序的這個動態過程。在課堂教學中一般是先講解知識點,再講解程序實例。講解方法大都是先介紹要解決的問題,然后逐行講解程序代碼,不注重講解如何分析問題。這樣的教學模式缺少了從問題到程序的產生過程,導致學生往往在課堂上聽得懂,但課下作業不會做;只能看懂教材中的程序,但不明白面對問題時應該如何分析、如何設計、如何一步一步地編寫程序。這使得應用能力的培養無法落到實處。因此,在編程技能類課程課堂教學中,應該為每節課都確定明確的開發任務,并把重點放在從任務到程序之間的分析和設計過程上,彌補教材中靜態內容的不足,為學生示范解決問題的動態過程,供學生模仿學習。
2.課堂教學環節的設計。根據課堂教學方案的設計原則和設計思路,對“Java Web應用開發”課程的課堂教學環節進行設計。在開課之初,把示例項目的用戶需求說明書和系統設計說明書作為課程教學資料,提前發放給學生,避免因學生的項目分析能力不足而影響課程學習效果,然后將示例項目的開發任務進行分解之后,作為每一次課堂教學的開發任務,并依此進行教學設計。
遵循以學生為中心,一切從學生的學習效果出發的指導思想,用“學習任務”取代傳統的“教學任務”,站在學生的角度來設計每一堂課。將課堂教學分為以下四個環節:學習任務、課堂分析、課堂實現和上機練習。
學習任務:明確通過本次課堂教學學生要達到的學習目標,相當于傳統教學設計中的備課環節。在學習任務環節需要針對課程知識模塊和用戶需求說明書,確定本次課堂教學要帶領學生完成哪些任務,包括要學習哪些知識點和技能點、實現哪些功能點。課堂分析環節:根據學習任務,在課堂教學中帶領學生分析為完成本次課堂的開發任務,需要用到哪些知識點和技能點,并結合實例進行必要的講解。課堂實現環節:為學生演示如何應用所學的知識和技能完成本次學習任務中的部分功能。課堂分析和課堂實現是在課堂教學中需要完成的工作,相當于傳統教學設計中的上課環節。上機練習環節:學生應用課堂所學到的知識和技能完成本次學習任務中的其余功能。這一環節是課堂教學完成后的實驗教學部分,相當于傳統教學設計中的作業環節。作為技能類課程,作業一律采用上機作業的形式。其中,上機練習環節是學生理解和掌握應用型技能、培養應用能力、體現應用型本科特色的關鍵環節。
3.課堂教學方案設計實例。這里以“Java Web應用開發”的第10次課為例,給出課堂教學方案的設計實例,見表1。
本次課堂教學要完成的開發任務是3個功能點(用戶登錄、用戶管理和用戶注冊),要求理解3個知識點(JDBC的工作機制、使用步驟及代碼模板),掌握1個技能點(數據庫查詢和添加功能),并要求學生在上機練習時模仿實現2個類似功能點(新聞列表、新聞添加)的開發。
四、結語
課堂教學是課程教學的主戰場,是影響教學效果的關鍵因素。通過對編程技能類課程的課堂教學方案設計原則的分析,研究了課堂教學方案的設計思路和課堂教學環節的設計,并以“Java Web應用開發”的一次課堂教學為例,給出了課堂教學方案設計實例。通過以面向應用能力培養的新思路來組織和實施課堂教學,在教學實踐中得到了很好的教學效果。學生的編程能力相比以往得到了顯著的提高,對課程滿意度也明顯有了上升。
參考文獻:
[1]孫素華.應用型本科程序設計類課程教學改革研究[J].教育與職業,2012,(36):146-147.
[2]宋彩霞,張金政,丁男,等.基于CDIO教育理念的數字電路教學設計[J].高等理科教育,2016,(5):98-103.
[3]王素琴,王新,石敏,等.基于CDIO和翻轉課堂的《軟件工程》課程教學研究[J].中國教育信息化·基礎教育,2017,(4):50-52.
[4]陳道蓄,陶先平,錢柱中,等.計算機問題求解課程的內容建設[J].計算機教育,2012,(23):6-9,12.
[5]李永飛,趙巧芳.技能型課程教學模式的設計[J].中國電力教育,2012,(20):61-62.