• 
    

    
    

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

      ?

      基于ACM競賽模式的C程序設計教學改革研究

      2021-04-20 12:17張沫章彪
      電腦知識與技術(shù) 2021年7期
      關(guān)鍵詞:C程序設計教學改革

      張沫 章彪

      摘要:對編程類課程而言,傳統(tǒng)教學存在填鴨式理論教學、實踐教學環(huán)節(jié)松軟流于形式等不足,教學效果不理想。該文針對程序設計類課程教學中存在的問題,給出了基于ACM競賽模式、運用在線編程測試OJ平臺來開展程序設計類課程教學,收到了較好的教學效果。

      關(guān)鍵詞:ACM競賽;教學改革;C程序設計;OJ平臺

      中圖分類號:G642? ? ? ? 文獻標識碼:A

      文章編號:1009-3044(2021)07-0165-02

      Abstract: For programming courses, the traditional teaching method has some shortcomings, such as cramming theoretical teaching and practical teaching, which is not satisfactory. In view of the problems existing in the teaching of programming courses, this paper presents the teaching of programming courses based on ACM competition mode and online programming test OJ platform, which has achieved good teaching effect.

      Key words: ACM competition; teaching reform; C programming course; OJ platform

      C語言是計算機專業(yè)的通識基礎(chǔ)課程,旨在培養(yǎng)學生的邏輯思維能力、創(chuàng)新實踐能力和解決實際問題的能力,為后續(xù)專業(yè)課程的學習奠定良好的基礎(chǔ)。該課程具有表達能力強,簡潔緊湊、靈活方便,程序設計自由度大,生成目標代碼質(zhì)量高,程序執(zhí)行效率高等優(yōu)勢。 由于c語言的特點決定了學習者本身需要很好的基礎(chǔ),而很多學生是第一次接觸c語言,沒有編程基礎(chǔ),這也就使得學生很害怕上這門課程,學習進度也比較緩慢。針對這種情況,如何教好學生這門課,讓學生愛學能學,對提高學生的程序設計能力至關(guān)重要。

      1 傳統(tǒng)教學效果不理想

      1.1 理論與實踐脫節(jié),學生學習興趣欠缺

      在課堂上學習的時間有限,理論知識點豐富,使得教師必須花費大量的時間來講理論部分, 這樣的話學生實踐的時間很少沒有進行實際操作,無法深刻把握,課堂后缺乏自主學習的能動性,“滿堂灌填鴨式”教學也讓學生沒有學習的興趣。

      此外,學生的實驗結(jié)果通常課程結(jié)束后才公布。只要完成實驗內(nèi)容,大多數(shù)學生就不再進行深入探索。另一方面,實驗方案激勵不足,學生之間沒有形成良好的競爭氛圍,所以整體教育質(zhì)量也沒有得到提高。

      1.2 教師教學手段單一

      根據(jù)學生之前學年學習的結(jié)果來看,發(fā)現(xiàn)學生們“事前熱情,事后乏力”,因為他們?nèi)狈Ρ匾膶W習韌性。還有就是在高等職業(yè)教育機構(gòu)中,c語言教學內(nèi)容過于強調(diào)基本原則和基本業(yè)務,并且,“碾壓式教學”也沒有考慮到高等教育的專業(yè)性質(zhì)和知識基礎(chǔ)薄弱的學生。? 教學中,教師的方法缺乏多樣性,僅僅借助一些經(jīng)典的解釋和驗證示例,這也就讓許多學生在使用C語言的時候不能獨立解決出現(xiàn)的問題,或者必須依靠教師傳遞的代碼,然后把這些代碼直接執(zhí)行復制和粘貼操作,對自己所寫的程序完全不了解,脫離實際應用,造成從學生不再聽老師講課,學習出現(xiàn)困難的時候也不再向老師尋求幫助,消極應對,使得教學效果較差。

      1.3 實踐教學環(huán)節(jié)松軟,流于形式

      該課程實踐的時間嚴重不足,以浙江郵電職業(yè)技術(shù)學院為例, 2016年這門課程共設置72小學時,實際操作36學時,理論課堂36學時。學習的時候?qū)W生們主要聽老師講解,自己操作的時間幾乎沒有,然而也只能在課堂上問老師,但老師并不總是能解決課堂上所有學生的問題。溝通平臺也沒有搭建起來,師生溝通機制也沒有形成,造成實踐無法發(fā)揮最佳效果。另外,學生學習通常都是被動式的接受,低年級學生往往也傾向于“被動”獲得知識,不能主動從網(wǎng)上學習,也不能獨立學習。也就是說,他們必須在老師的指導下才能進行試驗課程的學習。

      1.4 考試機制不合理,僅僅“為考而考”

      以往教學中,學生在課堂學習、完成課后練習 、實驗室報告、期末測評等方面的學習成績都會受到考核,而這些考試通常只涉及客觀問題,表現(xiàn)的是學生的記憶和敘述能力,而不能表現(xiàn)學生分析和解決問題的編程能力。采用這種檢驗方法過于注重形式評價,試驗作業(yè)的期末評價需要以學生實驗操作水平作為考核標準。然而以往都沒有實行這樣的考核方法,只能以卷面考試來代替。

      2 基于ACM 競賽模式的C語言課程教學探索

      為了解決傳統(tǒng)教學存在的不足,我們引入了ACM競賽模式下的教學改革策略。ACM競賽是一項旨在展示大學生創(chuàng)新能力、團隊精神和在壓力下編寫程序、分析和解決問題能力的年度競賽,是世界上最具知名度的大學生計算機編程技能競賽之一。競賽由至多3名在校學生組隊,每隊分配一臺電腦,競賽時長歷時5個小時,考驗團隊創(chuàng)新和團隊合作,考核學生在開發(fā)新軟件時的創(chuàng)造性,還能測試他們在壓力下工作的能力。經(jīng)過多年的發(fā)展,該競賽已經(jīng)發(fā)展成為最具影響力的大學生程序設計競賽,目前已經(jīng)已有很多優(yōu)秀的OJ系統(tǒng)。國內(nèi)知名度較高的有北大的POJ、哈工大的HOJ、浙大ZOJ、杭州電子科技大學的HOJ、??途W(wǎng)等;國外比較知名的系統(tǒng)有OJ SGU、UVa Online Judge等。這些平臺共有的特點有:

      2.1 題目涉及領(lǐng)域廣,對學生要求高

      ACM從難度來看,有水問題(簡單問題)、中等問題和高難度問題這三個層次,平臺主題包括排序、搜索、遞歸、分區(qū)、圖形算法、數(shù)據(jù)結(jié)構(gòu)、搜索算法、動態(tài)規(guī)劃、數(shù)學問題、計算幾何和具有多種算法的合成類算法主題;教師和學生按照每個問題后的成功率來確定問題目標的難度,并在教學中運用這一特點進行分層教學。

      2.2 磨煉學生的創(chuàng)新和團隊協(xié)作能力

      競賽由三名學生組成小組,他們共用一臺英語計算機,限時5個小時團隊協(xié)作進行C、C++或Java編程程序,鼓勵學生在開發(fā)新軟件時表現(xiàn)出創(chuàng)造性,并且還能測試他們在壓力下工作的能力。

      2.3 磨煉學生的抗高壓能力

      這些平臺每個科目都需要大量的操作時間和內(nèi)存來測試學生算法的優(yōu)越性;建立足夠多的方案測試實例,用這樣的方法來測試學生能否充分考慮問題;程序的返回結(jié)果須遵守非常嚴格的格式要求,以測試學生編寫代碼的嚴格程度;提交問題的總次數(shù)用罰時的方法進行,每多提交一次,總運行時間多幾分鐘,這是為了測試學生解決問題的速度和能力。這種評價機制要求學生具備很強的抗壓性,這種模式的長期教學可以就學生的理解和解決問題這兩方面的能力得到很好的發(fā)展。

      2.4 采用在線評測系統(tǒng),追求高質(zhì)量程序

      這些平臺擁有足夠多的練習和競爭所需要的習題,并為每個平臺提供了大量的實驗使用實例。學生的程序代碼會在線上傳送,而且代碼會在結(jié)果頁面上以不同的區(qū)域進行測試精確度、總時間、記憶體使用率即內(nèi)存消耗等等。學生們評價以結(jié)果為標準進行調(diào)整。此方法是對學生分析問題、資料點整合、算法最優(yōu)化、內(nèi)存的分配和控制等方面能力的考核測試。

      3 課程教與學中引入OJ平臺和ACM競賽模式

      3.1 在理論教學中引入ACM 競賽

      1)任務驅(qū)動

      在某些理論教學內(nèi)容中,可以從ACM的基礎(chǔ)題目中選取若干個相似的簡單題目,學生通過解題,可以加深對理論的理解。

      2)翻轉(zhuǎn)課堂

      對于指針等最難掌握的知識點,通過事先編寫好代碼,學生可以事先好好理解以下代碼,并在課堂開始時在ACM平臺上進行測試,然后著重把握理論內(nèi)容中最困難的點,使得課堂教學效率得到提高。

      3.2 基于ACM的實踐教學

      理論教學結(jié)束后,選擇了一些試題進行理論解釋和強化,平臺會根據(jù)學生提交的代碼,給出相應的結(jié)果,學生能夠根據(jù)結(jié)果判斷該程序是否正確,從而避免了再去設計自己的程序測試用例。通常情況下,學生不會參與c程序設計中的軟件測試,也不會體驗到設計測試的示例。程序運行后,程序運行沒有出現(xiàn)錯誤通常也被識別為正確,比如在一次編程中,一名學生在輸出結(jié)果時沒有換行, 運行一次的答案是正確的,該學生誤認為換行與否不重要,這樣做明顯不正確。假若在ACM平臺上提交程序,如果對問題回答不正確或輸出格式不正確時,系統(tǒng)將給出“WA”或“PE”,這將有助于學生檢測程序中的問題,培養(yǎng)學生的嚴謹性。

      3.3 基于ACM的課程教學優(yōu)勢分析

      1)小組學習和協(xié)作學習:作為編程課日常教學的一部分,ACM可協(xié)助學生指派三人組成一個小團隊,其中一人作為其他兩組成員之間相互學習的管理員,以加強協(xié)同合作,這種教學形式既增進了合作意識,也促進了學生的專業(yè)發(fā)展。

      2)多層次教學:在OJ的在線平臺上,簡單和困難的問題做出區(qū)分,舉例來說,杭電ACM平臺,11頁之前英文題,之后為中文題,學生學習更加循序漸進,有利于學生學習。學生的基礎(chǔ)和能力各不相同,在實踐中,不同的學生應選擇難易程度不同的問題,這樣有利于分級學習取得很好的效果。

      3)實時實際執(zhí)行:OJ平臺包括各種主題,當主題完成時,學生可以在線查閱,測試平臺進行結(jié)果的反饋,顯示即時效果,并提供討論論壇,讓各路高手處理這些主題,而無須教師參與。

      4)激發(fā)學生興趣,點燃學習熱情

      近年來,在引入ACM平臺助理程序設計學校方面,學習舉措已明顯改善,大多數(shù)學生對學習前學習和程序設計都有意識。例如,本學期程序員為“選擇結(jié)構(gòu)”部分處理15個主題,而這兩個課程102名學生中72%提出30多個問題,甚至45個問題。在教程的后續(xù)章節(jié)中,學生學習的方法變得越來越有趣。他們開始超出書本或教科書中包含的主題和專題,開始設法解決平臺上一些最困難的問題,這些問題對學習興趣、學生編程能力的發(fā)展和繼續(xù)教育都有幫助。

      4 結(jié)束語

      在引入ACM競賽模式到C語言課程教學的三年時間內(nèi),學生期末測試成績優(yōu)秀率逐年上升,學生參加ACM省賽和市賽的成績也有了很大進步,其中第十五屆ACM競賽獲銀獎、十六屆和十七屆ACM競賽獲金獎。由此可見,基于ACM的教學模式既使得教師教學負擔變小了,還有利于提高學生編程方面的能力,激勵學生進行自主學習,有利于學生畢業(yè)后更好地適應軟件開發(fā)工作。所以, 我們將進一步擴大此類平臺的使用廣度和深度,更大地提高編程類課程的教學效果。

      參考文獻:

      [1] 劉宇欣,周秋霞.ACM平臺在C程序設計教學中的應用[J].計算機時代,2018(3):66-69.

      [2] 田仲富,劉楠,李桂英.高校優(yōu)質(zhì)數(shù)字化教學資源共建共享有效策略研究[J].科教文匯(上旬刊),2018(1):1-3.

      [3] 李環(huán).基于ACM競賽的程序設計類課程教學改革研究[J].計算機教育,2016(3):115-118.

      [4] 徐新愛.基于學科競賽的《C語言程序設計》課程教學改革研究[J].西南師范大學學報(自然科學版),2015,40(9):224-228.

      [5] 林金珠,倪天偉.基于ACM-ICPC競賽的C語言課程教學實踐[J].安慶師范大學學報(自然科學版),2017(1):102-104,119.

      [6] 戴麗萍,宋艷,張風彥,等.《C語言程序設計》課程教學改革與實踐[J].當代教育實踐與教學研究(電子刊),2015(11):548.

      [7] 王曉娜,劉素轉(zhuǎn).C語言程序設計課程教學改革研究與實踐[J].課程教育研究,2018(1):223,226.

      [8] 王興國.基于互聯(lián)網(wǎng)+的數(shù)字化網(wǎng)絡教學資源共享應用研究[J].科技經(jīng)濟導刊,2017(4):55.

      【通聯(lián)編輯:代影】

      猜你喜歡
      C程序設計教學改革
      C程序設計趣味教學初探
      接軌全國等級考試,探討高校C語言課程教學改革
      論中職生C程序設計學習興趣的培養(yǎng)
      武安市| 临泉县| 什邡市| 重庆市| 阿巴嘎旗| 高雄市| 同心县| 丹凤县| 运城市| 星子县| 安福县| 赤峰市| 越西县| 舟曲县| 若羌县| 瑞金市| 洪泽县| 金坛市| 新晃| 承德县| 金门县| 广德县| 汾阳市| 高碑店市| 海伦市| 台江县| 德江县| 大荔县| 甘肃省| 临汾市| 都江堰市| 石渠县| 奇台县| 定州市| 准格尔旗| 秦安县| 固原市| 涿鹿县| 永寿县| 临沭县| 宜阳县|