“項目教學法”是師生通過共同實施一個完整的項目而進行的教學活動。在這里,項目指以生產一件具體的、具有實際應用價值的產品為目的的任務。它應滿足以下條件:該項目具有一定的應用價值,且涵蓋一定的教學內容;能將某一學科或幾個學科的理論知識與實踐技能結合起來;與企業實際生產過程或現實商業經營活動有直接的關系;學生有獨立制定計劃并實施的機會;有明確而具體的成果展示;學生自己克服、處理在項目實施中出現的困難和問題;項目具有一定的難度,要求學生綜合運用多學科知識和技能,解決過去從未遇到過的實際問題;采用小組工作的方式,即共同制定計劃、共同(或分工)完成整個項目,學習結束時,師生共同評價項目成果。
一、項目的設立是“項目教學法”的關鍵
從項目的定義可知項目選取的原則:1.該項目可用于學習一定的教學內容,具有一定的應用價值;2.能將某一教學課題的理論知識和實際技能相結合;3.與企業實際生產過程或現實的商業經營活動有直接的關系;4.具有一定的難度,要求學生運用新學習的知識和技能,解決過去從未遇到過的實際問題。
長江三角區是當前我國外向型經濟最發達的地區。“產業集群”正在長江三角地區加速生成。羊毛衫企業就是其中之一。在當地,羊毛衫企業城鄉遍布,學生的親戚、朋友或許就在其中工作。羊毛衫能被國內外廣大消費者所喜愛,除了具有良好的穿著性能外,還在于它的花型圖案的設計。因此搶占市場占有率的關鍵在于款式和圖案的創新。對于編織圖案,有些學生本身課余就在從事羊毛衫機織或針織,在耳濡目染中再熟悉不過了。基于以上因素,“編織圖案設計”被列為程序設計教學的項目題材。
“編織圖案設計”項目“麻雀雖小卻五臟俱全”。軟件工程項目的過程(即軟件的生存期)的六個過程一一制定計劃、需求分析、軟件設計、程序編寫、軟件測試、運行維護都一一涉及。花型圖案有著較強的時代感和民族氣息,它從一定的角度反映了一個民族的審美觀和氣質。因此,學生要廣泛收集素材,深刻理解,才能選擇進而設計出真正能起到錦上添花效果的花型圖案來。常用的羊毛衫花型圖案有花卉圖案,幾何圖案、動物圖案、風景圖案、抽象圖案及最近開始流行的人物圖案等。學生可以回家向親戚和朋友借閱編織圖案或到網上、書店找資料。學生根據喜好確定意向后,要做以下工作:
第一步,班級統一發放方格坐標紙。學生把選好或自己繪的圖案描到坐標紙上,對圖案進行再加工。
第二步,圖案數據化,即編碼。一個點用坐標X,Y二個數據描述;一條直線用起點坐標X,y,和終點坐標X,Y,四個數據描述;曲線一般分解成點或短直線處理。
第三步,把數據寫入程序的數據區。根據程序要求,點的數據和直線數據分開,各以終止標志“—l”結束。
第四步,把程序和數據輸入電腦并調試。程序框架結構分兩層,一是提取數據畫點,二是提取數據畫線,程序涵蓋了教材的主要知識點,有循環也有分支。教師告訴學生向電腦輸入數據,絕對不能一次性輸入,只能一部分一部分地輸入,比照相應圖案,調試正確后才能再輸入下一部分。否則出起錯來,要在海量數據中查出錯點簡直就像“大海撈針”。這階段工作量最大,吸引力也最強,沒有完成的學生看到班內高手調試成功,而自己的只是個半成品,怎樣調試都無法成功,急得不行,立即產生向高手學習、奮起直追的愿望。學生的錯誤一般發生在編碼和輸入數據上,教師一般只作提示,學生就能自行解決。
第五步,修正屏幕效果。由于顯視器尺寸關系,程序最后還要綜合利用數學的位似變換和坐標變換技術對圖案大小、高度和寬度進行縮放修正。這時教師及時提出給程序加上動畫功能,在程序設計上更上一層樓,更貼近了當前“動漫”熱點。動畫的加入無疑吸引了學生,大家爭著修改程序讓自己的圖案動起來,這時程序的學習成了自覺的要求。
二、必須設計合理的子項目難度梯度
實施項目所必須的能力、經驗和學生現實水平的差距構成了難度系數。教師先擬定總項目框架,再設計出多種不同難度梯度的子項目序列模型,按易度優先的原則,從中篩選出最合適的一種,平滑過渡,引領學生完成總教學任務。Javascript編程是制作動態網頁的有力工具,但“編程”總使學生望而生畏,必須要有所鋪墊。在“網頁文字圖片動態效果”的項目框架下,我設計了三個子項目:FrontPage下的滾動字幕、HTML代碼marquce的使用,最后才是用Javascript實現文字圖片浮動。
“FrontPage下的滾動字幕”菜單式操作非常容易,為吸引學生進一步學習,在“方向”選項組中選“右”,查看HTML源代碼,發現在“marque”后出現向右參數選項,分別改成向上(up)和向下(down)果然成功,而這是“方向”選項組中沒有的,自然引入了“marque”編程。
教師告訴學生利用“marquee”的滾動效果,在有限的空間能置入幾倍的信息量,網上大量使用,且參數格式固定,易于理解和應用。接著教師引導性地公布了一批專題,如“神六”、“劉翔”、“太陽黑子爆發”和“國寶”等,學生自選,并上網搜集圖片利用“marquee”做各種移動特效。通過對“marquee”參數的設置,學生事實已進入了HTML編程。由于成功的效應,學生對“編程”懼怕的心理已逐漸淡化,引入Javascript腳本時機已經成熟。
“marquee”語句使用時有種種限制,比如無法浮動在其他文本之上,而簡單的Javascript編程就可以克服,通過對比凸顯Javascript強大實用價值。為了追求網頁特效,不少學生開始自行學習Javascript,完全達到了破解編程神秘化的初衷。此時在班級適時推出Javascript上機操作比賽,既把學習推向縱深,又及時作了回顧和評價,一舉兩得。
三、項目設計需與時俱進
項目設計要不斷注入新內容,及時反映新知識、新技術、新工藝和新方法。開設Flssh課程正值春節將至,年味正濃。春聯作為一種喜聞樂見的節日娛樂方式廣受歡迎。我適時推出項目主題“Flash制作春聯”,并發動學生廣泛收集素材,途徑是網上、民間和書籍。
“Flash春聯制作”常見有“縮放漸變技術”和“蒙版技術”,涵蓋了常規教學點。在系統講授這兩方面的內容后,我告訴學生,仔細研究新推出Flash 5、Flash MX 2004版本,可知新版本在腳本編程方面有明顯的加強,面向程序員,尤其是面向Java、C++程序員,甚至包含了支持電子商務(XML)的功能。從這些新特性可以看出未來Flash制作的趨勢:純動畫短片的制作、交互式的商業應用和既有動畫短片,又有交互內容的綜合應用。未來的網絡是屬于商業的,可以預料Macromedia的發展力向是要讓Flash及其配套的服務器端產品成為電子商務的主要開發平臺。交互式動畫不但能使用戶的主動參與性大大提高,而且能維持用戶的使用興趣。縱觀當前交互式動畫技術,一般有以下三種類型:一是參數調節型,二是選擇型,三是拖動型。
教材一般無法反映當前熱點技術,我及時增加了拖動型“交互式動畫”子項目,告訴學生用“縮放漸變技術”和“蒙版技術”制作的動畫是展示式的,無法干預播放過程,現實生活中的春聯是隨時可展可收的。要求學生制作的交互式動畫也能利用鼠標拖動右軸即可展開和關閉,從而引出“面向對象的Ac“onScript腳本編程”技術,編寫調控事件全程演變的腳本正是技術的核心。項目要求學生把腳本從橫批移植到對聯,也用鼠標拖曳控制,可以控制一幅也可以控制兩幅、三幅,變數很多,盡由學生發揮。對象的改變、程序的移植使項目給學生預留了極大的自我探究空間,要求各項目組自行選擇開發。評估辦法是完成后傳送給其他項目組初評打分,標準是創新、效果和技術難度各占三分之一,組內學生分數相同。教師始終全程和學生在一起,能者多勞,總評時自然加分。有趣的題材、精心的制作,使“Flash制作春聯”成了學生興趣小組自學的學習項目,由老同學負責教新同學,一屆又一屆。
學生歡迎的“項目教學法”帶來什么效果呢?有一句關于實踐的諺語是這樣說的:“我聽到的會忘掉,我看到的能記住,我做過的才真正明白。”這無疑是最好的回