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

ACM平臺在C程序設計教學中的應用

2018-05-02 03:25:46劉宇欣周秋霞
計算機時代 2018年3期

劉宇欣 周秋霞

摘 要: C語言程序設計課程是計算機專業的入門課程之一,程序設計類課程的強實踐性要求學生動手編程,勤加練習。ACM在線測試平臺有著自動化判題、便于統計分析數據等優點,為學生的自主學習提供了一個園地。不僅如此,ACM平臺還可以很好地應用于C程序設計教學的多個環節來輔助教學。通過對ACM平臺模塊介紹展示其功能,并以實驗課、作業、考試為例體現ACM平臺輔助教學的途徑及優勢。實踐證明,使用ACM平臺輔助教學確實可以提高學生的學習積極性,并取得良好的教學成果。

關鍵詞: C程序設計; ACM平臺; 判題系統; 教學輔助

中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2018)03-66-03

Application of ACM platform in C programming teaching

Liu Yuxin, Zhou Qiuxia

(School of Information Engineering, Linnan Normal University, Zhanjiang, Guangdong 524048, China)

Abstract: The C language program design course is one of the introductory courses in the computer specialty. The strong practicality of the course requires the students to program and exercise diligently. ACM online test platform has the advantages of automatic judgment, statistical data and so on. It provides a garden for students' autonomous learning. And the ACM platform can be applied to many links of C programming teaching. This paper introduces the ACM platform modules to display its functions, and taking experimental courses, assignments and examinations as examples to show the ways and advantages of ACM platform aided teaching. Practice has proved that the use of ACM platform to assist teaching can really improve students' learning initiative, and obtain good teaching effect.

Key words: C programming; ACM platform; judge system; teaching assistance

0 引言

ACM國際大學生程序設計競賽,簡稱ACM競賽,由國際計算機界歷史悠久、頗具權威性的組織—美國計算機ACM學會主辦,是世界上公認的規模最大水平最高的國際大學生程序設計競賽,素來被冠以“程序設計的奧林匹克”之稱[1],旨在使大學生運用計算機來展示分析問題和解決問題的能力。

C語言程序設計是計算機專業的入門課程之一,是數據結構、算法分析與設計等課程的基礎,重在培養學生學習掌握解決問題的思路和方法,并使用計算機編寫程序,即利用計算機解題的能力[2-3]。這與ACM大賽的宗旨是一致的。同時,C程序設計也是一門實踐性很強的課程。既要掌握概念,更要求學生動手編程、上機調試運行[4]。鑒于ACM在線測試平臺的實用性和自動判題的優勢,嶺南師范學院計算機系從2015級開始,逐步采用ACM平臺,實現C語言程序設計課程的在線練習、作業與考試。

1 ACM平臺介紹

在Linux系統服務器上搭建了在線判題系統[5],使用gcc作為C語言的編譯器。ACM平臺基于B/S結構,只要通過校園局域網輸入網址即可訪問該平臺。頁面如圖1所示。

圖1 ACM平臺頁面圖

ACM平臺有六大常用功能模塊。

⑴ 討論模塊:作為學生的自主學習園地,設置討論專欄便于學習交流。

⑵ 問題模塊:題庫,錄入了本校所使用的C程序設計教材[6]中所有例題與課后習題,以及一些ACM競賽題、其他課程的練習題等。

⑶ 狀態模塊:記錄所有用戶每次運行的狀態,如:用戶ID、問題編號、運行結果、內存耗時、代碼長度、提交時間等。

⑷ 排名模塊:對所有用戶按照答題正確數從多至少排序,并顯示名次、用戶ID、昵稱、正確數、提交次數與正確率。

⑸ 競賽與作業模塊:用作競賽、作業與考試的發布。一次競賽、作業或考試可以設置若干道題,并設置開始與結束時間,如圖2所示(為2016-2017學年第一學期的C語言期末考試)。

圖2 競賽與作業模塊頁面圖

⑹ 管理模塊:該模塊只有管理員賬號登錄可見,主要功能有:題目的增刪改查(一個題目包括題目的描述、輸入輸出描述、樣例輸入/輸出與測試用例等內容)、競賽作業的增刪改查;重置普通用戶的密碼;題庫的導入導出等等。如圖3所示。

圖3 管理模塊頁面圖

