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

以賽促教,以賽促學

2023-11-12 11:21:24劉嘉趙宏
教育教學論壇 2023年32期

劉嘉 趙宏

[摘 要] 程序設計是大學生必須掌握的基本技能,但受限于總學時和專業知識的學習,高校無法在學生程序設計技能培養方面開設大量課程來提高學生的程序設計能力。以組織學生參加“天梯賽”程序設計大賽為例,從“天梯賽”賽制和考查的知識點出發,論述學生通過程序設計基礎課、計算機專業課和賽前強化訓練等環節覆蓋“天梯賽”考查的知識點,提升學生程序設計能力的過程。最后以成績優秀參賽隊員的畢業去向,說明“天梯賽”對程序設計類課程的教學和學生編程能力提升所帶來的正面影響。

[關鍵詞] 計算機教學;程序設計;“天梯賽”;數據結構;算法設計

[基金項目] 2021年度蘭州理工大學高教研究項目“以競賽促進學生程序設計能力的探索”(GJ2021C-12)

[作者簡介] 劉 嘉(1976—),女,寧夏銀川人,計算機應用技術碩士,蘭州理工大學計算機與通信學院講師,主要從事操作系統與人工智能研究研究;趙 宏(1971—),男,甘肅西和人,計算機應用技術博士,蘭州理工大學計算機與通信學院教授,主要從事高性能計算與嵌入式系統研究。

[中圖分類號] G642.0 [文獻標識碼] A [文章編號] 1674-9324(2023)32-0162-05 [收稿日期] 2022-06-29

一、“天梯賽”賽制介紹

教育部2021年頒布的“全國普通高校大學生競賽榜單”中有三個程序設計類競賽,分別是ACM-ICPC國際大學生程序設計競賽、中國高校計算機大賽-團體程序設計天梯賽和藍橋杯全國軟件和信息技術專業人才大賽。其中的“天梯賽”是較晚成立的比賽,2022年是第七屆。近年來,“天梯賽”參賽人數快速增加,2019年參賽人數為7 603人,到2022年人數達到14 180人,四年間人數增長近一倍[1],由此可見,“天梯賽”在高校中的影響力不斷提升,吸引了越來越多的學生參加。究其原因,與“天梯賽”的賽制有關,“天梯賽”以團隊整體成績為排名依據,考核學校整體的程序設計水平。通過參賽學生的成績,可以評估學生所在學校的計算機教學水平。

二、“天梯賽”賽題知識點剖析

(一)題目難易結合,知識點覆蓋全面

ACM進入中國已有二十年,很多學校在將ACM與課程結合上已經累積了很多經驗,王宏在文獻[2]介紹了清華大學利用ACM“賽課結合”在計算機教學上取得了很好的成績。李環[3]分析了當前傳統教育出現的問題,然后探討了利用ACM競賽解決這些問題的方法。ACM的全英文題目以及高難度算法使得比賽的參賽門檻很高,獎項基本被一些競賽強校所壟斷,普通高校很難取得好的成就。與ACM競賽相比,“天梯賽”的最大特點是由不同難度的題目組成。“天梯賽”題目按難易程度分為三個等級,分別為L1、L2和L3。L1級為基礎級,設8道題,其中5分、10分、15分、20分的題各2道,滿分為100分;L2級為進階級,設4道題,每道題25分,滿分為100分;L3為登頂級,設3道題,每道題30分,滿分為90分。三個等級共15道題,滿分為290分。

從近幾年“天梯賽”的成績看,2019年至2021年度競賽中均沒有滿分選手,2022年競賽中出現1名滿分選手,說明“天梯賽”能夠對不同水平層次學生的程序設計能力進行考查,客觀評價學校整體程序設計教學效果。如表1所示,從2020年至2022年比賽成績分布可以看出,參賽學生成績主要集中在100分~175分之間,這個區間的學生主要完成了基礎的L1級和部分L2級的題目。高于這個成績(大于175分)即可獲得除團隊獎外的國家級個人獎,個人獎的獲獎比例大約在20%到30%之間,符合高水平人才分布的規律。

(二)考核知識點全面

