亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于能力培養(yǎng)的程序設計類課程實踐教學設計探析

        2024-06-16 13:09:00樊新華林天亮
        電腦知識與技術 2024年12期
        關鍵詞:案例設計程序設計

        樊新華 林天亮

        關鍵詞:程序設計;案例設計;算法表示;編程風格;程序調(diào)試

        0 引言

        程序設計是非計算機專業(yè)大學生必修且實踐性強的課程。在程序設計教學中,實踐教學具有非常重要的作用,也是掌握編程技能的主要途徑。因此,要進一步強化實踐教學環(huán)節(jié)和改革實踐教學方法,制訂實踐教學的標準,增加實踐教學比重,在教學中推行基于項目、基于案例的教學等方法[1]。

        在實踐教學中,根據(jù)學生存在的問題,進行了一系列改進實踐教學的探索。潘麗麗等使用激發(fā)學生學習興趣、合理安排實驗教學內(nèi)容的教學思路[2]。徐一秋等將PBL教學法應用于程序設計實驗教學中,強調(diào)以“問題”為中心,以學生自學為主教學改革[3]。劉群等主要應用分層次實驗教學、調(diào)整教學內(nèi)容、多樣化的實驗教學方法、分組實驗活動、嚴格的考核制度和輔助的實驗教學等方法[4]。陳婷使用“階梯式”“案例式”方法進行課堂教學,“項目驅動式”方法進行實踐教學,并搭建多種自主學習平臺 [5]。

        這一系列程序設計實踐教學改革,對學生提高實踐教學效果,加快掌握知識和技能,提高編程能力起到了一定促進作用。但是在運用所學知識解決實際問題中,通常學生還會遇到分析問題能力差、編程風格不規(guī)范、調(diào)試程序出現(xiàn)的錯誤不知如何解決等諸如此類的問題。

        1 指導思維

        在現(xiàn)實中,學生掌握了程序設計的基本知識,并不能熟練掌握編程。因此在實踐教學中,要以貼合實際生活案例、項目開發(fā)為目標,對容易忽視的薄弱環(huán)節(jié)進行刻意訓練,主要著眼于下面幾個方面:

        1) 根據(jù)實驗的知識點、語法,設計相應案例,其難度呈現(xiàn)階梯式遞增,更利于學生進行訓練;

        2) 根據(jù)所給問題進行分析、設計算法,通過標準的圖示或語言工具展示分析的結果;

        3) 根據(jù)所設計的算法進行編程,一定遵循編程規(guī)范的書寫風格;

        4) 根據(jù)程序運行結果,進行相關的分析;對出現(xiàn)的錯誤分析,學會程序調(diào)試的技能。

        另外,在實驗考核過程中,要求按統(tǒng)一的規(guī)范描述每個實驗題目算法,并在代碼中帶有注釋,尤其是綜合項目的注釋及說明文檔更必不可少;加強學生測試、調(diào)試程序能力的訓練。對于高質(zhì)量圓滿完成設計開發(fā)型和研究創(chuàng)新型實驗的學生可予以適當加分,調(diào)動學生參與每個實驗的積極性。

        2 具體實施方法

        計算機程序解決問題的過程:分析問題、設計算法、編寫程序、調(diào)試運行和檢測結果。在實驗教學中,依照這個過程對常被忽視的一些重要知識或技能,必須進行刻意訓練。

        2.1 案例設計

        在有限的實驗課時掌握更多的知識和技巧,需要精心設計實驗題目。根據(jù)實驗性質(zhì)和目的,可采用“階梯式”設計實驗題目,實驗題目分為基礎驗證型、設計開發(fā)型和研究創(chuàng)新型三個類型,要求熟練掌握基礎驗證型實驗,基本掌握設計開發(fā)型實驗,鼓勵掌握研究創(chuàng)新型實驗[4-5]。

        在設計實驗題目時,結合學生所學的專業(yè),內(nèi)容具有趣味性、實用性,同時依照階梯式思路,一步一步地提出相關編程要求,并引導學生獨立思考和分析問題。問題前后相互聯(lián)系,功能進一步完善,以培養(yǎng)學生邏輯思維能力,引導學會如何解決實際問題。

        以文獻[4]中的“猜數(shù)游戲”、文獻[6]中的“素數(shù)探索”為基礎,參考文獻[7]的實驗案例設計方法,設計“擲骰子游戲”的實驗案例,具體內(nèi)容如下:每個骰子是一個正方體有6面上面標有1、2、3、4、5、6個圓點。擲骰子停止時,骰子朝上的點數(shù)就是該骰子的點數(shù)。

        問題(1) :模擬擲骰子游戲1 000次,編程統(tǒng)計并輸出骰子的6個面各自出現(xiàn)的次數(shù)。

        問題(2) :每次擲兩個骰子,計算點數(shù)之和。如果所得的和為7、11贏;和為2、3或12那么游戲者輸?shù)?;并模擬1000次擲骰子的結果。

        問題(3) :每次擲兩個骰子,計算點數(shù)之和。如果第一次投的點數(shù)和為7或11,則游戲者獲勝;如果第一次投的點數(shù)和為2、3或12,則游戲者輸;如果第一次投的點數(shù)和為4、5、6、8、9或10,則將這個和作為游戲者獲勝需要擲出的點數(shù),繼續(xù)投骰子,直到賺到該點數(shù)時算是游戲者獲勝。如果投擲7次仍未賺到該點數(shù),則游戲者輸。

        問題(4) :每次擲三個骰子,計算點數(shù)之和。讓用戶押大小,并告訴用戶押大小的結果,每局游戲結束時,程序詢問用戶是否再玩一次,如果用戶輸入的回答不是y或Y,程序會顯示勝敗的次數(shù)然后終止。其中“ 大”的點數(shù)范圍是[11,18],“ 小”的點數(shù)范圍是[3,10]。

        問題(5) :每次擲三個骰子,計算點數(shù)之和。用戶押大小,并下注金額和賠率。具體規(guī)則如下:

        ①初始金額為1 000元;

        ②金額為0時游戲結束;

        ③默認賠率為1時,也就是說押對了能得相應金額,押錯了會輸?shù)粝鄳痤~。

        這些問題由易到難,符合認知規(guī)律。通過此案例可以幫助學生熟練掌握控制語句、函數(shù)、數(shù)組、隨機函數(shù)等相關知識,同時能訓練靈活應用所學知識解決實際問題的能力,以提高計算思維能力。

        遵循軟件工程的“高內(nèi)聚低耦合”原則,讓學生進一步明白模塊的作用,并在編程實踐過程中,通過具體案例體驗函數(shù)的好處,以掌握劃分模塊基本技能[8]。要求將一些常見的功能做成函數(shù),形成自己的解題方法,以備在以后開發(fā)中可以復用。

        在學完課程后,可以設計一些常用的小項目(如通訊錄管理、學生成績管理等),要求學生分組完成,一方面培養(yǎng)學生的分析問題的能力,另一方面培養(yǎng)團隊合作能力。

        2.2 算法描述

        “程序=算法+數(shù)據(jù)結構”公式,說明算法在程序設計的核心位置。描述算法的方法有自然語言、結構化流程圖、偽代碼和PAD圖等[8-9]。在高中數(shù)學和信息技術中,學過用流程圖表示解決問題的方法、思路或算法,但學生還不習慣或不能熟練使用流程圖工具。

        在描述算法時,利用更“有序”的思維去想問題,采用“自頂向下,逐步求精”方法。只要邏輯正確,人們都能看得懂就可以了,一般是由上而下按執(zhí)行順序畫出來的。

        在學習編程過程中,學生經(jīng)常是看到題目,就直接編寫程序并上機調(diào)試;寫實驗報告時,會根據(jù)源程序畫出流程圖,這個過程完全是本末倒置,不利于學生分析問題,也不利于開發(fā)效率提高。所以,應要求學生做實驗,使用流程圖進行分析實驗題目,依據(jù)流程圖編程,在報告中畫出相應的流程圖。

        記住一個道理,會寫代碼的不一定會流程圖,會流程圖的一定會寫代碼。描述算法是編程的一項基本功,務必讓學生掌握!

        2.3 規(guī)范化編程

        代碼風格不只是一種良好的習慣,同時反映出一個編程人員的素養(yǎng)。在編程過程中,不僅要實現(xiàn)所要求的功能,而且代碼必須能讓自己或別人讀懂、理解。尤其是在實際項目開發(fā)中,面臨開發(fā)周期長、邏輯復雜情況,開發(fā)團隊一定要保持良好且一致的代碼風格,才能最大化地提高開發(fā)效率[10-12]。

        在實驗教學中,通過上網(wǎng)查閱Google、大廠(如:阿里巴巴、華為等)的編程規(guī)范,制定簡化版的編程規(guī)范,讓學生遵循編程規(guī)范進行編碼。通過每次實驗循序漸進地編程訓練,培養(yǎng)學生養(yǎng)成良好的編程風格,做到標識符要始終保持一致且應有意義、代碼的縮進編排、注釋的表達應該簡潔而準確。

        2.3.1 命名

        好的標識符命名實際是一件困難的事情。標識符對程序而言并不是“成敗攸關”的事,但會影響程序的可讀性、可懂性。目前,業(yè)界提供四種命名規(guī)則:駝峰命名法、匈牙利命名法、帕斯卡命名法和下劃線命名法。每種命名規(guī)則可對不同類別的標識符進行命名,使編程人員可以一目了然。

        在實驗教學中,參照業(yè)界命名法則,制定一種簡化版的命名規(guī)則。要求標識符的命名規(guī)則要始終保持一致,且盡量能達到“見名思義”“見名知類型”的作用。標識符也應既簡短又具有描述性。例如變量名name 比 n 好,student_name 比 s_n 好,name_length 比length_of_persons_name 好。

        可以看到遵循良好的命名規(guī)則和約定,以增強代碼的可讀性和可維護性。在實際編程中,應該培養(yǎng)學生養(yǎng)成良好的標識符命名習慣,以提高代碼的質(zhì)量和效率。

        2.3.2 縮進

        程序代碼格式混亂,沒有縮進或亂縮進,或空行間隔,嚴重影響程序的可讀性和可維護性。因此,編寫代碼時要合理使用縮進,使代碼清晰易讀、層次清楚。同時,還要注重功能塊的劃分,把不同的功能塊之間用一個空行隔開,就更能使程序清楚、整潔。

        在遇到有關類、結構、函數(shù)或過程以及枚舉等復雜程序結構的定義的時候,通常需要將它的內(nèi)容縮進一層。在 C/C++/C#/Java 語言中,大括號是一個非常明顯的標志,凡是遇到大括號,都應該直接聯(lián)想到縮進,也會減少“{”與“}”不匹配的錯誤。

        在指導實驗時,經(jīng)常會有學生說:這個代碼怎么不能編譯?通過代碼整理,發(fā)現(xiàn)有一個函數(shù)里少了半個大括號。要求學生正確地做到了縮進,類似這種大括號忘寫或者不配套的情況就不可能發(fā)生,也便于后期的維護與修改工作。現(xiàn)在的開發(fā)工具都支持“自動縮進”,根據(jù)用戶代碼的輸入,智能判定應該縮進還是反縮進,替用戶完成調(diào)整縮進的工作。可以利用此功能,保持代碼的縮進,可以避免不必要錯誤的出現(xiàn)。

        2.3.3 注釋

        現(xiàn)實中,許多程序員不重視注釋,也很少有寫注釋的習慣。注釋寫起來很痛苦, 但對保證代碼可讀性至關重要。對于學生更是如此,程序一旦出現(xiàn)問題,要找到問題出錯之處必須從頭閱讀程序,對一個比較大代碼更是困難,且費時費力。

        注釋應該書寫規(guī)范且有意義的,讓代碼更有可讀性,能有效地幫助自己或別人理清思路、程序邏輯及查看代碼。在團隊開發(fā)工作中,注釋是代碼的一個重要組成部分,采用標準化的注釋尤為重要,便于程序員之間溝通。

        按照編程規(guī)范的注釋類型,對代碼中的函數(shù)、重要變量、文件、主要功能等方面要求寫出相應注釋。

        在實驗教學中,要求學生在代碼的合適位置,加上適當?shù)淖⑨?。盡量做到先寫注釋,再寫代碼,更有利于理清頭緒。

        注釋固然很重要,但最好的代碼應當本身就是文檔,有意義的類型名和變量名,要遠勝過要用注釋解釋的含糊不清的名字。

        2.4 調(diào)試訓練

        調(diào)試貫穿于程序的整個開發(fā)過程,學會程序調(diào)試是每個編程人員必須掌握的一項技能。通過調(diào)試,可以發(fā)現(xiàn)代碼中隱藏的問題或缺陷,使寫出的程序更健壯和穩(wěn)定。在實驗過程中,程序運行出現(xiàn)錯誤,部分學生會頓感茫然,并不會判斷錯誤類型或位置,也不嘗試使用調(diào)試工具,只是一味舉手請老師幫著調(diào)試或修改。因此,應該加強學生程序調(diào)試能力訓練,具體方法如下:

        首先,對初學者的易犯的錯誤進行歸類總結,通過實例講解程序錯誤的原因及修改方法,包括錯誤實例、錯誤描述、錯誤類型[11,13]。在每次實驗中,專門設計錯誤程序的題目進行針對性的訓練;還可以將學生作業(yè)、實驗過程中的易犯錯誤,進行一起分享、分析和總結,以免學生再次犯錯。

        其次,在程序中設置顯示語句來顯示變量的值,了解程序的動態(tài)運行信息,可以查看并比較不同點的信息。這樣就可確定出錯誤位置并改正錯誤后,就可去掉調(diào)試語句。

        最后,利用編譯器提供的調(diào)試工具。單步調(diào)試是最基本、最重要的調(diào)試手段,主要涉及設置斷點、單步跟蹤、變量觀察等相關技術。通過單步調(diào)試技術,運行到斷點處查看運行狀態(tài),并根據(jù)運行狀態(tài)分析錯誤,找到錯誤位置、修改錯誤。

        讓學生綜合應用這幾種方法進行程序調(diào)試。另外,為了提高調(diào)試程序的效率,將“試錯說”理論應用到調(diào)試工作中,使用“理性創(chuàng)造錯誤”方法[14]進行實驗教學。

        3 結束語

        程序設計類課程是大學計算機基礎教學的核心課程,也是后續(xù)課程的基礎。在程序設計教學中,問題分析、算法表示、編程風格、程序調(diào)試等是非常重要的內(nèi)容,但因為不會影響程序運行結果,也是經(jīng)常被學生忽視的知識點。在實踐教學中,對學生這幾方面的進行針對性訓練,以提高學生分析問題和解決問題的能力,培養(yǎng)良好的編程風格。因此,要達到良好的教學效果,真正培養(yǎng)出有編程能力的學生,實驗教學環(huán)節(jié)一定要得到應有的重視。事實表明,學生養(yǎng)成良好的程序設計的習慣,是學生程序設計素養(yǎng)的要求,對提高學生的分析和解決問題的能力有很大的幫助,同時也對未來職業(yè)發(fā)展有著重要意義。

        猜你喜歡
        案例設計程序設計
        基于Visual Studio Code的C語言程序設計實踐教學探索
        計算機教育(2020年5期)2020-07-24 08:52:56
        從細節(jié)入手,談PLC程序設計技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        重慶市政府債務風險案例研究設計
        高職高專院校C語言程序設計教學改革探索
        案例教學法在VB中的應用
        一對一個性化教學對高中生英語學習興趣的案例研究分析
        案例教學在統(tǒng)計學教學中的應用與探索
        考試周刊(2016年18期)2016-04-14 09:38:54
        游戲案例在面向對象程序設計教學中的應用
        OBE理念下基于Greenfoot的Java程序設計課程教學改革
        “藥品與健康”項目學習案例設計
        科教導刊(2015年21期)2015-08-05 16:47:12
        国产成人+亚洲欧洲+综合| 国产毛片视频一区二区| 亚洲国产成人精品久久成人| 久久免费亚洲免费视频| 成人免费播放视频777777| 无码一区二区三区在线| 国产亚洲婷婷香蕉久久精品| 国产毛片A啊久久久久| av网站韩日在线观看免费| 精品日本一区二区三区| 亚洲精品无码高潮喷水a片软| 9lporm自拍视频区| 欧美人妻日韩精品| 欧美韩日亚洲影视在线视频| 污污污国产免费网站| 亚洲熟少妇一区二区三区| 精品精品久久宅男的天堂| 人与动牲交av免费| 精品久久久久久中文字幕大豆网| 亚洲国产成人AV人片久久网站| 亚洲中文字幕无线乱码va| 中文字幕av熟女中文av| 日韩av午夜在线观看| 国产人妻人伦精品1国产盗摄| 亚洲欲色欲香天天综合网| 国产毛片A啊久久久久| 日本免费观看视频一区二区| 色天使综合婷婷国产日韩av| 中国一级免费毛片| 久久五月精品中文字幕| 日韩在线 | 中文| 黄瓜视频在线观看| 国产精品国产三级在线高清观看| 亚洲av成人波多野一区二区| 国产自拍精品一区在线观看| 亚洲国产精华液网站w| 亚洲免费天堂| 日韩成人高清不卡av| 亚洲av日韩av女同同性| 国产成年女人特黄特色毛片免| 久久婷婷是五月综合色狠狠 |