
文章編號:1672-5913(2015)07-0001-03
中圖分類號:G642
摘要:介紹在大學計算機程序設計基礎課程中引入項目化教學模式的方法,將常用的計算思維方法貫穿于整個學習過程中,為計算思維能力的培養奠定基礎。關鍵詞:程序設計;計算思維;項目化教學模式
1 背景
程序設計基礎課程作為大學非計算機專業學生的基礎課,對培養學生運用計算機解決生活中各類問題的能力具有極其重要的意義。然而,目前大部分高校在程序設計基礎教學中多以知識點層級為體系,學生對知識的應用缺乏整體感,不利于拓展思路并進行思維能力訓練。在大學計算機程序設計基礎教學中如何培養學生計算思維(computational thinking)能力已成為當前計算機教育重點研究的一項重要課題。
2006年,美國卡內基·梅隆大學的周以真(Jeannette M Wing)教授給出了計算思維的定義。2010年11月,陳國良院士第一次正式提出了將“計算思維能力培養”作為計算機基礎課程教學改革切入點的倡議。2010年7月,全國9所“985工程”建設高等學校發表了聯合聲明,聲明的核心是必須正確認識大學計算機基礎教學的重要地位,把培養學生的“計算思維”能力作為計算機基礎教學的核心任務。2012年7月,教育部高等學校計算機基礎課程教學指導委員會與文科計算機基礎教學指導委員會在《關于申報大學計算機課程改革項目的通知》中指出,大學計算機的教學總體目標是“普及計算機文化,培養專業應用能力,訓練計算思維能力”。課程明確把計算思維和計算工具并列起來,“訓練計算思維能力”被看成是大學計算機教學目標要求的第3個層次;強調“以培養計算思維能力為主線”進行教學改革,解決計算思維714d3664f5d4d7ff93f1714c827b8192從學術研究“落地”到教學過程中出現的一系列關鍵問題。
af4a7531b54a662d44db3a623e7d18d9由此可見,在高校計算機教學中培養學生的計算思維能力仍然處在一個摸索階段。筆者嘗試將項目化教學模式引入程序設計基礎課程教學過程,師生共同完成一個完整的項目,學生不但能夠學到課程的主要知識,也完成了一個真實的項目設計,極大地激發學習興趣,在學到知識的同時掌握用計算機分析問題、解決問題的實踐能力,從而訓練思維技巧,為計算思維能力的培養奠定堅實的基礎。
2 程序設計基礎課程教學現狀
在傳統的程序設計基礎課程教學模式中,教師按照教材把程序設計語言的代碼基礎、程序基本結構、數組、過程、常用控件、文件讀寫、數據庫等需要掌握的知識點按部就班地灌輸給學生,然后帶領學生上機鞏固所學的知識點。這種模式貌似很符合人的認知規律,但是在實際的教學過程中收到的效果很不理想:學生在學的過程中叫苦不迭,甚至一些學生在付出了大量時間和精力之后依然不得要領。通過與學生及老師的交流,我們認為傳統的教學模式主要存在以下缺陷。
(1)知識點聯系不夠緊密,對知識應用缺乏整體感,不利于學生拓展思路。教材中的例子往往是為了說明某個知識點,而例子與例子之間沒有聯系,如果教師只是照本宣科,布置給學生的實驗也是一個個孤立的程序段,那么可以想象學生很難將所學到的知識點串聯起來并解決實際問題。
(2)教學過程沒有激發學生學習興趣,被動學習有礙計算思維能力培養。計算機程序設計課程要求學生具有一定的數學功底和較強的邏輯思維能力,而我們授課的對象是非計算機專業學生,他們中的大多數欠缺的恰恰就是這些;傳統的教學過程中卻不可避免地出現了很多數學問題求解,使得學生理解起來困難重重,這對于編程信心不足的學生來說無異于雪上加霜。
(3)缺乏實際應用體驗,學生無法充分認識和體會計算思維方式的優勢。程序設計的學習如果只是停留在知識點掌握以及例題練習的層面上,沒有與實際應用相結合,學習者無法感受到所學知識在實際工作中的作用和地位,將會抑制學生的積極性,影響學習效果。
3 培養計算思維能力的教學新模式
3.1 計算思維能力培養
計算思維是一種思維方式,也是一種解決問題的思考過程。從現實角度來說,計算思維就是問題抽象、模型建立、算法設計和實現以及問題引申的過程,也就是將未知問題歸納成若干已知問題從而求解的過程。現如今計算思維已不僅僅運用在計算機學科上,也廣泛應用在其他自然學科甚至是人文學科中,它不是一個單獨的、與其他思維方法毫無關聯的孤立方法。計算思維產生于計算機科學,而與計算機科學聯系最緊密的思維方法是數學思維、邏輯思維和工程思維,我們可以將計算思維看做是計算機科學與數學思維、邏輯思維和工程思維的交集,而它們也代表了計算思維的不同層次要求。計算思維有以下幾個主要特征。
(1)計算思維采用抽象和分解來執行龐雜的任務或者設計巨大復雜的系統。
(2)計算思維利用啟發式推理來尋求解答,在不確定的情況下規劃、學習和調度。
(3)計算思維是數學思維和工程思維的互補和融合。
(4)計算思維是概念化,不是程序化,不只是為計算機編程,還要求在抽象的多個層次上思維。
過去我們常說,學生學習數學課程、物理課程并不是要他們成為數學家或者物理學家,而是通過這些課程的訓練養成科學思維的素質和能力,現在這種認識也同樣適用于計算機課程。對大多數非計算機專業的學生而言,學習程序設計的目的不是成為程序員,而是學習計算機分析和解決問題的過程和思路,也就是培養計算思維能力。計算思維能力在海量信息處理分析、復雜裝置與系統設計、大型工程組織、自然現象與人類社會行為模擬等方面具有重要的意義和作用。
3.2 項目化教學模式
項目化教學模式是師生通過共同實施一個完整的項目工作而進行的教學活動,它是“行為導向”教學法的一種。項目是計劃好的,有固定的開始時間和結束時間的工作,原則上項目結束后應有一件較完整的作品。為改進傳統教學模式中存在的問題,進一步培養學生的計算思維能力,我們試圖在程序設計基礎課程教學中采用項目化教學模式。項目化教學模式的特點如下。
(1)實踐性:項目的主題與真實世界密切聯系,學生的學習更加具有針對性和實用性。
(2)自主性:提供學生根據自己的興趣選擇內容和展示形式的機會,學生能夠自主、自由地學習,從而有效地促進創造能力的發展。
(3)發展性:長期項目與階段項目相結合,構成實現教育目標的認知過程。
(4)綜合性:具有學科交叉性,能夠綜合運用。
(5)開放性:學生圍繞主題所展開的方式、方法和展示、評價具有多樣性和選擇性。
項目化教學模式能夠很好地將程序設計課程的教、學、做有機結合起來,從而成為培養學生計算思維能力的有效途徑。著名物理學家勞厄曾說過:“重要的不是獲得知識,而是發展思維能力。”因此,思維需要接受訓練。教師在項目化教學模式中以合理的項目為依托進行教學,學生不但能夠學到課程的主要知識,同時也完成了一個真實的項目設計,可以極大地激發學生的學習興趣,在學到知識的同時掌握用計算機分析問題、解決問題的實踐能力,從而訓練自己的思維技巧,為學生創新性能力的培養奠定堅實的基礎。
3.3 基于計算思維能力培養的項目化教學模式的組織與實施
在基于計算思維能力培養的項目化教學模式中,教師與學生圍繞項目這根主線進行教學和學習,而與程序設計語言相關的基礎知識則可通過在線學習的方式引導學生自主完成。教學者在設計項目、呈現項目、指導項目實施、檢查評估的過程中運用計算思維方法展開教學;學習者在明確項目任務、制定項目計劃、實施計劃、歸檔或應用的過程中運用計算思維的方法進行學習;學習者利用高效率的計算思維去弄清項目任務、明確目標,通過實施項目探索新知識,掌握計算思維的方法和技巧。我們將這種基于計算思維能力培養的項目化教學模式歸納為圖1的過程。
在程序設計基礎課程中實施項目化教學模式所應用的計算思維方法可概況為“觀察一聯想一變換一啟發”。“觀察”方法是人類認識客觀事物的基本途徑,通過“觀察”樹立正確的整體與部分思想,將一個具體的項目抽象為一系列明確的子任務,從而使學生體會抽象、分解、學習等計算思維特征。“聯想”是由某種對象引出其他相關對象的思維形式,通過聯想,運用構造性思維、逆向思維等方法建立起多個能夠簡潔表達子任務本質的模型,并規劃子任務實施計劃;同時訓練學生理解規約、并行、規劃等計算思維特征。“變換”是算法設計與實現的基本手段,可以運用目標轉化思想、分類與分治思想等,有目的地對問題實施“變換”,把原問題轉化為一個或幾個易于解決的新問題,這是項目實施的關鍵,也是促使學生領悟轉化、仿真、遞歸、調度、折中、優化等計算思維特征的關鍵階段。“啟發”是通過對已有的資料和信息進行分析、綜合、概括和比較,進而做出判斷、推理、論證來指導決策的思維形式。在項目實施的最后階段,通過教師對項目執行情況的檢查評估,學生將整個項目執行過程所產生的程序和文檔進行歸檔整理,可以有效地“啟發”學生將問題引申,同時使學生對于容錯、糾錯、系統恢復等計算思維特征有更為深入的認識。
綜上所述,將項目化教學模式引入程序設計基礎課程教學中,把傳統的程序語法教學轉變為從問題抽象到模型建立再到算法設計與實現,最后總結引申的思維訓練過程,能夠有效培養學生“觀察一聯想一變換一啟發”的計算思維能力。
4 結語
培養復合型創新人才的一項重要內容就是潛移默化地使他們養成新的思維方式,即運用計算機科學的基礎概念對問題進行求解、系統設計和行為理解,建立計算思維。采用項目化教學模式,在教學過程中始終貫徹“問題引導、項目驅動、講練結合”的原則,使學生的學習過程始終圍繞完成一個完整的、實際的、具體的、有形的項目,這樣就把知識的學習和應用有機結合在一起,極大地激發學生的學習興趣,使他們既學到了知識,又提高了用計算機分析問題、解決問題的能力,從而達到“建立利用計算機求解問題的基本思路”這一計算思維能力的基本要求。