茅 穎
(江蘇商貿職業學院,江蘇 南通 226000)
2006年3月,在美國的計算機科學權威期刊《Communications of the ACM》上,美國卡內基梅隆大學(Carnegie Mellon University,CMU)的計算機科學系主任周以真(Jeannette Wing)教授首次系統地提出了計算思維(Computational Thinking)的概念。周以真教授提出:計算思維是采用計算機科學的基礎概念來解決問題、設計系統以及理解人類行為等的一系列思維方式。正如每一個人都有閱讀、寫作和計數(Reading、Writing、 Arithmetic,3R)的能力一樣,計算思維是人類必須具備的思維能力。在此基礎上,南安普頓大學(University of Southampton)的Cynthia Selby博士和John Woollard博士提出計算思維的五個核心概念分別為:算法思維、評估、分解、抽象和歸納。
2010 年在西安交通大學舉辦的首屆“九校聯盟計算機基礎課程研討會(C9)”的會后聲明中提出:高校計算機基礎教育階段的首要任務是培養大學生的計算思維能力,而計算機程序設計中包含了大量解決問題的算法及思維模式。2012年,首屆“計算思維與大學計算機課程教學改革”研討會在西安成功召開,陳國良院士正式提出計算機基礎教學改革應以培養學生計算思維能力為切入點。計算思維已引起全世界計算機科學家和教育工作者的積極關注,為培養新時代的創新人才,教育必須擺脫傳統教學在思想和方法上的束縛,激發學生以新的方式來思考。
Java程序設計課程要求學生了解Java語言特征、常見的Java類庫以及面向對象程序設計思想;掌握計算機程序的結構;掌握程序的開發過程;掌握常用數據結構以及Java編程語言的語法;學會利用Java語言編寫面向網絡應用的簡單程序等內容。本校的Java程序設計課程目前總學分為4學分,一學期只有64個課時,從培養完善的計算機人才的角度出發,教師希望學生能夠在課堂中學到更多的知識,掌握更多的技能,因此64個課時遠遠不夠,教師如何有效的分配課時,既能幫助學生完成更多知識點的學習,又能為學生留出足夠的時間進行知識的內化,并提高學生的實踐編程能力,是教師在教學實施中的一大難題。
Java程序設計課程是計算機類專業的專業基礎課程,本校計算機類專業文理兼收,文科生對程序設計類課程的接受能力相對較差,同時由于各地區教育發展的不平衡,有些學生在初高中就已經接觸過程序設計的相關知識,而有些學生僅僅接受過計算機基礎操作的相關教育。學生計算機編程基礎參差不齊,有部分學生在課堂學習中很難跟上教學進度,使得這些學生心態上產生消極畏難的心理,出現了較為嚴重的兩極分化現象,這就需要教師在教學過程中能夠設計有效的教學策略,因材施教,提高學生對程序設計的興趣與信心,從而培養學生的計算思維能力。
Java程序設計課程內容多課時少,教師為了按時完成教學任務,不得不增加理論講授的時間,壓縮實踐課時,在教學過程中較多的使用講解教學法與講演教學法,學生在學習的過程中缺少實踐操作的時間,程序設計與編碼的能力難以得到提高。同時,在Java程序設計課程的教學過程中,教師很容易陷入語言表達形式的誤區,尤其是在大多數考試內容中偏重對語法的考核而不是對編程能力的考核。部分教師在教學過程中存在重編碼,輕算法的現象,導致學生在學習過程中將基本語法視為重點,以程序正常運行不報錯為目的,不重視總結問題求解的過程,忽略了思維方式的鍛煉。
Java程序設計課程中知識點的聯結程度比較差,缺乏整體性與關聯性,學生在學習過程中缺乏連貫性,使得學生程序設計思路無法得到有效的拓展。教學案例的設計及講解缺乏整體性和連貫性,使得學生無法把自己掌握的知識進行整合內化,同時在程序設計與編碼的過程中更是無法通過自身能力解決不斷出現的各種主觀或客觀問題。因此,在教學設計的過程中需要提高知識點的聯結程度。
算法在人們的日常學習或生活中總會被使用,是對解題方案的準確而完整的描述,是一系列解決問題的清晰指令,代表著用系統的方法描述解決問題的策略機制。教學過程以算法為主線,在算法的講解過程中增加Java知識點,從而培養學生的算法思維能力,增強學生利用算法綜合分析問題、解決問題的能力。
例如,在教學設計中利用解決排序問題中的二分查找算法,同時結合遞歸算法來講解選擇結構與循環結構。二分查找算法的遞歸實現主要利用的是選擇結構語句,二分查找算法的非遞歸實現則是利用選擇結構與循環結構相結合而實現的。還可以利用排序問題中的冒泡排序算法來講解數組的聲明、定義與遍歷等內容。
這種利用算法為主線的教學方式,將Java程序設計課程中的基本知識點與算法相結合,在有效幫助學生掌握Java基本知識的同時,既能有效培養高職學生的算法思維能力,又能提高高職學生利用算法思維分析問題解決問題的能力。
通過構建Java程序設計課程的網絡學習平臺,使學生可以充分利用課后的閑暇時間進行自主學習,從而彌補學生課上學習跟不上的問題,并能夠有效協調教育資源的不均衡。Java程序設計課程的網絡學習平臺中包含微課、視頻、PPT、實訓指導書等大量學習資源,學生在課堂學習中遇到的問題與困難可以通過這些學習資料來解決,能夠加強學生記憶,加深學生對知識點的理解。同時學生可以利用網絡平臺中的實訓指導書在課后進行程序編碼的實踐練習,遇到問題可以在線與教師實時提問解答,使學生通過課后的編程實踐能夠確實感受和領悟計算機問題求解的基本方法與思維模式。網絡學習平臺的構建與使用,改變了學生以課堂學習為主的學習模式,激發了學生對Java程序設計課程的學習興趣,培養了計算機類高職學生的自主學習能力。
計算思維能力的提高是一個長期培養的過程,Java程序設計課程不僅僅是要讓學生掌握程序設計語言的基本語法知識,還要通過編程能力的培養使學生學會利用計算機解決問題的方法,培養學生的計算思維能力,從而為社會培養出更多高素質的計算機類技術技能型人才。