為了方便管理,本平臺關閉了注冊功能,所有學生賬號統一由數據庫導入,用戶ID為學生學號,昵稱為學生姓名,不可修改。這極大方便了任課教師查看學生完成作業情況、統計考試結果等等。

2 ACM平臺輔助C語言教學的途徑

在C程序設計的教學過程中,能夠使用到ACM平臺的地方有很多。

⑴ 上機實驗

在實驗課上,可以使用ACM平臺輔助實驗教學。通過提交運行后的判題結果可以看出程序是否正確,省去了設計測試用例來測試程序的過程。這種競賽機制平臺的運用增加了課堂學習的趣味性。

學生上機練習時,使用該平臺自動判題,可以幫助學生判斷程序的正誤。一般情況下,學生在學習C程序設計時還未學過軟件測試類課程,缺乏設計測試用例的意識,往往一次運行得到正確結果就認為程序是正確的,這極有可能產生誤導。例如某次編程中,有學生將“if(a>b&&a;>c)”寫成“if(a>b,a>c)”,在一次運行后答案是正確的,該學生誤認為可以用逗號代替邏輯與運算符,而這顯然是錯誤的。如果在ACM平臺提交該程序,肯定會得到“答案錯誤”的運行結果提示,這就可以幫助學生發現程序中存在的錯誤。

⑵ 提交作業

任課教師可以通過管理模塊中發布競賽作業的功能來布置作業。只需點擊”添加問題”,然后錄入標題(title)、問題描述(Description)、輸入/輸出描述(Input/Output)、樣例輸入輸出(Sample Input/Output),以及測試輸入輸出數據(Test Input/Output);也可以直接使用題庫中的問題。然后點擊添加作業,錄入問題標號,以及作業的開始與結束時間即可發布。

在競賽作業模塊的“Standing”頁面可以直接看到每位學生的作業完成情況,如提交了哪些題,哪些題結果正確,哪些題提交了但沒有通過等等。圖4所示為某次作業完成情況。

圖4 某次作業完成情況

其中,綠色標簽表示判題通過(Accepted,在ACM中簡稱為AC);紫色標簽表示判題通過且用時最少,即首次AC;紅色標簽表示提交了但未通過;標簽中時間格式的數字(格式為“時:分:秒”)表示從作業(或競賽、考試)開始時計時到提交且判題通過所花費的時間;標簽中括號里的負數表示提交次數(例如:-2表示提交了兩次但均未通過)。

這種帶有競賽性質的作業提交系統極大激發了學生的學習興趣,通過該平臺可以及時了解自己或其他同學的學習情況:點擊學號或姓名可以看到該同學做了哪些題,哪些題目提交正確,哪些題目正在解決中等等(如圖5)。

⑶ 在線考試

傳統的考核方法(筆試)不利于對學生編程能力的測試,可以采用上機測試作為期末考核的一部分。利用該平臺可以方便的實施上機測試,只需添加一次競賽/作業,而且可以即時看到考試結果,不需要教師運行任何程序,所有的判題都是在線的、自動化完成的。

3 ACM平臺輔助C語言教學的優勢

采用ACM平臺來輔助C語言教學有以下優點。

⑴ 自動化判斷程序是否正確

一般情況下,學生在學習C語言之前并未學過軟件測試類課程,對于程序運行結果缺乏測試的認知與方法,而OJ平臺的自動化判題功能可以很好的解決這個問題。

⑵ 便于了解學生的答題情況

編程類作業的檢查是一個費時又費力的工作。如果提交書面作業無法知曉學生是否真正上機操作過,且語法檢查(尤其是難以區分中英文標點符號)、邏輯思維檢查易有疏漏;而如果提交程序又需要一個個運行、測試才能知曉程序是否正確、是否存在漏洞,且程序測試本身工作量就很大,何況是幾十個、甚至幾百、幾千個程序。

使用ACM平臺來布置作業,教師通過該平臺即可看到每個學生的答題情況,如做了哪些題,哪些題正確,哪些題提交了但答案錯誤等;也可以看到每道題的答題情況,如提交了多少次,正確率是多少等等,此外,在競賽作業版塊還可以看到所有學生的答題情況與排名,方便及時了解學生學習情況。

⑶ 利于培養學生的編程興趣

