[摘 要]計算機語言類課程的教學內容會隨著信息技術的發展而不斷更新,它在教學過程中強調實踐性,強調學生操作能力的提高,這就要求其在教學內容、教學方法、教學設備上都要不斷更新。針對這種現狀,在Java EE教學中進行了教學改革的嘗試,將整個教學過程劃分為三個大的階段:夯實基礎知識階段、培養個人實踐動手能力的階段、培養團隊合作能力的階段。改革的成效和不足之處是評價指標體系還不夠細化,應該進一步量化,使其能夠更精確地反映學生的水平。要積極探索多樣化的評價方式,讓學生參與到課堂講授中,鼓勵每位學生建立自己的博客。
[關鍵詞]三階段教學 Java EE 團隊合作
[中圖分類號] G642.0 [文獻標識碼] A [文章編號] 2095-3437(2013)17-0111-03
眾所周知,計算機語言類課程的教學內容會隨著信息技術的發展而不斷更新,它在教學過程中強調實踐性,強調學生操作能力的提高,這就要求其在教學內容、教學方法、教學設備上都要不斷更新。目前大多數教師講授的方法是要么單純地灌輸給學生一步步怎么做,要么將操作步驟整理成文檔發給學生,然后學生照著步驟做一遍記一遍,被動地接受知識,甚至變成了背知識。學生在學習的過程中根本不需要自己動腦思考,教師的“勤快”造成了學生思維上的“懶惰”。學生本應該成為“代碼的創造者”,最后卻變成了“代碼的熟練工”。這種教學方式非常不利于他們今后的發展,如果學生在學習過程中沒有培養起良好的思考問題的習慣,對知識的學習僅僅停留在知識表面而不會靈活地運用知識,那么學生就業時就會處處碰壁。因為他們不得不面對一個現實,計算機更新速度快的特點造成了就業時所應聘的崗位很有可能用到的并不是現在所學的技術。另一方面,如果學生僅僅對知識理解得很深入,對知識的來龍去脈一清二楚,但是缺乏實踐動手能力,那也稱不上是高素質的應用型人才,應聘時仍會碰壁。如果學生對知識的理解很深入并且實踐動手能力也很強,應聘時一定會成功嗎?也未必。因為軟件開發往往是由一個團隊合作進行的,所以還需要學生具有一定的團隊合作能力。針對這種現狀,在Java EE教學中進行了教學改革的嘗試,將整個教學過程劃分為三個大的階段:夯實基礎知識階段、培養個人實踐動手能力的階段、培養團隊合作能力的階段。
一、三階段教學模式
(一)第一階段:夯實基礎知識階段
在該階段主要強調學生對基礎知識、基本技能的掌握。采取的教學方法及其該階段著重培養的學生能力如下。
1.教學方法
該階段在課堂教學中主要借鑒“北大青鳥ACCP培訓機構”所提出的3W1H教學方法,第一個“W”是What,即讓學生清楚所學的知識點是什么。第二個“W”是Why,在教學過程中,教師應該讓學生明白為什么會引入這個新的知識點,它用來解決什么問題,不用的話會怎么樣。第三個“W”是Where,即讓學生明確這個知識點用在什么地方?!癏”是How,即讓學生知道如何使用這個知識點。與傳統的教學模式相比,3W1H教學法建立在傳統教學法的基礎上,它既能發揮教師的主導作用,又能體現學生認知的主體作用。在3W1H教學法中,教師通過自身的主導作用,運用3W1H的教學理念對知識點進行劃分,并且通過創設相關的情景對學生進行引導,便于學生循序漸進地學習和接受相關的知識。在整個過程中,教師有時處于中心地位,但并非自始至終。學生有時也處于傳遞—接受學習狀態,但更多的時候是在教師的幫助下進行主動的思考和探索。在傳統教學中,重要的是讓學生去了解所學的知識點,而在3W1H中,最重要的是讓學生了解這個知識點“用在哪里”和“怎樣運用這個知識點”,并且通過學習到相關的知識后能夠舉一反三,從而掌握更多相同或相似的知識。這兩者之間的區別就在于“認知”和“應用”。
同時在課堂教學中,也會融合像案例教學、啟發式教學、任務驅動等多種教學方法,讓學生能夠真正了解知識的來龍去脈。
2.學生能力培養
該階段主要培養學生的如下能力。
(1)培養學生知其然并知其所以然的能力。比如講Struts2中的攔截器,不要單純地去講怎么用Struts2攔截器,而是先給學生模擬Struts2中攔截器的實現原理,通過這個過程,學生可以清楚地知道為何官方給出的Struts2工作原理圖是先調用攔截器1、攔截器2,再調用Action,調用完了之后再調用攔截器2、攔截器1。通過簡單模擬學生會發現原來這個過程是遞歸調用的過程,這樣學生再去使用攔截器的時候,就不是單純的使用了。通過這種方式逐漸培養出學生知其然并想知其所以然的能力。這些本質不變的東西是非常值得深入研究的,因為很多最新技術的底層都是基于這些本質的東西來實現的。當學生畢業時即使面試公司所用的技術不是其在校所學的技術,但是由于學生在基礎學習階段重視了技術的底層,對新技術也會很快上手。
(2)自主學習的能力。上課課時畢竟有限,不可能將所有問題都給學生講得一清二楚;另一方面,學生就算在課上將所有內容都聽明白了,也不代表這堂課一定就是成功的,如果課堂中能夠激發學生課下主動積極地去思考一些問題,這樣的課才算是一堂真正的好課,因為教師激發起了學生思考的興趣。所以教師在課堂中可以故意設計一些問題留給學生課下去思考,比如攔截器是基于Java的動態代理實現的,Java的動態代理是怎么回事,學生可帶著這個疑問課下去查找相關的資料。查資料的過程本身就是一個培養自主學習能力的過程,在這個過程中,學生會了解到很多新知識,這能夠逐漸地培養學生在眾多知識中快速查找到自己所需知識的能力。
(3)查文檔的能力。Java EE框架技術基本上是和配置文件打交道,而配置文件并不需要硬背硬記,記不住了查查就清楚了。所以要培養學生快速在文檔中查找自己所需內容的能力。
(4)讀源碼的能力。每個框架都應該教給學生如何去關聯源代碼。通過讀源碼,學生能夠了解到技術底層,而且可以從中學習編碼規范。當然并不是每個學生都會具備這個素質,但還是要盡量鼓勵他們去讀源碼,起碼要讓學生有這個意識。一開始教師可以帶著學生去讀一些經典的源碼,比如Struts2配置的一個非常重要的過濾器是Struts2PrepareAndExecuteFilter,帶著學生去讀讀這個過濾器的源碼,學生一方面會了解到Struts2設計者的思路,另一方面學生也會對Struts2框架的工作原理有更深的理解。
(5)程序調試能力,錯誤分析能力。以往學生程序一出錯,就立刻向教師求救,教師也立馬給出解答,學生心中佩服無比。但是長此下去,很容易讓學生形成依賴,喪失程序調試能力和錯誤分析的能力,而這種能力也是至關重要的。因為當學生畢業工作了,在實際開發過程中會遇到各種各樣的問題,如果沒有一定的程序調試能力和錯誤分析能力,學生就會變得手足無措。為此在教學中應該要求學生在出現問題時分四步走:第一步一定先根據自己所學的基礎知識想一想問題出錯的原因,運用設置斷點、單步調試、單元測試等調試技巧找出出錯的位置;如果第一步沒有解決問題,那么進入第二步求救Google;如果仍未解決,進入第三步和同學討論;最后第四步才是求救教師,和教師進行討論。
(6)培養團隊合作能力。上機往往是多個班同時進行,教師根本就顧不過來?;谶@個考慮,在教學初就對班級學生進行分組,出現問題時如果個人解決不了,先組內討論解決,組內解決不了的教師再集中統一講解。這個階段也是團隊合作的磨合期,為第三個階段的順利進行打下基礎。
(二)第二階段:培養學生個人實踐動手能力的階段
在該階段,主要強調培養學生個人的綜合實踐能力,該階段是在依據教學大綱已經將教學知識點全都傳授給學生,學生已經具備了夯實的基礎知識,在此基礎上,讓學生獨立根據現有知識儲備完成一個項目,比如在Java EE框架這門課中,讓學生獨立完成一個學生選課系統。圍繞此項目教師只進行功能展示,以及涉及的關鍵知識說明,提出必做功能和擴展功能。必做功能完全利用已學知識完全就可以實現,是對已學知識的實踐應用。擴展功能會引導學生該去自學哪些知識,這樣能夠在很大程度上提高學生的自主學習能力。
在這個階段,對教師的要求是布置給學生的項目自己一定要做一遍,一定要確定一下項目的難度和工作量,但是一定不能給出學生完成項目的操作步驟。因為一旦給出,就會出現本文一開始所提到的問題,學生會非常依賴于文檔,在做的過程中不會主動去思考,而是被動地照著步驟做,照著敲代碼。當出現問題時,不是想著如何去調試去糾錯,而是對著教師給出的文檔一個代碼一個代碼地對一遍,這樣對學生是百害而無一利的。作為教師要給學生充分的鼓勵,鼓勵他們要相信自己通過第一階段打下的基礎,一定能夠完成這個項目。當然如果學生在項目開發中如果遇到了瓶頸,可以適當地給予他們引導,啟發其解決思路。
(三)第三階段:培養學生團隊合作能力的階段
近年來招聘單位在招聘學生時,學生團隊合作能力成了招聘時重要的考核內容之一。因此在該階段,強調培養學生的團隊合作能力,做法是讓學生分組完成一個完整的項目,教師給出可選題目,學生也可以自擬題目。
在這個階段,對教師的要求是做好五個引導。引導學生制訂項目需求分析和開發計劃,包括總體需要完成哪些工作、由誰負責完成、最終結果應該如何、什么時候完成等;引導學生要善于利用各種手段與其他成員充分溝通;引導學生進行團隊協助,充分發揮各自的專長;引導各組組長在分配任務前要摸清組員的技能和意愿;引導鼓勵團隊成員互相及時反饋,幫助解決合作中遇到的問題和分歧。
以上三個階段自上而下,上一個階段是下一個階段的基礎,層層遞進,最終的目標是使學生成為社會所需要的人才。
三、改革的成效和不足
通過改革不能夠保證每個學生都能夠成為編程高手,但是實踐證明:越來越多的學生喜歡問為什么了;越來越多的學生開始在宿舍里討論問題了;越來越多的學生體會到了解決問題的成就感了;越來越多的學生感覺到團隊合作的重要性了;越來越多的學生自學能力提高了,知道主動去獲取新知識了;越來越多的學生參與到教師的項目開發中;越來越多的學生在接項目做了……值得一提的是曹勝歡同學(在google中輸入他的名字就可以進入他的博客)在中國最大的計算機交流論壇CSDN上寫的博客引起了很大的反響,一度在CSDN推薦博客排名中列居第2位。他在學習框架的過程中更是每上完一次課就會寫篇總結,加入自己的分析和理解,形成了框架學習的一系列課程。他的博文被北京的一個項目經理看中,并給他提供了免費培訓敏捷開發的機會。在CSDN舉辦的全國優秀學生博客評選中名列其中(全國只評選出了3名學生)。
不足之處是評價指標體系還不夠細化,應該進一步的量化,使其能夠更精確地反映學生的水平。另外還應該積極地探索多樣化的評價方式,如讓學生參與到課堂講授中,鼓勵每位學生建立自己的博客。
[ 參 考 文 獻 ]
[1] 蔣麗珠.獨具特色的澳大利亞職業技術教育[J].教育與職業,2006(2):14-16.
[2] 祝智庭.教育技術培訓教程[M].北京:北京師范大學出版社,2006:20-26.
[3] 楊興林.地方高校應用型人才培養模式應著力四個轉變[J] .揚州大學學報(高教研究版),2011(1) : 3-7.
[責任編輯:劉鳳華]