陳杰華,張 玨,葉 勇,戴麗娟
(四川大學 計算機教學中心,四川 成都 610065)
隨著互聯網+時代的到來,Web技術被廣泛應用于對客戶端和服務器端的設計,尤其是在Web客戶端方面,主要技術包括HTML、jQuery、JavaScript、CSS、Java、PHP、JSP等。其中,作為最常用的網頁腳本語言,JavaScript已廣泛運用于Web應用開發的許多方面,如為用戶提供更流暢美觀的瀏覽效果、實現人機交互、為網頁添加動態顯示等。JavaScript具備簡單易學、觸覺感知、啟發想象等諸多優勢,使學生具有較強的學習動機,但教師如何激發學生的潛能并提高創新思維能力,從而將“學習專業知識”轉變成“培養創新思維”,則是JavaScript課程教學的重要目標。
創新思維是指用新穎獨創的方法求解問題的思維過程,以超(反)常規的視角與方式思考如何求解問題,提出全新的求解路徑,從而產生獨創的、具有社會意義的思維成果。在培養創新思維過程中,存在來自主觀和客觀兩方面的阻礙,但對大多數學生而言,培養創新思維的障礙主要來源于思維定勢、傳統教育觀念和學科觀念[1]。
思維定勢是人們通過不斷學習和實踐積累下來的經驗,并形成對客觀世界認識的規律、途徑等方面的各種觀點。思維定勢既具有積極方面的意義,又具有消極方面的意義,如在解決常規問題時就具有積極意義,使人能夠依據過往經驗和行為模式快速做出適當反應;在解決創新問題時則具有消極意義,甚至完全成為一種障礙,思維定勢很容易形成某些偏見,使人思路狹窄,難以產生創新的想法。因此,在培養創新思維時,教師應當盡量防止思維定勢(如由文化、權威、教師、從眾心理、書本等導致的)對思考過程產生的束縛,并有意識地進行反定勢思維,如在進行GUI設計時,要引導學生進行新穎的、多視角的、全面的思考,啟發學生運用多種方法實現GUI設計要求,如使用form(窗體)對象中的不同控件和事件處理過程。
觀念是內化在人們潛意識中的全部觀點和認識。人們在思維過程中,通過反復運用某些觀點和認識對問題進行思考后,使這些觀點和認識最終積淀到大腦深層意識中而形成“無意識”的反射機制。這時,原本適時的觀念就變成了過時的觀念,一般被稱為傳統觀念,尤其是“重知識、輕能力”“重分數、輕過程”“重理論、輕實踐”“重記憶、輕思考”等傳統教育觀念是培養創新思維的主要障礙,使學生墨守成規,習慣用老眼光、老辦法面對新問題。因此,教師要提倡“自由全面發展”“自學習能力”“因材施教”“教學內容的開放性和多樣化”等現代教育觀念,并要求學生盡量多思考,多用新思想、新觀念、新方法面對新的計算任務。
學科觀念也是培養創新思維的重要障礙,是學生在接受專業教育后逐漸形成的。這些觀念只能適用于原來的學科,超出特定范圍就不適用。由于觀念具有思維慣性,學生總是習慣于“無意識”地認識、評價和處理所面對的問題,而不思考求解問題本身對適用范圍的具體約束。若從原有學科進入一個新學科后還繼續使用舊學科的觀念,則這些學科觀念必然在新學科中產生排斥作用。例如,學生經常使用理性思維(如數學學科)、實驗思維(如物理學科)等方面的學科觀念求解計算任務就是一個“災難”,因為計算機具有“二進制編碼”“補碼運算”“存儲程序原理”“離散且有限的數據”等全新的運算機制和思維邏輯。
培養創新思維的前提是學生擁有精深的專業知識和廣博的相關學科知識,唯有完備的計算機知識及其合理運用,才能真正消除傳統教育觀念和學科觀念對創新思維培養的阻礙。這些知識可以由教師傳授獲得,也可以由學生自學獲得。教師在課堂教學中,不僅承擔對學生進行授業解惑的責任,還應該強化培養學生的創新思維能力,如要求學生運用多種算法求解同一個問題,啟發學生從多角度思考問題的求解方法。
一方面,在每次課堂教學期間,教師要提出幾個精心選擇的問題讓學生思考,并對學生主動提出的問題進行鼓勵與肯定,盡量不要否定學生的觀點和想法,更不能草率斷定學生觀點的對錯。對學生提出的新觀點和新想法,無論對錯,教師都應該鼓勵,以便消除學生的緊張感與壓抑感,激發學生的學習動機,并使其能夠充分發揮思維的創造性,進而有效地促進學生創新思維能力的提高。另一方面,教師不要以權威、教材等作為思考結果的評價標準,最好完全不指定“標準”答案,鼓勵學生進行多方面和多視角的思考,不盲目地迷信權威和教材。教師還要鼓勵對權威、教材、流行共識等進行質疑,從而培養學生“思考一切”的行為方式[2]。
在課堂教學過程中,教師要營造平等、和諧、民主的教學氛圍。良好的學習氛圍能激發學生的學習動機和求知欲,增強思維能力,提高教學效果。過分呆板的課堂氣氛會使學生陷入頭腦混亂、心理壓抑、思維不暢、情緒緊張等不良的學習狀態中,從而降低學習效果。為培養學生的創新思維,教師要激勵學生勇于發表意見和提出創意,從而使學生在展現自我中獲得自信,進而提高創新意識。
教師在進行課堂教學時,一定要放棄“填鴨式”的教學模式,教學設計應該使用案例驅動模式,充分介紹計算思維方法,如抽象、自動化、關注點分離、遞歸、啟發式策略等[3]。通過讓學生首先通過分析問題來激發思考,然后構造數學模型和設計算法進行創新思維訓練。要將案例教學法貫穿到課堂教學中,教師要精心設計案例(如“如何使用Active X控件實現交叉調用”“Cookie信息的綜合應用”“讀取數據文件到表單中”等),以便能夠充分體現計算思維過程。精講案例的重點要放在如何培養學生的創新思維能力方面,如對同一問題使用多種實現算法,并對不同算法進行時間復雜性和空間復雜性的評估,從中選擇最優算法。
大學教育的目標之一是為國家培養各種高素質人才,其中最重要的一類人才就是具有創新能力和國際視野的人才,而實驗教學就是培養創新型人才的重要手段。相對課堂教學,實驗教學具有可操作性、全面性、直觀性等特點,這比課堂教學培養創新思維更有效果,因此,建立科學合理的實驗教學體系才能強化培養創新思維,并盡量消除思維定勢對創新的阻礙。
JavaScript是實踐性極強的課程,若沿用“先講解知識后上機驗證程序”的傳統教學模式,只可能提高學生感性認識、知識記憶、機器驗證等方面的能力,并不能培養學生的創新思維。實驗教學應該是培養學生創新思維能力的重要手段,是JavaScript課程教學的核心[4]。
要培養學生的創新思維,教師首先要不斷學習并創作適合學生知識結構和心理特點的實驗內容。好的實驗內容,能夠為學生的創新思維留出適當的空間。在教學過程中,要強調并培養學生對于計算過程的嚴謹性,編程要強調從問題定義和分析開始,然后構造數學模型,最后進行算法優化與選擇。學生在完全解決這3方面的全部細節后,才是編寫程序并由機器實現。在程序調試過程中,教師要鼓勵學生面對程序錯誤時不要放棄,而是努力排除錯誤,這樣能夠強化學生的創新思維訓練。學生一定會因為提出新的求解思路和排除錯誤感到滿足,這樣可以使學生積極思維,大膽創新。
JavaScript實驗可以分為3類:驗證類實驗、應用類實驗和創新類實驗,其中驗證類實驗能夠使學生掌握、理解并驗證課程相關的知識,應用類和創新類實驗培養學生綜合應用所學知識設計一個較大型的題目,從而構建多層次實驗內容體系[5]。具體的實驗題目設計見表1。

