• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      分而治之的Windows編程課實踐教學實驗編制

      2018-01-31 07:49:55方昱春陳迅雷張景嶠
      計算機教育 2018年1期
      關(guān)鍵詞:教學實驗編程對象

      方昱春,陳迅雷,張景嶠

      (上海大學 計算機工程與科學學院,上海 200444)

      1 實踐教學實驗分類及存在的問題

      實踐教學的核心組成部分之一是教學實驗。通過實踐教學實驗,學生驗證、設(shè)計和實現(xiàn)課堂講授的知識點,從而加深對要點、難點的領(lǐng)悟和理解深度,增強自學能力和動手能力,提高綜合學習水平。

      實踐教學實驗根據(jù)實驗性質(zhì)可以分為驗證性實驗、設(shè)計性實驗和綜合性實驗3類。驗證性實驗通過提供詳細的實驗步驟、具體的實驗方案和完整的實驗數(shù)據(jù),幫助學生掌握入門的程序設(shè)計方法,熟悉開發(fā)環(huán)境和開發(fā)平臺;設(shè)計性實驗要求學生運用課堂上講授的一個或幾個知識點實現(xiàn)獨立功能,并且編制代碼調(diào)試程序求解問題;綜合性實驗要求學生綜合運用課堂上學習的多個知識點,完成功能全面獨立的小型實用系統(tǒng)。在編程實踐類課程中,綜合性作業(yè)幾乎等同于設(shè)計一個小型軟件系統(tǒng)。從考查學生學習狀況的角度而言,綜合性實驗是考評學生對單門課程知識點掌握狀況最有效的辦法之一;從鍛煉學生動手能力的角度而言,綜合性實驗充滿了挑戰(zhàn)性,學生躍躍欲試。在上述3類實驗中,綜合性實驗的難度也是最高的:首先,眾多待實現(xiàn)功能使得學生無從下手;其次,課程講授的知識點有時序性,等待所有知識點講授完畢再進行綜合設(shè)計則會出現(xiàn)開發(fā)時間不充足的情況。

      為了解決上述困難,方法之一是把學生結(jié)成若干小組,把綜合實驗分解成模塊,分配給每個學生獨立完成,然后通過合作集成完整的系統(tǒng)。這種方法適用于每個獨立功能都包含課程要點的情況,如開發(fā)數(shù)據(jù)庫系統(tǒng)時,多個功能的各個模塊都可能需要運用基本的數(shù)據(jù)庫處理算法。如果各個獨立功能僅僅側(cè)重單門課程的某個方面,那么采用這種方法可能會導致部分學生專注于完成自己分配到的功能組件的實現(xiàn),而忽略其他方面的實踐,最終影響其對單門課程的全面掌握。

      分而治之實踐教學實驗設(shè)置通過有機分解綜合性實驗,把部分功能模塊根據(jù)其特性編制成小型的驗證性實驗或者設(shè)計性實驗,配合所傳授的各個知識點,布置給學生,在小實驗積累的基礎(chǔ)上,使學生具備獨立完成綜合性大實驗的能力。

      2 具體實驗設(shè)置

      分而治之的實踐教學實驗編制方法如圖1所示。根據(jù)圖1,我們可以觀察到,分而治之的實踐教學實驗設(shè)置的核心是對綜合性實驗進行分解。根據(jù)分解后獨立功能的性質(zhì),知識性、基礎(chǔ)性的模塊可以通過驗證性實驗引導學生進行實踐;技術(shù)性、功能性的模塊以設(shè)計性實驗的方式要求學生實現(xiàn);驗證性實驗和技術(shù)性實驗則根據(jù)教學進度布置給學生。在主干環(huán)節(jié)掌握的基礎(chǔ)上,就可以讓學生著手進行綜合性實驗,余留的模塊則可以隨著后期課程的開展逐步進行完善。除了基本模塊,對于一些可以提升綜合實驗水平的技術(shù)和要點,采用在課堂上提示要點的方式,鼓勵學有余力的學生通過自學去實現(xiàn)和掌握。通過對綜合性作業(yè)的有機分解,幫助學生跟隨授課進程掌握和實踐知識要點,并通過這一過程為獨立進行綜合性實驗作準備,發(fā)揮創(chuàng)造力,最終完成綜合性實驗作業(yè)。

      圖1 分而治之的實踐教學實驗設(shè)置示意圖

      3 Windows編程課實踐教學要求和特點

      Windows編程課主要講授基于API (application programming interface,應(yīng)用編程接口)的程序開發(fā)技術(shù)和思想[1],屬于基礎(chǔ)程序設(shè)計課程之一。目前,雖然API編程方法在實際應(yīng)用中的使用范圍較窄,但是在程序設(shè)計語言的發(fā)展歷程中,API編程猶如一塊基石,其包含的主要元素是后續(xù)面向?qū)ο缶幊痰绕渌幊谭椒ǖ闹饕M成部分或封裝對象。計算機專業(yè)學生學習API編程的目的不僅僅在于鍛煉編程能力,更重要的一點在于通過學習使用API函數(shù)和數(shù)據(jù)結(jié)構(gòu)控制操作系統(tǒng)消息發(fā)送接收和調(diào)用系統(tǒng)功能,可以幫助學生深入理解Windows操作系統(tǒng)內(nèi)部的運行機制,領(lǐng)悟圖形用戶界面的Windows程序設(shè)計核心思想[2-3],因此在開設(shè)這門課程時,要求學生能夠全面掌握課程的核心要點。

      Windows編程包含消息驅(qū)動原理、圖形用戶界面設(shè)計、輸入輸出設(shè)備、資源使用、多任務(wù)和數(shù)據(jù)共享、網(wǎng)絡(luò)通信、動態(tài)鏈接庫使用等眾多內(nèi)容。從本科學生接受能力和課時限制出發(fā),Windows編程課的授課內(nèi)容一般包括Windows框架程序、消息驅(qū)動程序結(jié)構(gòu)、圖形設(shè)備接口(graphic device interface, GDI)對象和方法、輸入設(shè)備使用方法和消息處理、資源和資源腳本文件、多任務(wù)和多線程、DLL的使用和編程等,這些基本的API編程方法可以觸類旁通、舉一反三地運用到其他Windows編程技術(shù)的學習中。

      4 Windows編程課綜合實驗設(shè)置

      在Windows編程課中,可以要求學生通過設(shè)計一個運行效果流暢的平面游戲程序作為綜合作業(yè)。具體設(shè)計要求包括使用圖形用戶界面、游戲中對象移動無閃爍、人機交互自然友好、具有計分定時等完整的游戲功能。這樣一個綜合作業(yè)覆蓋了Windows編程課中主要授課內(nèi)容的多個要點:①圖形用戶界面包含Windows框架程序和資源中多個要素的實現(xiàn),如菜單、圖標、光標、加速鍵、對話框和控件;②游戲?qū)ο蟮囊苿有枰莆誈DI對象和計時器使用的要點;③人機交互自然友好需要實踐消息驅(qū)動機制、鍵盤響應(yīng)、鼠標響應(yīng)等。

      學生接到任務(wù)之初往往感覺無從下手,因為這個作業(yè)和其他語言類的基礎(chǔ)編程課實踐作業(yè)相比,復雜度增加許多,而且Windows程序基本組件的實現(xiàn)方法需要在若干課時后才能接觸。

      把這樣一個綜合實驗布置給一個小組的學生,并且把各個功能模塊分解后分配給各個學生,通過合作完成綜合作業(yè),不能使每個學生都親自實踐各個要點的編程實現(xiàn)方法,也不能達到Windows編程課要求學生全面掌握核心要點的教學目的。因此,我們在教學實踐中采用了分而治之的實踐教學實驗編制方法。

      5 Windows編程課分而治之的實驗設(shè)置案例實踐

      根據(jù)圖1的分而治之的實踐教學實驗設(shè)置示意圖,可以分解第4節(jié)中的Windows編程實踐教學作業(yè)——設(shè)計一個運行效果流暢的平面游戲程序,如圖2所示。根據(jù)Windows程序基本功能的類型,把平面游戲設(shè)計分解成9個基本模塊,按照授課時序排列為:Windows框架、游戲?qū)ο箫@示、閃爍消除處理、鍵盤消息響應(yīng)、鼠標消息響應(yīng)、計時計分功能、游戲?qū)ο罂刂坪唾Y源使用,另外游戲?qū)ο筮\動模塊屬于算法設(shè)計范疇。根據(jù)各個功能模塊的難度和特點,設(shè)計“Hello world!”“字符移動程序”“位圖透明顯示”“動態(tài)直線繪制”“鼠標點擊游戲”“菜單對話框”6個涵蓋綜合實驗主要技術(shù)點的驗證性實驗和設(shè)計性實驗。

      圖2 Windows編程實驗的分而治之設(shè)置示意圖

      5.1 Windows編程課綜合實驗分解

      首先,以Windows框架功能和鍵盤消息響應(yīng)合成“Hello world!”驗證性實驗,作為學生入門的程序。設(shè)置目的出于兩個方面的考慮:①Windows框架程序是所有API程序的基石,其中包含大量的API函數(shù)和復雜的結(jié)構(gòu)體類型變量,因此設(shè)計驗證性實驗是最有助于學生學習和掌握的;②雖然鍵盤消息響應(yīng)的相關(guān)處理是學期中期才講授的內(nèi)容,但是通過給學生提供驗證性實踐,可以幫助學生領(lǐng)悟消息驅(qū)動機制下編程的特點和鍵盤消息處理的入門知識。教學中,教師可以采用兩個步驟使這個入門程序在實際教學中起到額外地提高學生學習積極性的效果:①用API編程方法實現(xiàn)“Hello world!”,然后引導學生把該程序源碼和基礎(chǔ)語言編程課同一程序的源碼量作比較,學生的第一反應(yīng)是“如此簡單的功能為何需要如此冗長的代碼來實現(xiàn)”;②指導學生在這個入門程序中加入5行鍵盤消息響應(yīng)代碼,實現(xiàn)隨機改變字符串顯示顏色的功能,使學生明白在框架的基礎(chǔ)上,API編程在Windows操作系統(tǒng)的支持下可以輕松實現(xiàn)復雜的顯示效果。通過這個驗證性程序,學生可以直觀地了解API編程通過響應(yīng)來處理消息的基本方法和思想。

      在學生API編程入門的基礎(chǔ)上,教師可以設(shè)置“字符移動程序”設(shè)計性實驗,加強學生對Windows框架功能和鍵盤消息響應(yīng)兩個模塊的掌握;同時,基于“分而治之”思想把游戲中角色對象的活動劇情分解為“游戲?qū)ο箫@示”和“游戲?qū)ο筮\動”兩個功能,并且把游戲?qū)ο筮\動算法簡化為字符移動算法讓學生實踐。一方面,就算法機理而言,游戲?qū)ο蟮囊苿雍妥址苿邮堑葍r的,都需要通過選擇結(jié)構(gòu)控制對象的移動方向,并且判斷對象的移動是否碰觸邊界;另一方面,游戲?qū)ο箫@示屬于GDI編程的內(nèi)容,GDI編程技術(shù)作為Windows編程課的最主要內(nèi)容之一,需要配以較多的課時講解,因此,可以把游戲?qū)ο筮\動算法獨立成小設(shè)計實驗引導學生先完成部分內(nèi)容,等完成GDI編程課堂講解后,再引導學生通過透明位圖技術(shù)實現(xiàn)游戲?qū)ο箫@示功能。學生把這兩個小設(shè)計實驗中的算法結(jié)合起來,就能實現(xiàn)平面游戲里的角色移動功能。

      在Windows編程中,客戶區(qū)顯示內(nèi)容的動畫效果需要處理刷新顯示時的閃爍問題。閃爍處理主要通過內(nèi)存(虛擬)設(shè)備描述表技術(shù)和InvalidateRect()函數(shù)參數(shù)的合理設(shè)置來完成;另外,還需要兼顧通過鼠標或鍵盤控制產(chǎn)生游戲中對象的運動。在教學實踐中,這兩部分內(nèi)容可以通過“動態(tài)直線繪制”小實驗開展實踐,按照教學進度,學生此時已經(jīng)完成了GDI編程和鼠標鍵盤消息響應(yīng)的相關(guān)學習內(nèi)容,通過消息響應(yīng)和無閃爍顯示技術(shù)的結(jié)合,以一種簡化的方式掌握游戲運動對象在輸入設(shè)備控制下刷新顯示無閃爍技術(shù)。

      5.2 Windows編程課綜合實驗合成

      教師可設(shè)計獨立的“鼠標點擊游戲”,幫助學生強化多種鼠標消息的協(xié)調(diào)使用,強調(diào)使用計時計分和控制不同游戲?qū)ο蟪霈F(xiàn)的技巧。如果學生能在這個小游戲中添加游戲?qū)ο蠼巧顒拥膭∏?,就表明其已?jīng)可以完成一個功能完整的游戲,因此,課程進度過半時可以給學生布置一個綜合作業(yè):以“鼠標點擊游戲”作為最終平面游戲的基礎(chǔ)框架,集成前期的游戲運動控制、游戲?qū)ο箫@示和閃爍消除處理模塊,像搭積木一樣設(shè)計實現(xiàn)一個平面游戲。

      “菜單對話框”設(shè)計小實驗是在“鼠標點擊游戲”基礎(chǔ)上添加菜單、加速鍵、對話框、控件、光標、圖標等資源,這些元素不僅使最終的平面游戲具有Windows程序標準的界面和人機交互接口,還幫助學生學習Windows程序使用資源的原理和資源腳本文件的構(gòu)成。

      6 結(jié) 語

      分而治之的實踐教學實驗設(shè)置方法旨在通過循序漸進的方式幫助學生掌握知識要點,為設(shè)計完成綜合實驗打好基礎(chǔ)。教師通過對綜合實驗進行合理有效的分解,幫助學生掌握單個功能的實現(xiàn)方法,并且在此基礎(chǔ)上合成多個功能模塊、獨立設(shè)計和完成綜合實驗。小實驗是綜合實驗的準備,待小實驗都逐一完成,綜合實驗的完成也就水到渠成。教學實踐表明:分而治之的實踐教學實驗設(shè)置可以幫助學生樹立學習信心和增強積極性;學生通過小實驗不斷積累直至完成一個綜合實驗的過程,也自然而然地實現(xiàn)了使學生掌握API編程思想方法的授課目標。

      [1]方昱春, 陳訊雷, 張景嶠. Windows編程課實踐教學探討[J]. 計算機教育, 2010(18): 153-155.

      [2]杜曉晨, 馮海林, 徐愛俊. Windows程序設(shè)計的輔助實驗平臺建設(shè)[J]. 中國信息技術(shù)教育, 2014(1): 109-111.

      [3]程文志. 基于研究式學習的Windows編程教學實踐研究[J]. 湖南科技學院學報, 2016(5): 98-99.

      猜你喜歡
      教學實驗編程對象
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      神秘來電
      睿士(2023年2期)2023-03-02 02:01:09
      氣排球與硬式排球技術(shù)教學實驗對比研究
      攻略對象的心思好難猜
      意林(2018年3期)2018-03-02 15:17:24
      基于熵的快速掃描法的FNEA初始對象的生成方法
      區(qū)間對象族的可鎮(zhèn)定性分析
      基于PLC的沖壓成型自動化教學實驗系統(tǒng)設(shè)計
      廉江市| 高邮市| 泸西县| 纳雍县| 交口县| 襄汾县| 龙川县| 靖边县| 尼勒克县| 汉中市| 东乌珠穆沁旗| 广平县| 红原县| 旬邑县| 麻阳| 枝江市| 大方县| 明溪县| 乌苏市| 兴义市| 南阳市| 佛教| 庆云县| 德钦县| 英德市| 雅安市| 禄劝| 云南省| 内黄县| 南城县| 枣强县| 子洲县| 乐陵市| 遵化市| 平谷区| 曲麻莱县| 定边县| 河南省| 谢通门县| 平江县| 临西县|