“天梯賽”題目分為三級,知識點覆蓋了高級語言、數據結構和算法設計。如表2所示,L1級的題目基本不涉及算法,5分和10分題目為最簡單的基礎題,知識點為基本輸入輸出、表達式和簡單的分支結構;15分和20分的題目也是基礎題,但解題需要具有一定編程技巧,知識點多為選擇結構、循環結構、數組、字符串等,其中字符串類型在這一級中屬于較難的題目,曾出現過只有1%的選手獲得滿分的情況。L2級題目共有4道題,每題25分,滿分100分,這4道題主要考查數據結構的內容,包括堆棧、二叉樹、圖等基本的數據結構,排序、最短路徑等算法,解答這些題目需要學生具有較好的算法設計能力。L3級題目有3道題,每題30分,滿分90分,這部分題目可以選拔出頂級選手,題目包括數論、圖論、動態規劃、高級搜索等算法設計類題目,需要選手具有較強的分析問題能力以及快速編程能力才能獲得分數。

(三)專業覆蓋面廣,參與人數多

“天梯賽”題目難度具有坡度,與ACM相比參加門檻較低,使得很多對程序設計競賽感興趣的學生可以參加,尤其是非計算機專業學生,可以通過參加“天梯賽”鍛煉自己,提高程序設計水平。根據統計,2019年參加“天梯賽”的學生專業數量為182個,到2022年增加到270個。參賽專業數量的增加,說明“天梯賽”給各個專業的學生提供了一個學習平臺,吸引更多學生參與,同時,也說明“天梯賽”在高校中的影響力逐年擴大。

三、學校課程對“天梯賽”的支撐

“天梯賽”試題分為L1、L2和L3三個等級,分別面向程序設計的初級、進階級和高級三個階段。我校開設的課程能夠部分覆蓋“天梯賽”的知識點。

(一)初級L1

“天梯賽”初級L1可以使用的語言有C、C++、Java和Python,大部分高校至少開設其中一門語言課程。以我校C語言為例分析程序設計課程對“天梯賽”的支撐:“C語言程序設計”課程開設在大一第一學期,課程目標是通過學習C語言基本語法,使學生掌握利用計算機科學求解各學科問題的一般方法,具備高級語言程序設計能力,C語言課程的主要知識點如表3所示;“天梯賽”從2019年到2022年L1級共有32題,大部分全部為C語言的前5個知識點;只有字符串不屬于C語言基本知識點,但是字符串操作是C語言考試中常見考點,因為對字符串操作需要使用輸入輸出、循環結構、數組操作等知識,屬于C語言中較難的內容;因為L1題目考核點在高級語言程序設計,沒有涉及復雜的數據結構和算法,所以大部分學生在L1級的通過率很高。

(二)進階級L2

L2級難度高于L1級,除了需要學生具有較強的編程能力外,還需要具有一定的數據結構知識,能夠使用經典算法解決問題。如表4所示,進階級L2的知識點主要包含在“算法與數據結構”課程中,例如一些復雜的數據結構和經典算法。從近四年的“天梯賽”題目可見學生學習“算法與數據結構”后即可獲得L2級所需的知識點,但是2020年到2022年,L2得分超過75分(滿分100分)的人數分別約占30%、40%和10%,所以只是學習基本概念,還是無法正確解題。

(三)高級L3

“天梯賽”稱L3級為登頂級,因為這一級的題目基本是程序設計競賽中最難的題目。L3級有3道題,2019年到2021年最后一題沒有得滿分的選手,L3的3道題得分率均低于3%,可見題目難度很高。L3級題目主要是一些復雜算法,例如2020年“天梯賽”有快速排序和圖的深度優先搜索,2021年有字符串的模式匹配和快速排序。另外,L3中還會出現數論或組合論相關的題目,通常設置在最后一題,得分率不足0.5%,說明學生的數學相關知識不足。因為“天梯賽”是個人獨立完成比賽,計算機專業的學生沒有相關數學知識背景,無法完成與數學有關的題目;而數學專業的學生程序設計水平無法支撐其完成L3級的題目。這也是“天梯賽”很難有學生獲得滿分的原因。

四、“天梯賽”強化訓練對課程知識的補充

(一)“天梯賽”對程序設計能力的提升

程序設計能力是計算機類專業學生的基本能力,也是檢驗計算機類畢業生是否合格的基本標準[4]。程序是系統軟件和應用軟件的本體,程序設計課程旨在訓練學生的分析和解決問題能力、計算思維能力、軟件工程能力、團隊協作能力等[5]。培養學生程序設計能力是高級程序設計語言課程的主要目標,通常程序設計語言課程開設在低年級,學生還沒有學習專業課程,計算機基礎較差,所以設計合理的教學方法可以幫助學生更好地學習程序設計。

