郭興凱 金英 馬吉權
摘要:加強計算思維的培養是高校計算機專業課程教學中的主要目標。本文通過分析程序設計基礎課程教學實踐中存在的問題,提出將計算思維融入到程序設計基礎課程教學中,以提高學生的專業學習興趣和后續的專業學習能力。
關鍵詞:計算思維;程序設計;基礎教學實踐
一、 引言
計算思維,是指科學家和工程人員在計算機、軟件及計算相關工作中展現出的思維模式。美國卡內基梅隆大學教授周以真提出過關于“計算思維(Cpmputational Thinking)”的概念,即“計算思維是運用計算科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動”,“其本質是抽象和自動化,即在不同層面進行抽象,以及將這些抽象機器化”。計算思維就是運用計算手段研究社會或自然現象及其規律的一種思維方式。
目前,計算機類課程教學普遍存在重視實踐輕視設計的情況,更多地顯示出思維和設計脫節的特點。理論思維主導的學生培養模式導致學生常用假設—推理的方法研究各類計算問題,常常不能系統地分析、觀測數據,無法給出完善的驗證實驗方案。實驗思維主導的學生培養模式導致學生往往只注重具體的實驗結果,而忽略系統的整體架構和運行效率的優化。學生在學習程序設計課程中,只注重語句的編寫和語句細節本身,而忽視算法中蘊含的思想。使得在程序設計中,不僅不能達到舉一反三,甚至都不能達到舉一反一的能力,長此以往無疑會影響學生的學習興趣和專業學習能力。計算思維側重于利用計算手段來協同理論和實踐雙方,從而達到提高學生分析和解決計算問題能力的目的。因此,本文是在培養復合型人才的背景下,研究在教學過程中如何能夠培養提升學生的計算思維能力,如何能提高學生的學習興趣和后續的專業學習能力。
二、計算思維在教學中的實踐
(一)改革教學內容,提高學生的學習興趣
計算機科學與技術及相關專業都有相關的專業基礎課程,它們能夠幫助學生迅速了解本專業的特點,提高專業學習的興趣和能力。面對缺乏計算機專業知識的新生,在講授程序設計基本知識和程序設計語言的入門知識時,要避免過多地強調語法細節。教師應該更多地結合具體實例,嘗試著在課程內容中融入計算思維的思想,以此來提高學生對計算機專業知識的了解和興趣。例如,在講授選擇結構程序設計中的經典案例三個數進行排序時,過去只關注代碼的編寫,從效果來看,少部分學生能夠理解,但是大多數學生還是沒有明白排序的基本原理,對理解利用數組對n個數進行排序的思想幫助不大。從計算思維的角度來看,排序的實質就是將每個數放在應該在的位置。在講解該案例時利用流程圖將算法的思想融入到課程內容中,說明三個數的排序經過兩趟比較,是通過每趟兩兩交換的思想實現的排序。并且強調這就是冒泡排序的思想,從而導出n個數需要n-1趟比較,為以后數組排序的講解做了很好的鋪墊。
理論教學應在把握“以學生為主導、以教師為輔助”的思想下,重點講解程序的流程和程序設計的關系,采取啟發式、探索式等教學模式,激發學生獨立思考的能力,加強對學生進行計算思維、算法是程序設計的靈魂、流程圖是程序設計的基礎等方面的教育,從此來提高學生的計算思維能力和程序設計能力。
(二)加強實驗教學,提高學生的分析設計能力
程序設計基礎作為一門專業基礎課,具有較強的實踐性。所以加強和改革實驗教學方法和模式,是培養具有分析問題、解決問題能力和創新實踐能力人才的重要手段。依據課程教學進度,通過分階段、分層次布置不同的實驗內容,來提高學生對理論知識的理解。針對不同的教學內容設計具有代表性的實驗題目,幫助學生掌握基本語法知識及程序設計的基本方法,然后分階段、分層次設計綜合性的實驗題目,使學生能綜合利用所學到的知識,運用計算思維,編寫出較復雜的設計類程序,提高分析和解決問題的能力。同時要求學生完成每一個綜合實驗時,都要遵循軟件工程的思想來完成系統分析、系統設計、編碼、調試、測試和撰寫文檔等各個階段的內容,并形成實驗報告。這樣在實驗中,一方面能夠提高學生的程序設計能力,另一方面能提高其系統分析和系統設計的能力。
(三)豐富考核內容,增強學生的專業學習能力
剛進入大學校門的新生還停留在中學階段的學習慣性中,不能盡快融入專業學習領域。首先體現在其在看書學習中很難抓住重點,其次在考試中還是習慣于關注考試的題型,而忽視考試的內容。以往的以試卷為主側重于考查基本語法的考核方式,對專業學習能力的提高幫助不大。因此,必須要改變傳統的考核方式,提升階段性實驗考核成績在期末總成績中的比重,通過在一定時間內,以實際上機編程解決問題的內容和難度來考核學生的學習效果,并根據事先設定的難度系數折合成相應的分數加到期末總分中。同時也對期末的試卷內容進行全面改革,取消側重語法細節的選擇和填空題型,代之以側重能力考核的程序分析和程序改錯加程序設計等題型。這種考核方式在提高學生對理論學習的專注度的同時,也培養了學生的學習興趣和實際動手能力。實踐證明,改革考核方式和內容提高了學生實際程序設計能力,激發了學生專業學習的興趣。
三、 總結
程序設計基礎是計算機科學與技術專業學生進入大學校門學習首先要面對的專業基礎課。這門課程不僅要教授學生程序設計語言的基本知識,更重要的是傳授學生計算思維的基本思想,培養學生實際編程以及分析和解決問題的能力,提高對計算機科學與技術專業知識的了解,為后續其他專業課程的學習打下一個堅實的基礎。本文在程序設計基礎課教學實踐中,通過對教學內容、實驗、考核等各個方面的改進與創新,更好地實現了教學目標,提高了學生學習的興趣和思維能力。
參考文獻:
[1] 戰德臣,聶蘭順. 大學計算機-計算思維導論[M].北京:電子工業出版社,2013.
[2] 楊俊生,張潤.基于計算思維的“C程序設計”案例設計初探[J].工業與信息化教育,2013(6):65-69.
編輯∕呂秀研