黃圣君
摘 要 當前,計算思維課程已經(jīng)成為本科通識教育的重要內(nèi)容,對培養(yǎng)適應(yīng)信息時代的創(chuàng)新型人才具有重要作用。本文以作者講授的計算思維課程教學(xué)現(xiàn)狀為例,分析計算思維教學(xué)中存在的問題,并從四個方面提出改進思路:設(shè)置課程群替代單獨課程;針對不同層次學(xué)生安排分層教學(xué);更加注重思維方式的培養(yǎng);多種形式提高學(xué)生的學(xué)習(xí)興趣。
關(guān)鍵詞 計算思維 本科教學(xué) 通識教育
中圖分類號:G424?文獻標識碼:A DOI:10.16400/j.cnki.kjdkz.2016.01.044
Thoughts on the Teaching of Computational
Thinking for Undergraduate Students
HUANG Shengjun
Abstract Computational Thinking is an important part of the general education for undergraduate students, and plays an important role in training creative talents in the information age. In this paper, the author summaries the problems occurred during his teaching of Computational Thinking, and presents some thoughts on improving the teaching, which include: replacing the single course with a set of courses; performing specific education for different students; focusing more on the way of thinking; and attracting students with various approaches.
Key words computational thinking; undergraduate teaching; general education
0 引言
大學(xué)計算機課程是大學(xué)通識教育的重要組成部分,其核心價值在于培養(yǎng)學(xué)生的計算思維,促進學(xué)生創(chuàng)造性思維的形成。2006 年,美國卡內(nèi)基·梅隆大學(xué)(CMU)計算機科學(xué)系主任周以真教授首次明確提出了計算思維(Computational Thinking,CT)的概念,①為計算機教育的改革指明了方向。2010 年7 月,在首屆“九校聯(lián)盟(C9)計算機基礎(chǔ)課程研討會”上,“985”首批9所高校就大學(xué)如何在新形勢下提高計算機基礎(chǔ)教學(xué)的質(zhì)量、增強大學(xué)生計算思維能力的培養(yǎng)形成4 點共識,提出要旗幟鮮明地把“計算思維能力的培養(yǎng)”作為計算機基礎(chǔ)教學(xué)的核心任務(wù)。②
國內(nèi)高校計算機公共課程的內(nèi)容和教學(xué)方式存在相當?shù)钠?,在很長一段時間內(nèi),大部分課程主要局限于講授計算機的基本概念以及常用/流行軟件產(chǎn)品的使用。這些課程僅限于軟件操作訓(xùn)練式的“大學(xué)計算機基礎(chǔ)”及程序設(shè)計類課程,而缺乏對計算思維的培養(yǎng)。近年來,計算思維課程逐漸得到重視,已經(jīng)在全國多所高校成為通識教育的重要內(nèi)容。與之前的軟件操作訓(xùn)練式課程不同,計算思維課程重點讓學(xué)生感性地認識計算機的工作方式,培養(yǎng)用計算手段解決問題的思維方式。③
筆者所在課程組負責(zé)全校各院系大一新生的計算思維課程教學(xué)。課程組采用集中備課方式,對講授內(nèi)容與授課方式進行了細致的討論和研究。通過一學(xué)期的教學(xué)過程,筆者對該課程中存在的一些問題進行了總結(jié),并給出一些自己的思考和可能的改進方向。
1 目前存在的主要問題
計算思維課程首次面向全校范圍內(nèi)大一新生講授,在教學(xué)過程中,筆者總結(jié)出以下一些問題:
(1)教學(xué)內(nèi)容的問題。目前計算思維課程的教學(xué)內(nèi)容非常豐富,涉及到計算機專業(yè)的各個方向,比如體系結(jié)構(gòu)、算法、數(shù)據(jù)庫、人工智能、網(wǎng)絡(luò)通信等等。而課程的總學(xué)時數(shù)僅有24學(xué)時。雖然各部分內(nèi)容僅作介紹性講解,但時間分配上還是顯得非常緊迫。對于部分內(nèi)容,需要有一些前序知識作為基礎(chǔ)才便于學(xué)生理解,如果先介紹這些前序知識再講解則需要更多的課時分配。
(2)學(xué)生基礎(chǔ)的問題。學(xué)生在計算機方面的基礎(chǔ)差異巨大。一部分學(xué)生在中學(xué)時代已經(jīng)參加過一些計算機方面的競賽,甚至能熟練地掌握多門編程語言。與此相反的,一部分學(xué)生則沒有任何計算機基礎(chǔ),有的學(xué)生甚至沒有接觸過計算機。在講授計算思維課程時,如果照顧零基礎(chǔ)的學(xué)生,講得過于簡單則會導(dǎo)致部分有基礎(chǔ)的學(xué)生喪失興趣,相反則會讓無基礎(chǔ)的學(xué)生跟不上。這樣的矛盾非常顯著而且難以克服。
(3)學(xué)習(xí)方式的問題。由于課程面向大一新生,大部分學(xué)生仍然習(xí)慣于中學(xué)傳統(tǒng)應(yīng)試教育模式。實際上計算思維的培養(yǎng)是一個長期、循序漸進、潛移默化的過程,因此該課程的教學(xué)更強調(diào)宏觀的、思維的、感性的認識。而大一學(xué)生很容易陷入細節(jié)中,專注于求解某一道題,而忽略了從整體上體會利用計算工具求解問題的思維方式。這樣的學(xué)習(xí)方式轉(zhuǎn)變在計算思維課程上顯得非常突出,但是對于剛從高中畢業(yè)的學(xué)生來說非常困難。
(4)學(xué)習(xí)動機的問題。計算思維作為一門基礎(chǔ)課程,不直接和專業(yè)相關(guān),會導(dǎo)致部分學(xué)生興趣不大。另外一方面,計算思維課程屬于新開課程,其重要性并沒有得到學(xué)生的正確認識。與專業(yè)必修課相比,學(xué)生認為計算思維只是一門其它學(xué)院開的課程,從心理上默認為不重要的一類課程。而與英語、數(shù)學(xué)等基礎(chǔ)課程相比,學(xué)生會將中學(xué)時代的認識遷移過來,認為高考涉及到的課程顯然更重要。因此計算思維課程雖然在學(xué)校和社會層面得到了重視,但是在學(xué)生層面仍然處于一個尷尬的地位,使得學(xué)生缺乏強烈的學(xué)習(xí)動機。
2 思考與改進
基于以上提及的問題,結(jié)合筆者教學(xué)過程的思考,主要提出以下幾點改進設(shè)想:
(1)設(shè)置課程群替代單獨課程。高速發(fā)展的經(jīng)濟社會要求非計算機專業(yè)學(xué)生未來應(yīng)具備的計算能力是掌握支持各學(xué)科研究創(chuàng)新的新型計算手段并應(yīng)用計算手段進行各學(xué)科的研究與創(chuàng)新。④不同學(xué)科專業(yè)的學(xué)生對計算思維的理解與掌握方式也不盡相同。如果將目前計算思維單獨課程分解為多個課程組成的課程群,每個課程偏向于不同的方向,則有利于面向不同專業(yè)的學(xué)生提供更切合實際情況的課程教學(xué)。一方面,學(xué)生能選擇與自己專業(yè)最相關(guān)的課程,提高學(xué)習(xí)動機與興趣;另一方面,課程群中每一門課程的教學(xué)內(nèi)容相對集中,有利于在有限的學(xué)時內(nèi)更加深入地講解相關(guān)內(nèi)容。實際上,像英語基礎(chǔ)教學(xué)課程就設(shè)置了口語、聽力、寫作等多種課程。計算思維的課程群則可以結(jié)合計算機二級學(xué)科方向和學(xué)校其它專業(yè)配置來進行設(shè)置。
(2)實施可操作化的分層教學(xué)。實施分層教學(xué)有利于緩解學(xué)生之間基礎(chǔ)差異巨大的矛盾。⑤實際上這樣的教學(xué)方式在其它基礎(chǔ)課程教學(xué)中已經(jīng)被廣泛采用。例如有些高校的英語課程會根據(jù)入學(xué)考試對學(xué)生進行分級篩選,按照不同的基礎(chǔ)水平將學(xué)生分到不同的層級進行學(xué)習(xí)。而大學(xué)數(shù)學(xué)課程則往往根據(jù)不同專業(yè)學(xué)生的要求和基礎(chǔ)進行不同難度內(nèi)容的教學(xué)。類似地,計算思維課程也可以分為兩至三個層級,讓不同基礎(chǔ)水平的學(xué)生具有更多的選擇。此外,即使是同一門課程里,也可以根據(jù)學(xué)生的不同基礎(chǔ)設(shè)置不同的考試要求,以及在課后練習(xí)等方面體現(xiàn)出差異。分層次教學(xué)有利于讓所有學(xué)生都能學(xué)有所獲,同時也緩解教師在授課內(nèi)容準備上的矛盾。
(3)引導(dǎo)學(xué)生掌握思維性學(xué)習(xí)方式。引導(dǎo)學(xué)生從中學(xué)時代的應(yīng)試教育學(xué)習(xí)方式轉(zhuǎn)換為面向思維培養(yǎng)的學(xué)習(xí)方式。這種學(xué)習(xí)方式的轉(zhuǎn)變不僅對計算思維課程的學(xué)習(xí)至關(guān)重要,同時也能促進學(xué)生在大學(xué)期間其它課程學(xué)習(xí)中的主動性。⑥具體而言,在課堂教學(xué)上,盡量關(guān)注內(nèi)在思想的揭示與貫通,而不過分強調(diào)細節(jié)步驟。在課后作業(yè)及考試考核上,盡量關(guān)注對學(xué)生整體思想及思考方式的評價,而不強調(diào)對于細節(jié)操作和具體求解的考核。另外,應(yīng)當充分給予學(xué)生獨立思考和發(fā)表自己看法的時間和機會。這樣學(xué)生會慢慢接受用思考的方式去理解和掌握計算思維。
(4)多種方式提高學(xué)生的學(xué)習(xí)興趣和動機。提高學(xué)生的學(xué)習(xí)興趣和動機能從根本上激發(fā)學(xué)生的主動性,有利于教學(xué)效果的提升。具體而言,可以從以下方式入手。首先,應(yīng)當強調(diào)計算思維的重要性,展示計算思維廣泛運用前景以提高學(xué)生學(xué)習(xí)主動性。比如在講授遺傳算法時,通過展示遺傳算法在日本高鐵車頭設(shè)計中的實際效果,能夠讓學(xué)生直觀地了解該算法的效用。其次,可借助計算機歷史故事的介紹以增加課程趣味性。實際上,許多歷史故事中蘊含著豐富的計算思維,在增加趣味的同時也有利于學(xué)生自然地接受和掌握計算思維。此外,可以強化實驗操作并及時反饋以增強學(xué)生的動手能力。在筆者的教學(xué)過程中,通過鼓勵學(xué)生利用實驗平臺制作一些自己感興趣的簡單小游戲,極大地提高了學(xué)生的學(xué)習(xí)熱情。另外,可以針對不同的專業(yè)進行學(xué)科融合,引入跨學(xué)科元素案例。例如,結(jié)合化學(xué)領(lǐng)域的Gaussian軟件來講解計算思維如何體現(xiàn)在計算工具上,能讓相關(guān)專業(yè)的學(xué)生更直接地感受到計算思維的重要性和實用性。
3 結(jié)束語
本文針對本科生計算思維課程,結(jié)合筆者的教學(xué)實踐,對教學(xué)過程進行了總結(jié)和思考。針對教學(xué)內(nèi)容繁多而學(xué)時有限、學(xué)生基礎(chǔ)差異顯著、學(xué)習(xí)方式轉(zhuǎn)變困難、學(xué)習(xí)動機缺乏等問題進行了思考,并提出開設(shè)課程群、實施分層教學(xué)、引導(dǎo)學(xué)生改變學(xué)習(xí)方式以及提高學(xué)習(xí)興趣等若干可能的改進方案。在未來的教學(xué)中,筆者將結(jié)合實際適當引入這些方案,以便進一步提高計算思維課程的教學(xué)效果。
注釋
① Wing, J. M.Computational thinking. Communications of the ACM,2006.49(3):33.
② 九校聯(lián)盟(C9)計算機基礎(chǔ)教學(xué)發(fā)展戰(zhàn)略聯(lián)合聲明[J].中國大學(xué)教學(xué),2010.
③ 陳國良,董榮勝.計算思維與大學(xué)計算機基礎(chǔ)教育[J].中國大學(xué)教學(xué),2011.
④ 許麗娟,黃冬梅,王愛繼.以計算思維為導(dǎo)向的非計算機專業(yè)程序設(shè)計課程創(chuàng)新教學(xué)[J].計算機教育,2015.
⑤ 李昕.分層教學(xué)在計算機基礎(chǔ)課程中的應(yīng)用研究[J].遼寧工業(yè)大學(xué)學(xué)報,2013.
⑥ 婁鳳偉.創(chuàng)造性思維與計算機基礎(chǔ)教學(xué)[J].教育探索,2002.