傳統程序設計語言課程的教學是以語法為中心,學生學習的重點是如何使用語法。這種教學方式忽略了程序設計能力的關鍵是要建立計算機思維方式,學習的是使用計算機解決問題的方法。2022年“天梯賽”L1-3“誰能進圖書館”是一道10分的題目,分數設置可見組委會認為題目不難,但是很多能做出30分題目的選手這道題卻沒有得到滿分。這道題考核的是if-else語句的使用,只需要列出所有可能的條件,每個條件由一個if-else輸出即可。但是只需要使用簡單的語法,卻為什么會讓很多優先選手在這里失分呢?原因是選手分析問題時沒有列出所有的情況。很多選手是從給出的數據出發,考慮輸入的4個整數組合的所有條件,稍有不慎就會丟失一個條件,或條件重復,導致某個測試點無法通過。這道題應該采用逆向思維,從結果出發去推導出條件。這道題可能的結果有三個,即:①2人全部可以進入;②2人全部不可以進入;③1人可以進入1人不可以進入。其中結果①只有一個條件,結果②有2個條件,結果③有3個條件,如表5所示。學習程序設計的關鍵不是語法怎樣使用,而是怎樣用程序解決問題。為了讓學生在學習中能夠將學習的重點從語法轉向解決問題,在教學中可以采用任務驅動教學法[6]或案例教學法[7],“天梯賽”的賽題非常適合作為案例進行講解。

(二)“天梯賽”對算法設計能力的培養

算法是程序的靈魂,關系到程序的運行效率,常應用于人工智能、操作系統、數據庫、計算機網絡等方向,是計算機解決復雜工程問題的關鍵因素。經過計算機行業幾十年的發展,經典算法已有一百多種,算法競賽不是讓選手當場設計一個新的算法,而是應用已有算法完成特定問題的求解,同時還要滿足一些限制條件,例如時間和空間的限制。所以在競賽中要在很短的時間內選擇合適的算法,然后使用算法求解題目,對選手綜合素質有很高要求,選手必須熟練掌握大量經典算法,才可做出正確選擇。

2022年“天梯賽”L2-4“大眾情人”,大部分學生在正確理解了題意后,能夠明白一個人的異性感就是距離最遠的異性到你的距離,所以題目實際是要求最短路徑。在“算法與數據結構”課程中求最短路徑的算法一般是Dijkstra算法,而本題中如果采用Dijkstra算法會導致超時,題目要求的是多源點的最短路徑,所以應該使用Floyd算法。很多選手卡在這道題,因為教材沒有講到Floyd算法,選手熟悉的是Dijkstra算法。由于課堂教學學時有限,“算法與數據結構”課程能夠講解的算法大概有30個左右,但是算法關系到程序設計運行的準確性和效率,掌握的算法數量也是衡量一個程序員能力強弱的重要標準,所以很多學生會在課堂之外努力學習新的算法,“天梯賽”的訓練就可以補充這部分課堂缺失的內容,而且大量訓練也可幫助學生提高程序設計能力。

五、我校近三年“天梯賽”成績和參賽隊員的去向

我校每年為“天梯賽”組建的團隊有50人左右,參加“天梯賽”的隊伍有4~5隊,排名取成績最好的三支隊伍的成績。2020年我校在“天梯賽”華山論劍賽道排名甘肅省高校第二名,2021年和2022年均在華山論劍賽道獲得甘肅省高校特等獎。還有5人次在比賽中獲得國家級獎項。

參加“天梯賽”的學生經過三年的訓練,均有較高的程序設計能力,畢業時無論是繼續學習還是工作都比較受歡迎。我校2017級到2018級共有23名“天梯賽”隊員畢業,其中保研9名,考研4名,其余隊員均在秋招即簽約工作,平均薪金遠高于普通學生。

結語

程序設計競賽在我國已經開展二十余年,“天梯賽”也已經舉辦7屆,參加“天梯賽”的學校從最初只有發達地區的重點院校發展到全國近兩百所學校。之所以“天梯賽”會在高校迅速推廣開,主要是我國經濟發展從高速發展階段轉向高質量發展階段,需要的人才也從數量的需求轉換為質量的需求,這對高校提出了更高的要求。各個高校也在不斷探索新的教學方法,提高教學質量,培養更具有時代特色的高素質人才。“天梯賽”以及其他的程序設計類競賽就是在計算機中探索出的一種有效的方法,一方面學校不斷提供各種資源促進學校競賽的發展,鼓勵學生參加各種競賽;另一方面,通過競賽使學生綜合素質得到提高。但是由于各個學校的生源不同,教學方式不同,如何結合學校特點,發揮競賽優勢,設計適合學生特點的教學模式,是每個高校都在研究的問題。

