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

        ?

        C程序設計課程案例教學內容研究與實踐

        2023-05-30 06:36:14楊琦張曉月韓鑫
        高教學刊 2023年12期
        關鍵詞:搜索算法案例教學程序設計

        楊琦 張曉月 韓鑫

        摘? 要:針對傳統(tǒng)C語言課程案例教學內容不足的問題,分析開設C程序設計課程案例教學的重要意義,提出以實驗為基礎、以項目為導向的程序設計案例教學方案,并結合教學案例說明程序設計的案例教學效果。

        關鍵詞:程序設計;案例教學;EasyX庫;A*算法;搜索算法

        中圖分類號:G642? ? ? ? 文獻標志碼:A? ? ? ? ? 文章編號:2096-000X(2023)12-0112-04

        Abstract: In view of the shortcomings of traditional C programming teaching, this paper analyzes the significance of setting up C programming case teaching, and puts forward a experimental-based and project-oriented teaching scheme of C programming. Combined with the teaching cases, the teaching effect of programming is illustrated.

        Keywords: programming; case teaching; EasyX; A* algorithm; search algorithm

        C程序設計是計算機專業(yè)和一些非計算機專業(yè)(如數學、數理基科班等院系與專業(yè))的重要基礎。隨著互聯(lián)網技術和信息技術的發(fā)展,C程序設計對計算機應用的設計和實踐工作起到非常重要的作用。C語言程序設計則是程序設計者的入門語言。C語言不僅可以幫助其學習其他的計算機語言,如JAVA語言、Python語言等,還能設計高級的應用軟件,硬件對C語言的能力要求更高。目前很多高校都將C語言作為程序設計入門課程,但C語言標準中不包括有關圖形界面等高級編程技術的內容,這在很大程度上限制了學生利用C編程解決問題的能力,使學生在學習完該課程之后,僅能編寫控制臺窗口的命令行程序。

        EasyX是針對C/C++的圖形庫,可以幫助C語言初學者快速學習圖形和游戲編程。比如,可以用VC+EasyX快速地用幾何圖形畫一個迷宮背景,或者一個可以上下移動的小人,可以編寫五子棋、捉放曹和飛行棋等小游戲,可以練習圖形學的各種算法,等等。EasyX庫與OpenGL相比,其學習成本低得多,非常適合本次的游戲開發(fā)。

        一? 設計C程序設計案例教學的意義

        對于大學一年級的學生而言,在學習C語言基礎之后,進一步利用C語言進行游戲開發(fā),可以彌補C語言學習的短板,認知軟件項目開發(fā)需要知識、技術和技能,并深刻理解數據結構與尋路算法在程序開發(fā)中的應用。

        (一)? 增加C語言教學內容

        在C#、VB.NET和Java等語言中,圖形界面設計都是編程的重要組成部分。將圖形界面和圖形圖像兩方面的編程技術統(tǒng)稱為圖形化編程。而一般的C語言程序設計課程中卻不包含這部分內容,不能不說這是一種遺憾。本課程使用C語言和EasyX庫相結合來完成游戲中動畫的制作、圖像的處理,彌補了C語言無圖形化編程的遺憾。

        (二)? 認知軟件項目開發(fā)需要知識、技術和技能

        軟件開發(fā)流程是軟件設計思想和方法的一般過程。軟件開發(fā)流程具體的實施步驟如下:先對軟件進行需求分析,了解所要開發(fā)的軟件的具體功能;然后對概要進行設計,如系統(tǒng)的基本處理流程等;其次,對算法、數據結構等進行詳細的設計;再次,程序員對上述所描述的需求和設計進行編程實現(xiàn),并對程序進行調試,以便最大地滿足顧客的需求;最后還需要對軟件進行維護、升級處理與報廢處理。通過本課程迷宮游戲項目的訓練,可使學生對軟件開發(fā)有更深刻的理解。

        (三)? 數據結構與尋路算法在程序開發(fā)中的應用

        本次課程要開發(fā)的游戲可以由玩家直接操作,也含有AI模塊。AI模塊中用得最多的是尋路算法,而本次游戲AI設計的基礎就是高效找到最短路徑。而AI的開發(fā)中尋路算法必不可少,本次項目主要利用A*搜索算法來搜索最短路徑,這一算法在游戲AI的開發(fā)中被廣泛應用,是一種常用的啟發(fā)式算法,掌握此方法有助于今后的學習與開發(fā)。

        二? 優(yōu)化C程序設計案例教學的方案

        C語言程序設計課程案例教學主要講授利用C語言進行迷宮游戲開發(fā),學生需要具有一定的C語言基礎。如果學生已經具備了較好的C語言基礎,那么可以在后續(xù)課程中直接講解與游戲開發(fā)相關的知識點,如背景的繪制、圖像的顯示、定時器、背景音樂的添加和A*搜索算法等內容。由于C語言的基礎知識和游戲開發(fā)的知識點較多,若放入一門課程中,會使任務難以完成。本課程的案例教學方案是通過優(yōu)化教學內容、加強實踐訓練和改善考核方法3個方面來提高學生軟件開發(fā)的能力。

        (一)? 程序設計案例教學課程的時間安排

        案例教學每期實訓10天,共2周的時間,周六周日正常休息。每天的作息時間為上午8:30—11:30,下午1:00—4:00,每天共6個小時。

        (二)? 制定合適的教學內容

        C程序設計案例教學課程給定一個迷宮游戲,該問題涉及矩陣和最短路徑的尋路算法,學生以基礎內容為模板,在此基礎上靈活創(chuàng)新。該方案既鍛煉學生的基本能力,又培養(yǎng)學生的創(chuàng)新思維能力。整個實踐過程寓教于樂,學生學習興趣很高。

        由于C語言游戲開發(fā)所涉及的教學內容很多,在一門課程中很難完成全部教學內容的講解工作,為此可以將C語言游戲開發(fā)分為兩個部分。一部分是核心教學,包括利用EasyX庫進行圖形界面設計編程、圖像顯示、定時器編程、背景音樂添加編程和A*搜索算法設計;另一部分是靈活設置內容,包括C語言的數組、函數、指針和結構體及其他最短路徑尋徑算法的基本知識。基礎內容是教學核心內容,是必選的教學內容;靈活內容是可選的模塊,根據學生編程能力、專業(yè)需求等差異,選擇適當的模塊作為教學內容。在教學核心內容中,應重點講解以下兩方面的內容。

        1? EasyX庫

        EasyX是針對C/C++的圖形庫,對于C語言的初學者而言,EasyX上手速度快,并且能在圖形和游戲方面進行編程。例如,俄羅斯方塊、迷宮等小游戲就可以利用VC+EasyX進行編寫,通過編寫這些游戲程序,也可以對圖形中的相關算法進行練習。

        本次游戲開發(fā)以VS2019為編譯環(huán)境,相應的EasyX庫為“EasyX庫2019冬至版”,如果編譯環(huán)境為VS2015以上版本,則需要下載其他版本。EasyX庫的安裝可以選擇安裝文件自動安裝,若自動安裝失敗,則需要手動配置。

        2? A*搜索算法

        本次課程的重點在于利用C語言和EasyX庫開發(fā)迷宮游戲,尋路算法必不可少,該游戲開發(fā)主要用到的是A*搜索算法。A*搜索算法是一種靜態(tài)路網中求解最短路徑最有效的直接搜索方法,能夠解決很多搜索類的問題。該算法對距離的估算和實際距離值很接近,搜索速度也很快。該算法的公式表示為f(n)=g(n)+h(n),式中:f(n)指從初始節(jié)點經過n個節(jié)點到達目標節(jié)點的代價距離;g(n)指從初始節(jié)點到節(jié)點n的實際距離;h(n)指從節(jié)點n到目標節(jié)點的最佳路徑的估計距離。

        (三)? 強化實驗和工程訓練

        C語言作為一門程序設計課程不僅需要純理論教學,也需要足夠的上機練習。如果想達到更好的教學效果,需要將實踐環(huán)節(jié)分成3個層次,即基礎實驗、項目重建和修改及最終考核。其中,基礎實驗是C語言課程學習的基本內容,需要在課程本身的實驗學時內完成。這些實驗涉及背景的繪制、圖像顯示、鍵盤的響應、定時器、添加背景音樂和A*搜索算法編程實現(xiàn)。

        項目重建和修改是讓學生基于教師的原程序,修改或擴展部分功能,增加一些新功能。學生需要獨自完成項目的重建,這項實驗難度偏中等。通過教師在課堂上講解實驗之后學生獨自實現(xiàn),并采用實驗課答疑的方式完成疑難解答,通過這種模式的教學,學生可以熟悉整個小型軟件開發(fā)過程,包括最初的模塊設計、代碼編寫及代碼的調試。

        最終考核是以實戰(zhàn)訓練為主的實踐環(huán)節(jié),模仿實踐軟件開發(fā)過程,一般由3~4人一組,完成一個小型軟件項目。本次C程序設計案例教學課程的最終考核是按小組設計完成一個迷宮游戲。每個小組可進行獨特地創(chuàng)新,使迷宮游戲具有獨特性。最終由每個小組選派代表進行PPT的講解,展示本小組的作品成果,展示方式可以進行現(xiàn)場演示游戲或者錄制視頻。

        (四)? 改進課程考核方法

        最終提交的游戲項目功能完整,項目演示無錯誤,代碼書寫規(guī)范。游戲必須完成模板給定的基本功能,此外還需要有自己的創(chuàng)新,例如添加新的關卡,不同的背景圖、人物圖和游戲方式等,最終考核成績將根據基本功能的完成度與程序中的創(chuàng)新點給出。每一位學生的成績將根據其完成的工作結合小組項目成績給出。

        程序設計課程的考核方式是平時成績和最后考核的加權平均,其中平時成績占30%,最后考核占70%。平時成績包括日志書寫、隨堂作業(yè)和出勤率,這些考查主要用于督促學生的日常學習。

        學生的最終評分是以小組為單位完成的,組長最終以PPT的形式向所有師生報告。每個小組的成績由學生的網絡成績和教師的打分成績綜合評價,教師根據小組成員的表現(xiàn)和每個小組成員的背靠背貢獻率,得到每個學生的實踐成績。在網絡系統(tǒng)的幫助下,學生的評分過程可以很快完成。

        綜上所述,本課程的教學目的是培養(yǎng)學生基本的游戲開發(fā)能力,培養(yǎng)學生的創(chuàng)造性思維能力,提高學生的學習興趣。這一目標應反映在評價的所有階段。

        三? C程序設計案例教學的效果

        為了進一步完善人才培養(yǎng)體系,深化教學和課程體系改革,提高人才培養(yǎng)質量,加強實踐教育,促進教育國際化進程,學校決定實施暑期C程序設計案例教學課程計劃。該計劃從2013年開始,對西安交通大學建立現(xiàn)代大學教學管理體系具有重大而深遠的意義。經過八年的實踐,取得了較好的教學成果,改革所帶來的教學質量提升總體上可歸納為以下3點。

        (一)? 提高學生編寫代碼的能力

        傳統(tǒng)的C語言教學存在重視語法教學,計算思維和編程能力培養(yǎng)不到位、實驗教學缺乏完善的步驟和量化指標、考核方式單一及學生的實驗作業(yè)敷衍了事,甚至存在抄襲等一些問題。這些弊端使學生對C語言的學習興趣不足,只懂語法,實踐能力差。通過C程序設計案例教學的課程,既可以鞏固C語言的基礎知識,提高學生的編程能力,又可以培養(yǎng)學生的創(chuàng)新思維能力,提高學習興趣。

        (二)? 加強學生軟件模塊化設計及算法設計能力

        傳統(tǒng)的C語言教學中的上機題目都是基于具體章節(jié)所設計的,對各章節(jié)知識點融合的上機題目少之又少;而且學生上機的題目代碼量較少,對編程能力的提高促進作用較小。通過C程序設計的案例教學課程,讓學生做迷宮游戲開發(fā)的項目,可以讓學生靈活應用C語言的數組、函數、指針和結構等知識,對C語言語法有更深的理解,學生更容易寫出結構模塊化、流程合理的應用程序,編寫的程序產生的錯誤也更少。通過對迷宮游戲的制作,對相關的算法如A*搜索算法也有了進一步的了解。

        (三)? 培養(yǎng)學生對C語言編程技術的興趣

        目前,學生接觸到的計算機系統(tǒng)軟件或應用軟件大多具有美觀、易用的用戶界面,用C語言設計的程序界面單調,操作繁瑣。比較二者,學生會有心理上的差距,對C語言不樂觀。另一方面,掌握和應用C語言語法規(guī)則也是學生學習的主要障礙,當程序出錯時,甚至要從整個程序中找出錯誤。在這種情況下,如果教師仍然采用傳統(tǒng)的方式組織教學內容和教學,盲目地解釋語法,不給出生動有趣的例子,學生將不可避免地失去對C語言學習的興趣和信心。而C程序設計案例教學課程很好地解決了這一問題,通過制作迷宮小游戲這一貼近生活化的問題,老師有針對性地進行指導,以此提升學生對編程的興趣。

        根據對學生興趣提升的調查結果,C程序設計案例教學課程提升了學生對編程的興趣,配合EasyX庫很容易制作出迷宮游戲漂亮的界面,插入好聽的音樂,從而增強了學生的成就感。

        四? 課程實驗結果及分析

        通過該課程的學習,學生都能較好地完成自己的案例,開發(fā)出自己的游戲,部分學生在學習的基礎上進行創(chuàng)新,制作出了很優(yōu)秀的作品。下面以一組學生的實驗作品為例來展示學生的學習情況。學生完成的項目是迷宮游戲。在實訓課程中,學生將以團隊的形式進行開發(fā),開發(fā)過程模擬真實的開發(fā)環(huán)境,包括項目背景、需求分析、概要設計、詳細設計、代碼編寫及軟件測試。整個軟件開發(fā)的流程全部進行一遍,每個學生都將參與到軟件開發(fā)的過程中,有助于學生掌握項目分析的基本能力和具體的開發(fā)技術,培養(yǎng)團隊開發(fā)能力。

        有一組學生將游戲設置為三種模式:休閑模式、劇情模式和極限模式,以便給玩家?guī)砀玫挠螒蝮w驗。1)休閑模式難度較低,迷宮構成簡單,大小也較小,適合玩家在空閑時休閑娛樂,游戲界面如圖1所示。2)劇情模式難度中等,并且有故事情節(jié),游戲開始之前,玩家還能選擇自己喜歡的角色。玩家在游戲過程中,一步步去探索未知領域,少許的神秘感與緊張感更能引發(fā)玩家興趣。3)極限模式,難度極高,迷宮圖案錯綜復雜,面積更大,有自動尋路功能,還設有倒計時功能,每走一步還會加速時間流逝,這樣嚴苛的條件,極具挑戰(zhàn)性,帶給高玩挑戰(zhàn)極限的樂趣。自動尋路A*搜索算法示意圖如圖2所示。

        這些作品都是學習了10天的非計算機專業(yè)的學生制作出的游戲。學生從一開始對編程感到畏懼,到后來在課下積極編程,顯著提升了學生對程序設計的興趣。這種教學方式為將來給非計算機專業(yè)的學生講解程序設計提供了優(yōu)秀的借鑒。

        五? 結束語

        針對傳統(tǒng)C語言教學中不包含圖形界面等高級編程內容,僅能編寫控制臺窗口的命令行程序和學生利用C語言編程能力的訓練不足等問題,開設C程序設計案例教學課程無疑是最好的選擇。學生可通過對本次課程的實踐,提高編寫程序的能力、對軟件的整體開發(fā)過程有一定的把握,并了解相關搜索算法,提高學生對編寫程序的興趣。目前已有1 800多名學生參加了這個課程實驗,整體反映良好,學生對C程序設計課程的教學內容有較高的熱情。

        “案例講解+案例改進+學生創(chuàng)作”的教學模式取得了非常大的成功,將游戲案例開發(fā)流程貫穿課程始終,可以有效提高學生的軟件開發(fā)能力,解決傳統(tǒng)C程序設計教學內容不足的問題,培養(yǎng)了學生創(chuàng)新創(chuàng)業(yè)能力。

        參考文獻:

        [1] 喬亞男.基于積極注意力管理思想的在線環(huán)境教學設計[J].高教學刊,2021,7(28):106-108,113.

        [2] 陳龍,崔舒寧,房琛琛.基于項目驅動的開放實驗教學研究——以“Photoshop入門到提高”課程為例[J].工業(yè)和信息化教育,2020(5):43-47.

        [3] 仇國巍,趙英良,衛(wèi)顏俊,等.非計算機專業(yè)Qt程序設計教學探索與實踐[J].計算機教育,2019(3):52-54.

        [4] 楊琦.“VC++程序設計”課程教學內容研究與實踐[J].計算機教育,2007(24):65-66.

        [5] 喬亞男,程向前,謝濤.國內外大學計算機學科競賽培訓模式研究[J].高教學刊,2016(16):7-8,10.

        [6] 劉建明,趙子巖,季翔.物聯(lián)網技術在電力輸配電系統(tǒng)中的研究與應用[J].物聯(lián)網學報,2018,2(1):88-102.

        [7] 高洪皓,劉安康,鄒啟明,等.面向軟硬件融合的Arduino機械控制小車課程實踐研究[J].計算機教育,2019(1):76-79.

        [8] 楊振堃,胡春燕.基于Arduino的智能專業(yè)實踐教學設計[J].計算機教育,2015(18):95-98.

        [9] 王陽萍,李玉龍,王文潤,等.基于Arduino的虛擬現(xiàn)實交互系統(tǒng)實驗案例設計[J].計算機教育,2018(4):16-19.

        [10] 王剛,李穎,徐謙.面向無人駕駛應用的人工智能創(chuàng)新實驗設計[J].計算機教育,2019(2):15-18.

        [11] 嵩天,黃天羽.Python語言程序設計教學案例新思維[J].計算機教育,2017(12):11-14,19.

        [12] 楊焱超,饒文碧,石兵,等.基于企業(yè)級實驗教學的Java混合教學模式與教學內容改革[J].計算機教育,2021(6):167-170.

        [13] 趙魯杭,霍朝霞,鄒玲,等.基于教學大綱的線上實驗教學資源體系建設、教學實踐及思考[J].實驗技術與管理,2021,38(6):226-229.

        [14] 教育部高等學校大學計算機課程教學指導委員會.大學計算機基礎課程教學基本要求[M].北京:高等教育出版社,2017.

        [15] 喬亞男,李波,謝濤.基于電子教具的大學計算機基礎混合式教學研究[J].工業(yè)和信息化教育,2016(11):32-36.

        基金項目:2020年教育部第一批產學合作協(xié)同育人項目“基于云端財務數據分析實驗基地建設”(202002159042);2019年教育部第一批產學合作協(xié)同育人項目“校企融合計算機專業(yè)創(chuàng)新人才培養(yǎng)模式研究與探索”(201901263025)

        第一作者簡介:楊琦(1968-),男,漢族,陜西三原人,碩士,高級工程師。研究方向為圖像處理,人工智能,信息系統(tǒng)。

        猜你喜歡
        搜索算法案例教學程序設計
        改進的和聲搜索算法求解凸二次規(guī)劃及線性規(guī)劃
        基于Visual Studio Code的C語言程序設計實踐教學探索
        計算機教育(2020年5期)2020-07-24 08:52:56
        從細節(jié)入手,談PLC程序設計技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        高職高專院校C語言程序設計教學改革探索
        案例教學在機械創(chuàng)新設計課程中的應用
        考試周刊(2016年77期)2016-10-09 12:16:11
        馬克思主義基本原理概論課案例教學的幾點思考
        大學教育(2016年9期)2016-10-09 08:13:04
        EXCEL在《投入產出法》案例教學中的應用
        科技視界(2016年20期)2016-09-29 12:10:02
        《運籌學》教學模式探討
        科技視界(2016年20期)2016-09-29 11:38:37
        基于汽車接力的潮流轉移快速搜索算法
        PLC梯形圖程序設計技巧及應用
        亚洲精品一区久久久久久| 人妻系列中文字幕av| 蜜桃av噜噜一区二区三区策驰| 久久久久亚洲av成人网人人网站 | 尤物网址在线观看| 日韩精品区欧美在线一区| 五月天亚洲av优女天堂| 国产精品国产三级国产专播下 | 长腿丝袜在线观看国产| 亚洲国产成人极品综合| 好日子在线观看视频大全免费动漫| 亚洲国产欧美日韩一区二区| 丝袜美腿亚洲综合玉足| 久久精品免费中文字幕| 亚洲老妈激情一区二区三区| 日韩欧美国产丝袜视频| 久久久一本精品久久久一本| 51国产偷自视频区视频| 国产人妻精品一区二区三区不卡| 亚洲一区二区久久青草| 蜜桃在线高清视频免费观看网址| 中文字幕精品一区二区精品| 日本一区午夜艳熟免费| 女人被躁到高潮嗷嗷叫免费软| 一级午夜理论片日本中文在线| 白嫩人妻少妇偷人精品| 亚洲熟妇无码八av在线播放| 国产麻豆一精品一AV一免费软件| 五十路在线中文字幕在线中文字幕 | 亚洲熟妇无码八av在线播放| 亚洲AⅤ无码片一区二区三区| 免费黄色福利| 日韩女同一区在线观看| 狠狠综合久久av一区二区蜜桃| 国产做a爱片久久毛片a片| 日本欧美小视频| 午夜精品一区二区三区视频免费看| 18禁在线永久免费观看| 中文字幕人妻中文av不卡专区| 国产在线观看精品一区二区三区| 丝袜美腿高清在线观看|