計算機程序設(shè)計課程教學的內(nèi)容改革

時間:2022-02-25 09:48:53

導語:計算機程序設(shè)計課程教學的內(nèi)容改革一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

計算機程序設(shè)計課程教學的內(nèi)容改革

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

關(guān)鍵詞:程序設(shè)計;計算思維;系統(tǒng)能力;教學內(nèi)容改革

0引言

信息技術(shù)的不斷發(fā)展對應(yīng)用系統(tǒng)開發(fā)和維護人員的能力提出了越來越高的要求。2013年ACM/IEEE公布的教學調(diào)整方案中,系統(tǒng)知識和系統(tǒng)能力的培養(yǎng)成為重點[1-2]。系統(tǒng)能力可以作為計算思維能力的一部分,而計算思維能力不僅適合開發(fā)、維護等專業(yè)人員,還適合各類人群,具有更加廣泛的適用性[3]。作為本科階段的第一門軟件類課程,程序設(shè)計課程是一門非常適合培養(yǎng)系統(tǒng)能力和其他計算思維能力的課程,如果能夠在課程教學過程中滲透計算思維能力的培養(yǎng),將為提升學習者的后續(xù)能力奠定更好的基礎(chǔ)。目前,該課程存在的主要問題是,很多學習者容易陷入對語法的強記硬背陷阱,無法真正提升其系統(tǒng)能力。為了解決這個問題,有必要改革課程的各個環(huán)節(jié),其中教學內(nèi)容的重新組合劃分、優(yōu)化選擇、重難點界定等方面是基礎(chǔ)性的環(huán)節(jié)。本文將以教學內(nèi)容的改革為側(cè)重點,探討以能力培養(yǎng)為導向的程序設(shè)計課程教學改

1以能力培養(yǎng)為導向的程序設(shè)計課程教學內(nèi)容改革的指導思想

隨著應(yīng)用系統(tǒng)的巨大化、復雜化,系統(tǒng)能力的重要性越來越凸顯。而其中頂層設(shè)計能力至關(guān)重要,自頂向下的細化方法舉足輕重,而具體實現(xiàn)可以放在次要位置。為了讓學員在學習過程中提升系統(tǒng)能力,需要將授課內(nèi)容從具體語法中解脫出來,以系統(tǒng)觀的思想為指導,注重每個教學設(shè)計過程,從課程設(shè)計到課堂設(shè)計,優(yōu)化教學內(nèi)容,使內(nèi)容更有層次感,更能體現(xiàn)系統(tǒng)設(shè)計的思想。計算思維強調(diào)將計算機科學方法與解決實際問題的具體方法相映射,而程序設(shè)計的很多具體知識點,如循環(huán)、數(shù)組、函數(shù)等,均能體現(xiàn)處理實際問題的方法。因此,對內(nèi)容進行優(yōu)化設(shè)計,可避免學員陷入具體語言的語法陷阱,而忽略理解掌握具有計算思維能力培養(yǎng)的思想性內(nèi)容。計算機系統(tǒng)能力的培養(yǎng)雖然主要針對計算機專業(yè)學員[2],但對計算機系統(tǒng)能力的培養(yǎng)不應(yīng)該局限于計算機專業(yè)學員。在實際開發(fā)應(yīng)用系統(tǒng)時,開發(fā)人員不一定是純粹的計算機專業(yè)人員,而缺乏計算機系統(tǒng)能力的非計算機專業(yè)人員在進行應(yīng)用系統(tǒng)開發(fā)、維護和使用時,會面臨諸如系統(tǒng)設(shè)計不合理等問題。因此,有必要在非計算機專業(yè)的課程中有目的地培養(yǎng)計算機系統(tǒng)能力。

2程序設(shè)計課程教學內(nèi)容改革的具體方案

2.1課程標準修訂