實踐證明,在采用該平臺輔助C語言教學后,學生學習的積極性有了很大提升,至少一半以上的學生會超前學習、額外做一些編程題。例如,在本學期教學中,某章的編程作業一共只布置了9道,但是兩個班的學生(共96位同學)有75%做了10道題以上,其中有十幾位學生做了20道題以上,甚至有做了近50道題的。而在之后的教學中,學生的學習情況越來越好,特別是編程入門之后,不再局限于書本上的例題或習題,開始做一些題庫里有意思的競賽題,這對開拓學生的思維,激發學習興趣以及學習其他課程是十分有利的。

4 結束語

ACM平臺有著自動化判題,及時反饋答題功能,利于培養學生編程興趣,可以在實驗課、日常作業、考試等教學環節輔助C程序設計教學。實踐證明,采用ACM平臺輔助教學后,不僅解決了教師檢查編程類作業的難題,還為學生的程序設計類課程的學習提供了引導和助力,便于學生自主學習。在未來的教學中,我們將進一步大范圍地推廣運用該平臺,使其更好地服務于學生的編程學習和練習。

參考文獻(References):

[1] 祝昌宇,陳廣貴.從ACM競賽談計算機實驗教學改革[J].實驗

科學與技術,2011.9(S1):300-302

[2] 辛中琦.《C語言程序設計》教學方法的嘗試與探討[J].中小企

業管理與科技(下旬刊),2017.6.

[3] 戴麗萍,宋艷,張風彥,崔瑩.《C語言程序設計》課程教學改革

與實踐[J].當代教育實踐與教學研究,2016:1-3

[4] 楊松濤,王斌,張海燕.從ACM/ICPC競賽探討大學生的能力

培養[J].計算機教育,2010.24:16-18

[5] 劉楠,孫國道,田賢忠.ACM在線評判系統設計與實現[J].計

算機時代,2010.2:34-35,38

[6] 譚浩強.C程序設計(第四版)[M].清華大學出版社,2010.

主站蜘蛛池模板: 中文国产成人精品久久一| 天天摸夜夜操| 成人国产免费| 国产激情国语对白普通话| 无码福利日韩神码福利片| 国产v精品成人免费视频71pao | a级毛片毛片免费观看久潮| 国产小视频在线高清播放| 亚洲乱码精品久久久久..| 国产精品九九视频| 欧美97色| a欧美在线| 亚洲无码A视频在线| 亚洲综合精品香蕉久久网| 欧美区一区| 在线日本国产成人免费的| 免费人成在线观看视频色| 亚洲人成网7777777国产| 亚洲综合精品香蕉久久网| 国产精品亚洲一区二区三区z| 精品综合久久久久久97超人| 欧美第一页在线| 欧美综合区自拍亚洲综合绿色| 成人免费午夜视频| 国产丰满成熟女性性满足视频| 国产在线观看第二页| 波多野结衣国产精品| 亚洲天堂精品视频| 亚洲国产中文综合专区在| 九九视频免费看| 五月婷婷丁香色| 色婷婷色丁香| 亚洲精品日产精品乱码不卡| 日韩欧美中文字幕一本| 亚洲精品无码专区在线观看| 精品午夜国产福利观看| 潮喷在线无码白浆| igao国产精品| 国产91小视频在线观看| 亚洲精品第五页| 日本免费新一区视频| 亚洲一道AV无码午夜福利| 欧美国产菊爆免费观看 | 69av免费视频| 国产福利拍拍拍| 无码AV高清毛片中国一级毛片| 久久国产精品影院| 亚洲水蜜桃久久综合网站| 2024av在线无码中文最新| 国内毛片视频| 女人18毛片久久| 日韩在线视频网站| 露脸国产精品自产在线播| 毛片手机在线看| 国产主播在线一区| 久久中文字幕2021精品| 国产精品久久自在自2021| www.91中文字幕| 国产不卡国语在线| 青青青草国产| 无码 在线 在线| 欧美国产精品不卡在线观看| 免费一级无码在线网站| 欧美在线一二区| 天天躁狠狠躁| 国产成人区在线观看视频| 国产精品尤物铁牛tv| 黄色片中文字幕| 中文字幕亚洲电影| 亚洲美女久久| 91亚洲精选| 精品久久久久久成人AV| 亚洲第一网站男人都懂| 2021国产在线视频| 国产精品午夜电影| 国产精品蜜臀| 国产69精品久久久久孕妇大杂乱| 国产靠逼视频| 亚洲视频免| 国产成人高清在线精品| 亚洲国产午夜精华无码福利| 国产哺乳奶水91在线播放|