張靜 鄔恩杰
摘要:采用灌輸式的以高級程序設(shè)計語言自身體系為脈絡(luò)開展的《程序設(shè)計基礎(chǔ)》課程教學模式,不利于培養(yǎng)學生的計算思維及創(chuàng)新能力。從培養(yǎng)計算思維的角度選編案例,以“程序設(shè)計”為中心,運用基于案例驅(qū)動的教學模式,可有效訓練學生計算思維,培養(yǎng)學生分析問題和解決問題的能力。
關(guān)鍵詞:案例驅(qū)動;計算思維;程序設(shè)計基礎(chǔ);課程教學
DOIDOI:10.11907/rjdk.151763
中圖分類號:G433
文獻標識碼:A 文章編號
文章編號:16727800(2015)008021002
1 《程序設(shè)計基礎(chǔ)》課程教學現(xiàn)狀
《程序設(shè)計基礎(chǔ)》是大學計算機基礎(chǔ)教學的重要課程之一。學習計算機的工作原理,更好地掌握利用計算機處理問題的方法,培養(yǎng)分析和解決問題的思維和能力,即培養(yǎng)計算思維,是大部分非計算機專業(yè)學生學習程序設(shè)計語言的主要目標。目前,在《程序設(shè)計基礎(chǔ)》課程教學效果不甚理想,一方面,課程教學內(nèi)容基本上以高級語言自身體系(如C、VB、JAVA等)為脈絡(luò)展開,沒有以“程序設(shè)計”為中心,沒有把解決問題的思想方法(即算法)與計算機程序(即實現(xiàn)算法)緊密結(jié)合起來;另一方面,課堂教學基本采用“理論講授+例題剖析+上機實驗+課后習題”的教學方法,這種灌輸式教學方法脫離實際應(yīng)用,不利于激發(fā)學生的學習興趣和積極性,缺乏自主探索和創(chuàng)新意識,思維得不到訓練,不利于培養(yǎng)學生的應(yīng)用能力和創(chuàng)新能力。
2 計算思維
計算思維(Computational Thinking)由美國卡內(nèi)基·梅隆大學計算機科學系周以真教授[1]于2006年作為一種基本技能和普適思維方法提出,即“計算思維是運用計算機科學的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動”。計算性思維實際上是一個思維過程,它將一個問題清晰、抽象地描述出來,并將問題的解決方案表示為一個信息處理流程。計算思維包含了數(shù)學性思維和工程性思維,而其最重要的思維模式就是抽象話語模式。它引導計算機教育工作者、研究者和實踐者推動社會變革,這不僅僅限于計算機領(lǐng)域,當前各個行業(yè)領(lǐng)域中涉及的大數(shù)據(jù)問題,都依賴于計算算法,來挖掘有效內(nèi)容,這意味著計算機科學將從前沿變得更加基礎(chǔ)和普及。計算思維無處不在,當計算思維真正融入人類活動中時,它作為一個解決問題的有效工具,人人都應(yīng)掌握,處處都會被使用[2]。
計算思維的重要作用引起了中外學者的關(guān)注。2010年,《九校聯(lián)盟計算機基礎(chǔ)教學發(fā)展戰(zhàn)略聯(lián)盟聯(lián)合聲明》指出,計算機基礎(chǔ)是培養(yǎng)大學生綜合素質(zhì)和創(chuàng)新能力不可或缺的重要環(huán)節(jié),是培養(yǎng)復合型人才的重要組成部分。該聲明旗幟鮮明地把“計算思維能力培養(yǎng)”作為計算機基礎(chǔ)教學的核心任務(wù)。當前,教學改革的重心是加強以計算思維能力培養(yǎng)為核心的計算機基礎(chǔ)課程建設(shè),以此進一步確定計算機基礎(chǔ)課程教學的基礎(chǔ)地位和加強師資隊伍建設(shè)[3]?!队嬎銠C程序設(shè)計基礎(chǔ)》是訓練學生計算思維能力的一門重要課程,如何在進行程序設(shè)計基礎(chǔ)課程教學的同時教會學生運用計算思維去思考問題和解決問題已成為當前重要課題。
3 案例驅(qū)動的計算思維培養(yǎng)
3.1 案例教學法
案例教學法指以案例作為教學材料,結(jié)合教學主題,通過討論、問答等互動教學,讓學生了解與教學主題相關(guān)的概念或理論,有利于培養(yǎng)學習者分析問題、解決問題的能力[4]。它以鼓勵學生獨立思考、注重能力培養(yǎng)為特色,這些特色使其更適用于培養(yǎng)學生的創(chuàng)新思維能力。其開放性有助于培養(yǎng)學生主動學習的意識,全員互動性有助于鍛煉學生學會解決實際問題,啟發(fā)性有助于培養(yǎng)學生的發(fā)散性思維,現(xiàn)實真實性有助于培養(yǎng)學生分析實際問題的能力,答案多元化和最優(yōu)化可更好地培養(yǎng)學生對實際問題的理解及處理能力。
3.2 重組精編案例,突出計算思維
在《程序設(shè)計基礎(chǔ)》課程教學中,除了要讓學生掌握基本語法知識及編程外,更為重要的是算法設(shè)計,而算法設(shè)計正是計算思維的體現(xiàn)。案例教學法的關(guān)鍵在于案例選編,需遵循典型性、目的性、啟發(fā)性、真實性和生動性的原則,從計算思維的角度出發(fā),將問題求解提升到計算思維的高度。如把簡單的“數(shù)據(jù)交換”思想遷移到“應(yīng)用數(shù)組實現(xiàn)批量數(shù)據(jù)的冒泡排序”算法;從“自然數(shù)求和”的簡單迭代算法類比聯(lián)想到“級數(shù)求和”以及“迭代法求方程的近似解”;從“猴子吃桃問題”,引導學生逆向思維,從后往前推斷,進行迭代;也可利用計算思維的特征,引導學生使用遞歸方法,讓學生全面了解遞歸算法的遞推過程和回歸過程;由Fibonacci數(shù)列的循環(huán)迭代算法聯(lián)想到應(yīng)用一維數(shù)組遞推算法,再到遞歸算法。循序漸進地把抽象的知識點貫穿到學生感興趣并蘊含計算思維的經(jīng)典案例的算法設(shè)計中,引導學生主地思考并嘗試多種解決方案。運用多種算法多角度地訓練學生思維,可使學生既掌握基本的語法結(jié)構(gòu),又學會用計算機程序設(shè)計解決問題。可供課程中選擇的部分案例如表1所示[5]。
3.3 案例任務(wù)驅(qū)動,培養(yǎng)計算思維
3.3.1 正確定位師生角色,營造開放型學習氛圍
為了讓學生準確理解計算機處理問題的思路和方法,最好的辦法是設(shè)計任務(wù)驅(qū)動的教學案例。以案例作為任務(wù)驅(qū)動教學法最根本的特點就是“以任務(wù)為主線、教師為主導、學生為主體”,改變傳統(tǒng)的“教師講、學生聽”的被動教學模式。以經(jīng)典案例作為任務(wù),將學習者引入一個特定的真實情境中,按照理論結(jié)合實踐的原則,學生成為教學活動的主體,形成學生自主學習、合作學習、研究性學習和探索性學習的開放型學習氛圍。
3.3.2 結(jié)合計算思維的案例實施
呈現(xiàn)案例,提出案例中關(guān)鍵問題,分析關(guān)鍵知識點和算法思想,初步擬定解決方案,然后在課堂上闡述教師對問題的分析,提出解決方案和依據(jù),對問題和解決方案進行討論,啟發(fā)引導學生展開基于本案例的聯(lián)想與類比,鼓勵在案例實施中實現(xiàn)“一帶一類”(指案例解決方案所涉及的計算思維能夠輻射到同一類問題的通用算法思想,如迭代算法和窮舉算法可以輻射循環(huán)程序設(shè)計中所有算法思想)與“一題多解”(指解決問題的算法多樣性)。
討論交流是案例教學的重要環(huán)節(jié),可分享學習經(jīng)驗、困惑、疑問,激發(fā)學習興趣,提高學生團結(jié)協(xié)作及交流能力。
最后通過歸納總結(jié),得到最佳解決方案。這樣,不僅可以得到解決此問題的多樣化算法,而且可以掌握解決這一類問題的通用算法思想。可通過案例驅(qū)動法讓學生學習更有針對性,學生更有成就感。
3.4 強化實踐實訓,訓練計算思維
上機實驗、實踐是程序設(shè)計課程教學的一個重要環(huán)節(jié),通過上機實踐可以促使學生發(fā)現(xiàn)自己的薄弱環(huán)節(jié),積累上機編程經(jīng)驗技巧,理論與實踐相結(jié)合、融會貫通,達到綜合應(yīng)用的目的。上機實踐是訓練和培養(yǎng)計算思維的最快捷方式,因此課程教學中要強調(diào)上機實踐,強調(diào)以案例或項目驅(qū)動法,通過實戰(zhàn)演練培養(yǎng)學生的計算思維能力。
上機實驗過程中要規(guī)范上機流程,加強引導,鼓勵算法的多樣化,可按以下要求有目的、有步驟地訓練學生實踐能力:①分析問題,建立數(shù)學模型;②算法設(shè)計;③程序設(shè)計;④調(diào)試程序;⑤運行程序并分析結(jié)果。通過驗證性實驗培養(yǎng)學生解決問題的能力,通過設(shè)計性實驗培養(yǎng)學生計算思維能力,通過課程實踐綜合性實驗培養(yǎng)學生應(yīng)用能力和創(chuàng)新意識。完成實驗后要注重反思,做好分析和匯總,撰寫實驗報告,進一步拓展計算思維。只有通過上機實踐,思維才能得以訓練,程序設(shè)計能力才能得以提高。
4 結(jié)語
實踐證明,案例教學是一種行之有效的新型教學手段。在《程序設(shè)計基礎(chǔ)》課程教學過程中引入蘊含計算思維的經(jīng)典案例并貫穿教學始終,可有效地促進計算思維培養(yǎng)。同時,將課堂互動表現(xiàn)、案例實踐、課程設(shè)計等多種考核項目引進該課程考核中,實現(xiàn)評價的過程化、多樣性,有助于提高教學質(zhì)量,取得良好教學效果。
參考文獻:
[1] JEANNETTE M W.Computational thinking[J].Communications of ACM,2006,49(3):3335.
[2] 陳國良,董榮勝.計算思維與大學計算機基礎(chǔ)教育[J].中國大學教學,2011(1):911.
[3] 馮博琴.九校聯(lián)盟(C9)計算機基礎(chǔ)教學發(fā)展戰(zhàn)略聯(lián)合聲明[J].中國大學教學,2010(9):46.
[4] 張民杰.案例教學法理論與實務(wù)[M].北京:九州圖書出版社,2006.
[5] 譚浩強.C程序設(shè)計[M].第4版.北京:清華大學出版社,2010.
(責任編輯:孫 娟)