首先,根據(jù)本科程序設(shè)計課程的教學目標,課程標準不應(yīng)依賴于具體的計算機語言,而是高度提煉程序設(shè)計的知識點、思想、方法,在使學員理解各知識點的內(nèi)在關(guān)系的基礎(chǔ)上,利用某種特定語言具體呈現(xiàn),有時甚至可以使用多種語言實現(xiàn)同一知識點,以便使學員更好地理解知識點,并對比不同語言的特點。因此,如果課程標準中還存在依賴具體語言的標準內(nèi)容,則必須進行修訂。其次,課程標準中要指明該課程要進行系統(tǒng)能力和計算思維能力培養(yǎng)的宏觀和微觀目標,并在內(nèi)容要求部分給出具體的能力培養(yǎng)要求。最后,在以上原則的指導下,從宏觀上改進課程標準的內(nèi)容,有效指導任教人員和學習者重視結(jié)構(gòu)、思想和方法,降低陷入語法陷阱的可能。表1給出了兩個課程標準知識點內(nèi)容要求修訂前后的對比。表1課程標準部分內(nèi)容要求修訂示例修訂前要求修訂后要求…掌握if、switch、for、while、dowhile語句的使用方法,理解while和dowhile的區(qū)別,掌握break、continue的使用,能夠編寫三種結(jié)構(gòu)的簡單程序……掌握順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的特點,繪制三種程序結(jié)構(gòu)的流程圖,使用一種語言對三種結(jié)構(gòu)進行具體實現(xiàn)……理解函數(shù)的基本概念,掌握C語言函數(shù)的定義、調(diào)用及返回的方法,理解C語言自定義函數(shù)參數(shù)的傳遞方式,掌握C語言函數(shù)的嵌套調(diào)用和遞歸調(diào)用……復述函數(shù)的概念,闡述函數(shù)引入的意義和作用,基于一種高級語言實現(xiàn)函數(shù)的定義和調(diào)用,編寫帶有參數(shù)和返回值的函數(shù)并進行調(diào)用…

2.2課程教學內(nèi)容模塊化重組

教學內(nèi)容的模塊化重組有利于教學人員在教學過程中宏觀把握教學知識點,有利于學員理解課程的總體結(jié)構(gòu)。遵循建構(gòu)主義的原則,逐步提高學員的計算思維能力和系統(tǒng)能力。涉及到具體語法的部分,不應(yīng)花費過多的課堂時間,可利用MOOC平臺或微課視頻給學員提供自主學習的平臺。表2給出了課程模塊化劃分的結(jié)果。

2.3能力培養(yǎng)知識點整理

課程中適合培養(yǎng)系統(tǒng)能力和計算思維能力的知識點較多,進行科學的歸納整理,有利于教學人員在備課過程中進行有針對性的準備。表3給出了部分能力培養(yǎng)知識點的分布情況。

3教學案例

在教學實施過程中,要完成培養(yǎng)學員系統(tǒng)能力、計算思維能力的目的,必須根據(jù)教學內(nèi)容、學員特點、教學條件等進行更加細致的設(shè)計,以達到最佳的能力訓練效果??梢砸浴昂瘮?shù)”一節(jié)的教學為例,給出具體的教學設(shè)計案例。

3.1教學內(nèi)容和重難點確定

該節(jié)課的教學內(nèi)容為函數(shù),主要包括函數(shù)的概念、如何定義和調(diào)用函數(shù)。其中函數(shù)的概念部分是本節(jié)課的重點,主要包括什么是函數(shù)、為什么要引入函數(shù)、函數(shù)在整個程序中的作用和地位等。讓學生理解并掌握形式參數(shù)和實際參數(shù)是該節(jié)課的難點。

3.2教學目標和要求設(shè)定

通過該節(jié)課程的學習,使學員進一步建立模塊化程序設(shè)計的思想,具有初步利用函數(shù)進行模塊化程序設(shè)計的能力。具體來說,要求學員能夠復述函數(shù)的概念,闡述函數(shù)引入的意義和作用,能夠基于一種高級語言實現(xiàn)函數(shù)的定義和調(diào)用,能夠編寫帶有參數(shù)和返回值的函數(shù)并進行調(diào)用。

3.3學員特點分析

