計算機程序設計課程教學(xué)的內容改革論文
摘要:提出以程序設計課程為研究對象,以培養計算思維能力尤其是系統能力為主要目標,以教學(xué)內容改革為主要途徑,針對本科程序設計課程進(jìn)行教學(xué)改革探索,并給出具體的實(shí)施方案和典型案例。

關(guān)鍵詞:程序設計;計算思維;系統能力;教學(xué)內容改革
0引言
信息技術(shù)的不斷發(fā)展對應用系統開(kāi)發(fā)和維護人員的能力提出了越來(lái)越高的要求。2013年ACM/IEEE公布的教學(xué)調整方案中,系統知識和系統能力的培養成為重點(diǎn)[1-2]。系統能力可以作為計算思維能力的一部分,而計算思維能力不僅適合開(kāi)發(fā)、維護等專(zhuān)業(yè)人員,還適合各類(lèi)人群,具有更加廣泛的適用性[3]。作為本科階段的第一門(mén)軟件類(lèi)課程,程序設計課程是一門(mén)非常適合培養系統能力和其他計算思維能力的課程,如果能夠在課程教學(xué)過(guò)程中滲透計算思維能力的培養,將為提升學(xué)習者的后續能力奠定更好的基礎。目前,該課程存在的主要問(wèn)題是,很多學(xué)習者容易陷入對語(yǔ)法的強記硬背陷阱,無(wú)法真正提升其系統能力。為了解決這個(gè)問(wèn)題,有必要改革課程的各個(gè)環(huán)節,其中教學(xué)內容的重新組合劃分、優(yōu)化選擇、重難點(diǎn)界定等方面是基礎性的環(huán)節。本文將以教學(xué)內容的改革為側重點(diǎn),探討以能力培養為導向的程序設計課程教學(xué)改
1以能力培養為導向的程序設計課程教學(xué)內容改革的指導思想
隨著(zhù)應用系統的巨大化、復雜化,系統能力的重要性越來(lái)越凸顯。而其中頂層設計能力至關(guān)重要,自頂向下的細化方法舉足輕重,而具體實(shí)現可以放在次要位置。為了讓學(xué)員在學(xué)習過(guò)程中提升系統能力,需要將授課內容從具體語(yǔ)法中解脫出來(lái),以系統觀(guān)的思想為指導,注重每個(gè)教學(xué)設計過(guò)程,從課程設計到課堂設計,優(yōu)化教學(xué)內容,使內容更有層次感,更能體現系統設計的思想。計算思維強調將計算機科學(xué)方法與解決實(shí)際問(wèn)題的具體方法相映射,而程序設計的很多具體知識點(diǎn),如循環(huán)、數組、函數等,均能體現處理實(shí)際問(wèn)題的方法。因此,對內容進(jìn)行優(yōu)化設計,可避免學(xué)員陷入具體語(yǔ)言的語(yǔ)法陷阱,而忽略理解掌握具有計算思維能力培養的思想性?xún)热。計算機系統能力的培養雖然主要針對計算機專(zhuān)業(yè)學(xué)員[2],但對計算機系統能力的培養不應該局限于計算機專(zhuān)業(yè)學(xué)員。在實(shí)際開(kāi)發(fā)應用系統時(shí),開(kāi)發(fā)人員不一定是純粹的計算機專(zhuān)業(yè)人員,而缺乏計算機系統能力的非計算機專(zhuān)業(yè)人員在進(jìn)行應用系統開(kāi)發(fā)、維護和使用時(shí),會(huì )面臨諸如系統設計不合理等問(wèn)題。因此,有必要在非計算機專(zhuān)業(yè)的課程中有目的地培養計算機系統能力。
2程序設計課程教學(xué)內容改革的具體方案
2.1課程標準修訂
首先,根據本科程序設計課程的教學(xué)目標,課程標準不應依賴(lài)于具體的計算機語(yǔ)言,而是高度提煉程序設計的知識點(diǎn)、思想、方法,在使學(xué)員理解各知識點(diǎn)的內在關(guān)系的基礎上,利用某種特定語(yǔ)言具體呈現,有時(shí)甚至可以使用多種語(yǔ)言實(shí)現同一知識點(diǎn),以便使學(xué)員更好地理解知識點(diǎn),并對比不同語(yǔ)言的特點(diǎn)。因此,如果課程標準中還存在依賴(lài)具體語(yǔ)言的標準內容,則必須進(jìn)行修訂。其次,課程標準中要指明該課程要進(jìn)行系統能力和計算思維能力培養的宏觀(guān)和微觀(guān)目標,并在內容要求部分給出具體的能力培養要求。最后,在以上原則的指導下,從宏觀(guān)上改進(jìn)課程標準的內容,有效指導任教人員和學(xué)習者重視結構、思想和方法,降低陷入語(yǔ)法陷阱的可能。表1給出了兩個(gè)課程標準知識點(diǎn)內容要求修訂前后的對比。表1課程標準部分內容要求修訂示例修訂前要求修訂后要求…掌握if、switch、for、while、dowhile語(yǔ)句的使用方法,理解while和dowhile的區別,掌握break、continue的使用,能夠編寫(xiě)三種結構的簡(jiǎn)單程序……掌握順序結構、選擇結構、循環(huán)結構的特點(diǎn),繪制三種程序結構的流程圖,使用一種語(yǔ)言對三種結構進(jìn)行具體實(shí)現……理解函數的基本概念,掌握C語(yǔ)言函數的定義、調用及返回的方法,理解C語(yǔ)言自定義函數參數的傳遞方式,掌握C語(yǔ)言函數的嵌套調用和遞歸調用……復述函數的概念,闡述函數引入的意義和作用,基于一種高級語(yǔ)言實(shí)現函數的定義和調用,編寫(xiě)帶有參數和返回值的函數并進(jìn)行調用…
2.2課程教學(xué)內容模塊化重組
教學(xué)內容的模塊化重組有利于教學(xué)人員在教學(xué)過(guò)程中宏觀(guān)把握教學(xué)知識點(diǎn),有利于學(xué)員理解課程的總體結構。遵循建構主義的原則,逐步提高學(xué)員的計算思維能力和系統能力。涉及到具體語(yǔ)法的部分,不應花費過(guò)多的課堂時(shí)間,可利用MOOC平臺或微課視頻給學(xué)員提供自主學(xué)習的平臺。表2給出了課程模塊化劃分的結果。
2.3能力培養知識點(diǎn)整理
課程中適合培養系統能力和計算思維能力的知識點(diǎn)較多,進(jìn)行科學(xué)的歸納整理,有利于教學(xué)人員在備課過(guò)程中進(jìn)行有針對性的準備。表3給出了部分能力培養知識點(diǎn)的分布情況。
3教學(xué)案例
在教學(xué)實(shí)施過(guò)程中,要完成培養學(xué)員系統能力、計算思維能力的目的,必須根據教學(xué)內容、學(xué)員特點(diǎn)、教學(xué)條件等進(jìn)行更加細致的設計,以達到最佳的能力訓練效果?梢砸浴昂瘮怠币还澋慕虒W(xué)為例,給出具體的教學(xué)設計案例。
3.1教學(xué)內容和重難點(diǎn)確定
該節課的教學(xué)內容為函數,主要包括函數的概念、如何定義和調用函數。其中函數的概念部分是本節課的重點(diǎn),主要包括什么是函數、為什么要引入函數、函數在整個(gè)程序中的作用和地位等。讓學(xué)生理解并掌握形式參數和實(shí)際參數是該節課的難點(diǎn)。
3.2教學(xué)目標和要求設定
通過(guò)該節課程的學(xué)習,使學(xué)員進(jìn)一步建立模塊化程序設計的思想,具有初步利用函數進(jìn)行模塊化程序設計的能力。具體來(lái)說(shuō),要求學(xué)員能夠復述函數的概念,闡述函數引入的意義和作用,能夠基于一種高級語(yǔ)言實(shí)現函數的定義和調用,能夠編寫(xiě)帶有參數和返回值的函數并進(jìn)行調用。
3.3學(xué)員特點(diǎn)分析
學(xué)員在前面的學(xué)習過(guò)程中基本掌握了程序的3種基本結構,能夠編寫(xiě)一些較復雜的程序,部分學(xué)員已經(jīng)發(fā)現當程序較復雜時(shí),往往會(huì )出現一些重復的代碼。雖然他們了解過(guò)模塊化程序設計的概念,但對如何實(shí)現模塊化程序設計并沒(méi)有直觀(guān)的認識,對于“自頂向下,逐步細化”的認識更加模糊。
3.4課堂教學(xué)過(guò)程及內容設計要點(diǎn)
課堂開(kāi)始階段,為了讓學(xué)員更容易理解引入函數的目的,采用現實(shí)生活或生產(chǎn)實(shí)際中的例子,如飛機制造與組裝等,并讓學(xué)員反思前面編寫(xiě)過(guò)的較復雜的程序中出現的代碼重復現象,從而引出函數的概念,讓學(xué)員更加輕松地接受函數這個(gè)新知識點(diǎn)。在這個(gè)過(guò)程中可采用視頻、動(dòng)畫(huà)、圖片等多媒體形式向學(xué)員展示生產(chǎn)生活中“模塊化”組裝的例子;可以通過(guò)討論發(fā)言,讓學(xué)員挖掘前面學(xué)習過(guò)的內容中有哪些可以進(jìn)行模塊化設計。隨著(zhù)討論的深入,學(xué)員就會(huì )思考應該如何借助模塊化思想解決程序設計中的問(wèn)題,從而過(guò)渡到本節的第二個(gè)問(wèn)題——函數的定義和調用。在開(kāi)始具體講解函數的定義和調用之前,為了突出“學(xué)為主體”的課堂特征,設定一系列的討論問(wèn)題,如函數應具有哪些要素等,便于引入函數形參和實(shí)參概念,并加深學(xué)員的理解。在這個(gè)過(guò)程中,可結合生產(chǎn)生活實(shí)例進(jìn)行啟發(fā),結合學(xué)員小組討論,建構出函數的定義和調用的機理。模塊化組裝的例子和函數的知識有不同之處,應該花少量時(shí)間講解或討論它們的不同之處,從而避免造成誤解。在講解完實(shí)參、形參的概念之后,利用具體的程序語(yǔ)言,如C語(yǔ)言,對函數的定義和調用進(jìn)行代碼實(shí)現,并向學(xué)員說(shuō)明其他語(yǔ)言的實(shí)現是類(lèi)似的,可結合微課資源向學(xué)員提供其他語(yǔ)言的實(shí)現例子。這里需要著(zhù)重強調的是,以往的教學(xué)內容多以代碼實(shí)例引出函數、形參、實(shí)參等概念,而這里采用的是類(lèi)比理解概念、討論引出概念、代碼實(shí)現概念的順序,學(xué)員理解層次更深,更適合學(xué)員在其他高級語(yǔ)言中實(shí)踐,更有利于能力培養。本節課程結束階段,師生共同總結函數的意義,使學(xué)員對模塊化程序設計的理解進(jìn)一步升華,系統能力得到真正的提高。
4結語(yǔ)
針對目前程序設計課程教學(xué)過(guò)程中,學(xué)員容易陷入程序設計語(yǔ)言的語(yǔ)法細節的問(wèn)題,以提高學(xué)員對程序設計課程的理解、提升包括系統能力在內的計算思維能力為目的,以教學(xué)內容改革為主要方式,對程序設計課程進(jìn)行了具體的改革設計與實(shí)踐。實(shí)踐結果表明,學(xué)員的計算思維能力,尤其是系統能力得到了較大的提高。教學(xué)內容改革也帶動(dòng)了教學(xué)模式與教學(xué)方法的改革,三者相互促進(jìn)、相互補充,也為下一步的教學(xué)改革指明了方向。
參考文獻:
[1]ACMIEEE.ComputerScienceCurricula2013IronmanDraft(Version0.8)[EB/OL].[2013-03-26]./pic/users/sahami/CS2013/.
[2]王志英,周興社,袁春風(fēng).計算機專(zhuān)業(yè)學(xué)員系統能力培養和系統課程體系設置研究[J].計算機教育,2013(9):1-6.
[3]WingJM.ComputationalThinking[J].CommunicationsoftheACM,2006,49(3):33-35.
【計算機程序設計課程教學(xué)的內容改革論文】相關(guān)文章:
國際結算課程教學(xué)方法改革論文08-13
教學(xué)課程改革方案10-06
英美文學(xué)課程改革的探討論文08-19
教學(xué)課程改革方案4篇11-02
課程改革方案10-15
課程改革方案08-31
課程改革個(gè)人總結07-28
課程改革方案11-10
個(gè)人課程改革總結05-15