999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2023-05-30 06:36:14楊琦張曉月韓鑫
高教學刊 2023年12期
關鍵詞:案例教學

楊琦 張曉月 韓鑫

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

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

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

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

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

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

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

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

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

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

二? 優化C程序設計案例教學的方案

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

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

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

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

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

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

1? EasyX庫

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

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

2? A*搜索算法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

四? 課程實驗結果及分析

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

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

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

五? 結束語

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

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

參考文獻:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

猜你喜歡
案例教學
職業教育院校如何開展PHOTOSHOP課程教學
管理信息系統案例教學探討
EDA計算機仿真技術在“電子技術”教學的應用研究
基于工程項目為載體的案例教學方法探討
科技視界(2016年22期)2016-10-18 17:06:51
鋼琴對環境污染的探討
科技視界(2016年21期)2016-10-17 18:48:38
淺議課堂教學與管理的體會
科技視界(2016年21期)2016-10-17 18:33:32
案例教學在機械創新設計課程中的應用
考試周刊(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
主站蜘蛛池模板: 国产欧美日本在线观看| 无码AV动漫| 美女一级免费毛片| 制服丝袜在线视频香蕉| 亚洲国产日韩一区| 四虎影视永久在线精品| 亚洲精品你懂的| 精品少妇人妻无码久久| 高潮毛片免费观看| 国产区福利小视频在线观看尤物| 最新日本中文字幕| 亚洲天堂视频在线播放| 91免费国产在线观看尤物| 香蕉久久国产精品免| 国产乱论视频| 91原创视频在线| 国产精品女熟高潮视频| 国产精品免费久久久久影院无码| 麻豆国产精品视频| 干中文字幕| 福利视频一区| 爆操波多野结衣| 国产在线一区视频| 永久免费av网站可以直接看的| 香蕉久久国产超碰青草| 香蕉视频在线精品| 99性视频| 99这里只有精品免费视频| 亚洲高清无在码在线无弹窗| 亚洲系列无码专区偷窥无码| 激情亚洲天堂| 免费人成又黄又爽的视频网站| 5555国产在线观看| 久久人与动人物A级毛片| 思思热在线视频精品| 亚洲天堂高清| 成人免费视频一区| 无码电影在线观看| 美女潮喷出白浆在线观看视频| 亚洲欧美一级一级a| 精品久久久久无码| 99视频在线精品免费观看6| 一级福利视频| 免费A∨中文乱码专区| 真实国产乱子伦视频| 亚洲欧美不卡视频| 伊人狠狠丁香婷婷综合色| 久久精品aⅴ无码中文字幕| 天天综合网色| 亚洲天堂网在线视频| 高h视频在线| 呦女亚洲一区精品| 狠狠干欧美| 女同久久精品国产99国| 国产精品欧美日本韩免费一区二区三区不卡 | 亚洲黄网视频| 午夜啪啪网| 91在线激情在线观看| 欧美精品一区在线看| 精品福利国产| 久久无码高潮喷水| 日本人妻一区二区三区不卡影院 | 色悠久久综合| 3344在线观看无码| 国产精品美人久久久久久AV| 色妞永久免费视频| 亚洲 欧美 日韩综合一区| 亚洲成a人片77777在线播放| 色妞www精品视频一级下载| 精品无码一区二区三区在线视频| 高清视频一区| 国产成人AV男人的天堂| av在线手机播放| 婷婷六月综合| 欧美日韩中文国产va另类| 国产无码精品在线播放 | 国产一区在线视频观看| 亚洲91精品视频| 国产91视频观看| 国产精品林美惠子在线播放| 人妻丰满熟妇AV无码区| 九色在线观看视频|