表1 實驗題目設計
對于創新類實驗,要求學生秉持科學精神,勇于探索,在研究過程中強化創新思維訓練。每次實驗時,教師要明確實驗要求并提出問題,引導學生認真思考并努力尋求多種求解思路,使用正確的腳本描述來構造程序,并通過計算機得到正確結果。對難度較大的創新類實驗,可以由學生自由組合成3~5人的小組共同完成,這樣可以增強學生的團隊合作;另一方面學生在輕松、自主的學習環境中有更多機會發表個人看法,進而提高創造思維能力。
成績評定采用平時成績、實驗成績和理論考試3者結合的考核形式,充分體現培養創新思維的導向作用。考核結果要能真實全面地反映學生的創新能力,并致力于改變學生機械學習知識的習慣,強化培養學生的思維能力。其中,平時成績占課程總成績的30%,內容包括學生在課堂內是否提出問題與回答問題、小測驗中是否有新的問題求解思路、有無課前預習等,主要考核學生在主動學習和創新意識方面的情況;實驗成績占總成績的30%,主要考核學生的思考過程而不是程序調試結果,即使學生在多次思考后不能得到正確結果,也可以獲得一定分數。反之,沒有創新過程的學生不能獲得高分[6]。具體實施方法是要求學生在每次實驗結束時提交實驗報告,若實驗報告中包含“新觀點或重大改進”則給30分,有“新觀點或一定改進”則給20分,有“新觀點”則給10分,完全沒有“新觀點”則為0分,這樣能夠鼓勵學生思考。在實驗教學結束后,再將表1中的6次實驗成績進行匯總并加權平均,如驗證類實驗權重0.4、應用類實驗權重0.3和創新類實驗權重0.3。理論考試占總成績的40%,在考試內容設計上,要使試題具有題量大、知識面廣、編程題多、記憶內容少等特點。通過這種考核方式,能夠反映出創新思維能力強的學生成績較好,反之成績較差。
教學改革是一項只有起點、沒有終點的艱巨任務,需要各級管理部門、學校、教師逐步加大改革的力度。一方面,教師要提高自身科研和教學水平,在教學改革中進一步開放思想、積極進取、開拓創新;另一方面,教師要將培養創新思維更全面地滲透到教學的各個環節(如教學內容、教材建設、教學方法、實驗環節、測評體系等),激發學生熱愛學習與勇于創新。學生只有掌握創新思維的方法,才能更有效地駕馭所獲得的知識,并不斷超越和創新,從而成為建設國家的有用人才。
[1]陳小燕. 創新思維的哲學思考[D]. 北京: 中央民族大學, 2007: 33-35.
[2]唐培和, 徐奕奕, 唐新來, 等. 基于“計算思維”之創新創業教育分析與思考[J]. 國家教育行政學院學報, 2016(5): 48-53.
[3]李廉. 計算思維: 概念與挑戰[J]. 中國大學教學, 2012(1): 7-12.
[4]陳杰華, 戴麗娟. 以培養計算思維為核心的程序設計實驗教學[J]. 實驗技術與管理, 2011(1): 125-127.
[5]教育部高等學校大學計算機課程教學指導委員會. 大學計算機基礎課程教學基本要求[M]. 北京: 高等教育出版社, 2016: 68-71.
[6]梁紅. 大學生創新思維能力的測量評價與培養[J]. 哈爾濱學院學報, 2004(3): 135-137.