參考文獻

[1]競賽組委會.“中國高校計算機大賽:團體程序設計天梯賽”數據一覽[EB/OL].https://gplt.patest.cn/notification.

[2]王宏,吳文虎.清華實踐教學“賽課結合”新思路[J].計算機教育,2006(7):10-12.

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

[4]周榮輝,郝曉楓,趙宏宇.學生程序設計能力培養的思考[J].吉林大學學報(信息科學版),2005(S2):122-126.

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

[6]曹文平,寧彬.任務驅動+過程反饋的Java教學方法研究[J].教育教學論壇,2021(4):165-168.

[7]劉國英,王煜龍,陳雙浩.數據結構案例教學:二叉樹在圖像分割中的應用[J].安陽師范學院學報,2016(2):128-131.

Promoting Teaching and Learning Through Competition: Analysis on the Influence of “Ladder Competition” on the Improvement of Students Programming Ability

LIU Jia, ZHAO Hong

(School of Computer and Communication, Lanzhou University of Technology, Lanzhou,

Gansu 730050, China)

Abstract: Programming is a basic skill that college students must master. However, limited by the total class hours and professional knowledge, colleges and universities cannot offer a large number of courses in the training of students programming skills to improve their programming ability. Taking organizing students to participate in the Ladder Program Design Competition as an example, starting from the knowledge points of the Ladder Competition system and examination, this paper discusses the process of covering the knowledge points of ladder competition investigation and improving students program design ability through the basic courses of program design, computer courses and pre competition intensive training. Finally, with the graduation destination of the excellent contestants, it shows the positive impact of the Ladder Competition on the teaching of programming courses and the improvement of students programming ability.

Key words: computer teaching; program design; Ladder Competition; data structure; algorithm design

主站蜘蛛池模板: 少妇精品久久久一区二区三区| 在线免费a视频| 伊人久久精品无码麻豆精品| 国产a网站| 为你提供最新久久精品久久综合| 狠狠久久综合伊人不卡| 国产黄在线观看| 国产成人你懂的在线观看| 精品成人免费自拍视频| 国产黄色免费看| 亚洲精品中文字幕无乱码| 五月天天天色| 亚洲欧洲免费视频| 亚洲国产91人成在线| 波多野结衣一区二区三区88| 日韩人妻无码制服丝袜视频| 中文字幕亚洲精品2页| 精品在线免费播放| 91精品人妻一区二区| 亚洲成人高清无码| 国产精品爽爽va在线无码观看| 亚洲日本在线免费观看| 欧美精品xx| 国产精品主播| 国产欧美专区在线观看| 亚洲综合一区国产精品| 无遮挡国产高潮视频免费观看 | 日韩av电影一区二区三区四区| 国产91九色在线播放| 夜夜爽免费视频| 国产精品免费久久久久影院无码| 91精品小视频| 亚洲日韩精品伊甸| 四虎成人免费毛片| 国产免费人成视频网| 国产91色| 久久精品国产国语对白| 亚洲精品国产日韩无码AV永久免费网 | 看你懂的巨臀中文字幕一区二区 | 一级毛片在线免费看| 亚洲AV无码乱码在线观看代蜜桃 | 国产午夜在线观看视频| 99精品视频九九精品| 国产乱人伦偷精品视频AAA| 国产日韩欧美在线视频免费观看| 色综合久久综合网| 午夜少妇精品视频小电影| 四虎免费视频网站| 亚洲精品国产综合99| 日韩欧美视频第一区在线观看 | 国产福利免费在线观看| 久久国产精品嫖妓| 欧美一级高清免费a| 色综合中文综合网| 91亚洲影院| 韩日无码在线不卡| 久久综合一个色综合网| 亚洲一级毛片在线观播放| 国产福利一区二区在线观看| 欧美精品三级在线| 国产精品区视频中文字幕 | 91精品啪在线观看国产91九色| 国产丝袜91| 成年女人a毛片免费视频| 国产精品浪潮Av| 99热这里只有成人精品国产| 国产精品久久精品| 亚洲人在线| 亚洲视频四区| 黄色污网站在线观看| 精品国产一二三区| 欧美在线精品怡红院 | 2021天堂在线亚洲精品专区 | 99成人在线观看| 欧美高清国产| 欧美爱爱网| 人妻精品久久无码区| 亚洲AV永久无码精品古装片| 日本精品αv中文字幕| 在线看片中文字幕| 99精品福利视频| 亚洲人成人伊人成综合网无码|