學員在前面的學習過程中基本掌握了程序的3種基本結(jié)構(gòu),能夠編寫一些較復雜的程序,部分學員已經(jīng)發(fā)現(xiàn)當程序較復雜時,往往會出現(xiàn)一些重復的代碼。雖然他們了解過模塊化程序設(shè)計的概念,但對如何實現(xiàn)模塊化程序設(shè)計并沒有直觀的認識,對于“自頂向下,逐步細化”的認識更加模糊。

3.4課堂教學過程及內(nèi)容設(shè)計要點

課堂開始階段,為了讓學員更容易理解引入函數(shù)的目的,采用現(xiàn)實生活或生產(chǎn)實際中的例子,如飛機制造與組裝等,并讓學員反思前面編寫過的較復雜的程序中出現(xiàn)的代碼重復現(xiàn)象,從而引出函數(shù)的概念,讓學員更加輕松地接受函數(shù)這個新知識點。在這個過程中可采用視頻、動畫、圖片等多媒體形式向?qū)W員展示生產(chǎn)生活中“模塊化”組裝的例子;可以通過討論發(fā)言,讓學員挖掘前面學習過的內(nèi)容中有哪些可以進行模塊化設(shè)計。隨著討論的深入,學員就會思考應(yīng)該如何借助模塊化思想解決程序設(shè)計中的問題,從而過渡到本節(jié)的第二個問題——函數(shù)的定義和調(diào)用。在開始具體講解函數(shù)的定義和調(diào)用之前,為了突出“學為主體”的課堂特征,設(shè)定一系列的討論問題,如函數(shù)應(yīng)具有哪些要素等,便于引入函數(shù)形參和實參概念,并加深學員的理解。在這個過程中,可結(jié)合生產(chǎn)生活實例進行啟發(fā),結(jié)合學員小組討論,建構(gòu)出函數(shù)的定義和調(diào)用的機理。模塊化組裝的例子和函數(shù)的知識有不同之處,應(yīng)該花少量時間講解或討論它們的不同之處,從而避免造成誤解。在講解完實參、形參的概念之后,利用具體的程序語言,如C語言,對函數(shù)的定義和調(diào)用進行代碼實現(xiàn),并向?qū)W員說明其他語言的實現(xiàn)是類似的,可結(jié)合微課資源向?qū)W員提供其他語言的實現(xiàn)例子。這里需要著重強調(diào)的是,以往的教學內(nèi)容多以代碼實例引出函數(shù)、形參、實參等概念,而這里采用的是類比理解概念、討論引出概念、代碼實現(xiàn)概念的順序,學員理解層次更深,更適合學員在其他高級語言中實踐,更有利于能力培養(yǎng)。本節(jié)課程結(jié)束階段,師生共同總結(jié)函數(shù)的意義,使學員對模塊化程序設(shè)計的理解進一步升華,系統(tǒng)能力得到真正的提高。

4結(jié)語

針對目前程序設(shè)計課程教學過程中,學員容易陷入程序設(shè)計語言的語法細節(jié)的問題,以提高學員對程序設(shè)計課程的理解、提升包括系統(tǒng)能力在內(nèi)的計算思維能力為目的,以教學內(nèi)容改革為主要方式,對程序設(shè)計課程進行了具體的改革設(shè)計與實踐。實踐結(jié)果表明,學員的計算思維能力,尤其是系統(tǒng)能力得到了較大的提高。教學內(nèi)容改革也帶動了教學模式與教學方法的改革,三者相互促進、相互補充,也為下一步的教學改革指明了方向。

作者:韓慶龍 李瑛 劉瑜 單位:海軍航空工程學院基礎(chǔ)部

參考文獻:

[1]ACM\IEEE.ComputerScienceCurricula2013IronmanDraft(Version0.8)[EB/OL].[2013-03-26].ai.stanford.edu/users/sahami/CS2013/.

[2]王志英,周興社,袁春風.計算機專業(yè)學員系統(tǒng)能力培養(yǎng)和系統(tǒng)課程體系設(shè)置研究[J].計算機教育,2013(9):1-6.

[3]WingJM.ComputationalThinking[J].CommunicationsoftheACM,2006,49(3):33-35.