国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談Github開(kāi)發(fā)平臺(tái)在“高級(jí)程序語(yǔ)言”課程 設(shè)計(jì)中的應(yīng)用

2021-05-12 13:01謝杰華
教育教學(xué)論壇 2021年9期

[摘 要] 為了適應(yīng)信息技術(shù)的發(fā)展,以培養(yǎng)人才為目的的各高校開(kāi)設(shè)了種類繁多的計(jì)算機(jī)類課程。其中“高級(jí)程序語(yǔ)言”作為計(jì)算機(jī)實(shí)踐類課程,旨在鞏固學(xué)生所學(xué)知識(shí),培養(yǎng)學(xué)生的動(dòng)手實(shí)踐能力。分析了“高級(jí)程序語(yǔ)言”課程設(shè)計(jì)的傳統(tǒng)模式中所存在的缺陷,提出了將軟件項(xiàng)目托管平臺(tái)Github應(yīng)用于該課程的設(shè)想,并通過(guò)實(shí)例簡(jiǎn)單描述了Github在高級(jí)程序語(yǔ)言課程設(shè)計(jì)中的應(yīng)用,同時(shí)分析了該新模式的優(yōu)點(diǎn)。

[關(guān)鍵詞] 高級(jí)程序語(yǔ)言;Github;軟件項(xiàng)目托管平臺(tái)

[作者簡(jiǎn)介] 謝杰華(1972—),男,廣西南寧人,碩士,廣西大學(xué)電氣工程學(xué)院副研究員,主要從事計(jì)算機(jī)軟件設(shè)計(jì)開(kāi)發(fā)研究。

[中圖分類號(hào)] G641? ?[文獻(xiàn)標(biāo)識(shí)碼] A? ?[文章編號(hào)] 1674-9324(2021)09-0115-04? ? [收稿日期] 2020-12-31

一、引言

隨著信息科技的發(fā)展,電腦、手機(jī)及網(wǎng)絡(luò)已經(jīng)成為人們?nèi)粘I畈豢煞指畹闹匾M成部分。而高等院校作為為社會(huì)培養(yǎng)人才的單位,對(duì)此種趨勢(shì)自然不可置之不理。自20世紀(jì)七八十年代以來(lái),各高校開(kāi)始開(kāi)設(shè)大學(xué)計(jì)算機(jī)基礎(chǔ)課程,旨在培養(yǎng)學(xué)生的計(jì)算機(jī)相關(guān)能力,為社會(huì)培養(yǎng)更加適合時(shí)代發(fā)展的人才。進(jìn)入21世紀(jì)之后,信息技術(shù)日新月異,突飛猛進(jìn),而各高校的大學(xué)計(jì)算機(jī)基礎(chǔ)課程的教學(xué)目標(biāo)已經(jīng)不局限于幫助學(xué)生積累計(jì)算機(jī)的相關(guān)知識(shí),培養(yǎng)學(xué)生的一般應(yīng)用操作能力,還包括對(duì)學(xué)生計(jì)算思維和動(dòng)手實(shí)踐能力的培養(yǎng)。2016年出版的《大學(xué)計(jì)算機(jī)基礎(chǔ)課程基本要求》也提道:“在各個(gè)具體課程的教學(xué)組織過(guò)程中,應(yīng)重視課程實(shí)踐項(xiàng)目的設(shè)計(jì),將課程內(nèi)容恰當(dāng)?shù)厝谌胨婕暗捻?xiàng)目當(dāng)中?!盵1]為此,各高校也開(kāi)設(shè)了多種計(jì)算機(jī)實(shí)踐課程與項(xiàng)目,旨在鞏固學(xué)生所學(xué)的知識(shí),培養(yǎng)學(xué)生的計(jì)算思維,進(jìn)一步提升學(xué)生的動(dòng)手實(shí)踐能力。而“高級(jí)程序語(yǔ)言”課程設(shè)計(jì)便是其中之一,“‘高級(jí)程序語(yǔ)言課程的學(xué)習(xí)主要是計(jì)算思維及軟件工程思維的建立,學(xué)生能力高低主要體現(xiàn)在計(jì)算機(jī)求解問(wèn)題方面”[2]。

“高級(jí)程序語(yǔ)言”課程設(shè)計(jì)的開(kāi)展步驟為:教師提供選題—學(xué)生選題—學(xué)生分組或獨(dú)立完成—教師評(píng)分。這種傳統(tǒng)的課程設(shè)計(jì)開(kāi)展模式不僅缺乏師生之間的有效互動(dòng),難以形成公平合理的獎(jiǎng)懲評(píng)分機(jī)制,而學(xué)生團(tuán)隊(duì)中也難以進(jìn)行有效的分工協(xié)作。為了提升該課程的教學(xué)效率,讓學(xué)生能在此過(guò)程中更好地培養(yǎng)軟件開(kāi)發(fā)實(shí)踐能力和團(tuán)隊(duì)協(xié)作能力,課程開(kāi)展模式急需改進(jìn)。

軟件項(xiàng)目托管平臺(tái)Github誕生于2008年,現(xiàn)已在軟件開(kāi)發(fā)領(lǐng)域中得到廣泛應(yīng)用。將Github開(kāi)發(fā)平臺(tái)應(yīng)用于“高級(jí)程序語(yǔ)言”課程設(shè)計(jì)中可以有效解決傳統(tǒng)課程開(kāi)展模式存在的問(wèn)題,進(jìn)一步提升該課程的教學(xué)效率。本文將通過(guò)實(shí)例講解Github開(kāi)發(fā)平臺(tái)在“高級(jí)程序語(yǔ)言”課程設(shè)計(jì)中的應(yīng)用與優(yōu)點(diǎn),并與傳統(tǒng)的課程設(shè)計(jì)開(kāi)展模式進(jìn)行比較。

二、在“高級(jí)程序語(yǔ)言”課程設(shè)計(jì)的傳統(tǒng)模式中存在的問(wèn)題

“高級(jí)程序語(yǔ)言”課程設(shè)計(jì)的目標(biāo)在于培養(yǎng)學(xué)生的動(dòng)手實(shí)踐能力和團(tuán)隊(duì)協(xié)作能力,鞏固學(xué)生所學(xué)知識(shí)。近年來(lái),隨著信息技術(shù)的發(fā)展,各高校計(jì)算機(jī)基礎(chǔ)課程的軟件和硬件環(huán)境也得到了極大的改善。然而,與之形成鮮明對(duì)比的是部分計(jì)算機(jī)基礎(chǔ)課程依然沿用傳統(tǒng)的教學(xué)模式,而實(shí)踐證明傳統(tǒng)的教學(xué)模式難以實(shí)現(xiàn)教學(xué)目的,容易出現(xiàn)事倍功半的現(xiàn)象,無(wú)法取得理想的教學(xué)效果。以“高級(jí)程序語(yǔ)言”課程設(shè)計(jì)為例,采取傳統(tǒng)的課程開(kāi)展模式存在以下幾方面問(wèn)題。

第一,教師對(duì)學(xué)生的學(xué)習(xí)過(guò)程和軟件設(shè)計(jì)過(guò)程缺乏監(jiān)控。按照該課程的傳統(tǒng)模式,一般由教師提供選題,學(xué)生選題之后獨(dú)立或分組完成。盡管在學(xué)生進(jìn)行課程軟件設(shè)計(jì)的過(guò)程中,教師會(huì)與學(xué)生進(jìn)行交流,但是學(xué)生在此過(guò)程中所做的工作依然缺乏監(jiān)督,對(duì)學(xué)生每日完成的工作缺乏精準(zhǔn)的把握。而師生之間也缺乏有效交流,教師無(wú)法及時(shí)指出學(xué)生在設(shè)計(jì)中的紕漏。

第二,學(xué)生團(tuán)隊(duì)中難以形成有效的分工與協(xié)作。學(xué)生分組完成課程設(shè)計(jì)旨在培養(yǎng)學(xué)生的團(tuán)隊(duì)精神,然而,如果按照傳統(tǒng)模式開(kāi)展高級(jí)程序語(yǔ)言課程設(shè)計(jì),學(xué)生團(tuán)隊(duì)容易出現(xiàn)各成員缺乏協(xié)作、分工不合理、時(shí)間安排不合理、重復(fù)勞動(dòng)或者某些任務(wù)無(wú)人問(wèn)津等現(xiàn)象。而組員之間有時(shí)也缺乏及時(shí)有效的溝通,培養(yǎng)團(tuán)隊(duì)精神的目的自然也難以實(shí)現(xiàn)。

第三,難以形成公平合理的評(píng)分機(jī)制,無(wú)法區(qū)分團(tuán)隊(duì)表現(xiàn)與個(gè)人貢獻(xiàn)。如果“高級(jí)程序語(yǔ)言”課程設(shè)計(jì)以學(xué)生團(tuán)隊(duì)方式進(jìn)行,不僅容易出現(xiàn)上述問(wèn)題,還會(huì)出現(xiàn)能者多勞而能力較差者少勞甚至不勞而獲的現(xiàn)象。按照該課程的傳統(tǒng)模式,學(xué)生團(tuán)隊(duì)設(shè)計(jì)完成后將成果交由教師進(jìn)行評(píng)分。而面對(duì)團(tuán)隊(duì)的集體成果,教師難以定義每個(gè)成員的貢獻(xiàn),只能按照最終成果給每個(gè)成員打個(gè)平均分,致使某些貢獻(xiàn)大的成員積極性大受打擊,而貢獻(xiàn)少甚至沒(méi)有貢獻(xiàn)的成員卻可以坐享其成。現(xiàn)在一些教師也發(fā)現(xiàn)了這一問(wèn)題,采取讓每個(gè)小組成員注明自己所寫(xiě)代碼和所完成模塊的方式,以求給各小組成員更為合理的分?jǐn)?shù)。然而,這一自述貢獻(xiàn)的方式也存在不足之處,有時(shí)甚至?xí)l(fā)小組內(nèi)部的爭(zhēng)端。

第四,學(xué)生的課程設(shè)計(jì)過(guò)程難以記錄和保存,無(wú)法為將來(lái)的教學(xué)實(shí)踐及軟件開(kāi)發(fā)實(shí)踐提供實(shí)例,積累經(jīng)驗(yàn)。在“高級(jí)程序語(yǔ)言”課程設(shè)計(jì)中,學(xué)生最后交到教師手中的通常是“成品”,而學(xué)生的課程設(shè)計(jì)過(guò)程卻無(wú)法記錄和保存,教師也無(wú)法根據(jù)學(xué)生交來(lái)的成果反推學(xué)生在設(shè)計(jì)過(guò)程中的想法及邏輯,難以有針對(duì)性地培養(yǎng)學(xué)生的計(jì)算思維。而對(duì)于未來(lái)的教學(xué)實(shí)踐而言,由于缺乏設(shè)計(jì)過(guò)程的記錄,這些成品也只能成為參照,無(wú)法發(fā)揮更大的效力。

三、Github開(kāi)發(fā)平臺(tái)在“高級(jí)程序語(yǔ)言”課程設(shè)計(jì)中的應(yīng)用實(shí)例及優(yōu)點(diǎn)

Git是開(kāi)源的分布式版本控制系統(tǒng),可以快速高效地對(duì)軟件開(kāi)發(fā)項(xiàng)目進(jìn)行版本管理。而誕生于2008年的Github“是為開(kāi)發(fā)者提供Git倉(cāng)庫(kù)的托管服務(wù),這是一個(gè)讓開(kāi)發(fā)者與朋友、同事、同學(xué)及陌生人共享代碼的完美場(chǎng)所”[3]。除了倉(cāng)庫(kù)托管服務(wù)之外,Github還具有Pull Request(拉拽請(qǐng)求)和留言評(píng)論等多種功能,讓程序員得以進(jìn)行有效的交流與合作,實(shí)現(xiàn)高效的社會(huì)化編程。下文將以一個(gè)實(shí)例簡(jiǎn)單描述Github在“高級(jí)程序語(yǔ)言”課程設(shè)計(jì)中的應(yīng)用。

第一,教師登錄Github網(wǎng)站,以發(fā)起者的身份布置任務(wù),創(chuàng)建一個(gè)新的倉(cāng)庫(kù)(create New Repository)。該任務(wù)為設(shè)計(jì)一個(gè)文件管理軟件,開(kāi)始時(shí)間為8月16日,截止時(shí)間為8月31日。在布置任務(wù)時(shí)可簡(jiǎn)要說(shuō)明任務(wù)要求,之后把鏈接發(fā)給學(xué)生(如圖1)。

第二,必須完成該課題的是一個(gè)由3個(gè)學(xué)生組成的小組,其中包括學(xué)生A(用戶名johnliu20)、學(xué)生B(用戶名Bessie2018)和學(xué)生C(用戶名MrWho17)。學(xué)生登錄Github網(wǎng)站,用電子郵箱注冊(cè)賬號(hào),登錄后輸入鏈接即可看到所需完成的課題。

第三,學(xué)生可以在本地電腦編寫(xiě)代碼,之后上傳到Github網(wǎng)站,通過(guò)Propose Pull Request向項(xiàng)目發(fā)起者(教師)提出申請(qǐng)合并,同時(shí)學(xué)生可以使用留言評(píng)論功能,說(shuō)明自己編寫(xiě)這段代碼所要實(shí)現(xiàn)的目的,并與教師進(jìn)行溝通(如圖2)。

第四,教師點(diǎn)擊merge pull request按鈕,將學(xué)生所寫(xiě)的代碼納入整個(gè)項(xiàng)目之中。在此之前教師可將代碼拿到本地開(kāi)發(fā)環(huán)境中進(jìn)行檢查,還可以通過(guò)留言評(píng)論功能向?qū)W生提出修改意見(jiàn)和建議(如圖3)。

第五,課題結(jié)束之后,教師可以進(jìn)入課題所在的Repository,點(diǎn)擊頂部菜單欄中的insight>contributors,查看小組中每一位學(xué)生提交的代碼、代碼行數(shù)及提交時(shí)間。

如圖4所示,學(xué)生A提交代碼4次共計(jì)678行,且提交時(shí)間都集中于中前段;學(xué)生B提交代碼1次共計(jì)187行,提交時(shí)間為布置課題后約1周;學(xué)生C提交代碼1次共計(jì)115行,提交時(shí)間為課題截止前兩天。除此之外,還可以點(diǎn)擊每張圖表中的commit/commits,查看每個(gè)學(xué)生所寫(xiě)的代碼。教師可以根據(jù)學(xué)生提交的代碼質(zhì)量,結(jié)合上述信息,有效區(qū)分小組總體表現(xiàn)和個(gè)人貢獻(xiàn),給出更為合理、公平的分?jǐn)?shù)。

通過(guò)這個(gè)實(shí)例,可以看到將Github應(yīng)用于“高級(jí)程序語(yǔ)言”課程設(shè)計(jì)有以下優(yōu)點(diǎn):一是學(xué)生在propose pull request,以及教師在merge pull request的時(shí)候可以通過(guò)留言評(píng)論形式進(jìn)行交流,即使沒(méi)有登錄Github網(wǎng)站,留言也會(huì)在同一時(shí)間以郵件方式發(fā)送到注冊(cè)賬號(hào)的電子郵箱中。這一功能可以讓教師對(duì)學(xué)生的代碼編寫(xiě)過(guò)程進(jìn)行有效監(jiān)督,如有錯(cuò)誤還可以及時(shí)指正。二是團(tuán)隊(duì)成員可以通過(guò)@某個(gè)用戶的方式與某位成員進(jìn)行交流,有助于團(tuán)隊(duì)成員之間的集思廣益、分工協(xié)作,以及互相監(jiān)督。三是課題完成之后教師可以通過(guò)insight>contributors查看每位組員提交的代碼及提交時(shí)間,有利于形成公平、合理的獎(jiǎng)懲機(jī)制和評(píng)分體系,小組各成員的表現(xiàn)和貢獻(xiàn)一目了然,有助于區(qū)分團(tuán)隊(duì)表現(xiàn)和個(gè)人貢獻(xiàn)。四是通過(guò)Github完成的課程設(shè)計(jì)可以永久保存,為將來(lái)的教學(xué)實(shí)踐和軟件開(kāi)發(fā)實(shí)踐提供實(shí)例和經(jīng)驗(yàn)。五是學(xué)生在使用Github的過(guò)程中還可以與世界各地的程序員進(jìn)行交流,查看其他公開(kāi)的軟件開(kāi)發(fā)項(xiàng)目,有助于開(kāi)闊眼界和思路,提升自己的編程能力。

四、結(jié)語(yǔ)

開(kāi)發(fā)平臺(tái)Github已經(jīng)在編程和軟件開(kāi)發(fā)領(lǐng)域得到了廣泛應(yīng)用,而“依托Github開(kāi)源協(xié)同開(kāi)發(fā)平臺(tái)的實(shí)驗(yàn)教學(xué)方案,既能夠滿足面向程序類設(shè)計(jì)課程的實(shí)驗(yàn)教學(xué)要求,也能讓學(xué)生在學(xué)校教學(xué)活動(dòng)中體驗(yàn)行業(yè)中實(shí)際應(yīng)用的開(kāi)發(fā)環(huán)境”[4]。將這一平臺(tái)應(yīng)用于程序設(shè)計(jì)課程實(shí)踐中,可以加強(qiáng)教師對(duì)學(xué)生設(shè)計(jì)過(guò)程的監(jiān)控,形成更為合理的評(píng)分體系,提升學(xué)生的參與度,形成一種全新的實(shí)驗(yàn)教學(xué)模式。Github開(kāi)發(fā)平臺(tái)為程序設(shè)計(jì)類實(shí)驗(yàn)課程提供了一條新思路,是一個(gè)值得探索的新領(lǐng)域。

參考文獻(xiàn)

[1]教育部高等學(xué)校大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì).大學(xué)計(jì)算機(jī)基礎(chǔ)課程教學(xué)基本要求[M].北京:高等教育出版社,2016.

[2]滕薇.工程認(rèn)證背景下“高級(jí)語(yǔ)言程序設(shè)計(jì)”實(shí)驗(yàn)課程教學(xué)改革探索[J].科技與創(chuàng)新,2020(9):58-59.

[3][日]大塚弘記.Github入門與實(shí)踐[M].北京:人民郵電出版社,2015.

[4]曾少寧.基于Github平臺(tái)的協(xié)同式實(shí)驗(yàn)教學(xué)方法[J].計(jì)算機(jī)教育,2016(12):144-148.

Discussion on the Application of Github in the Course Design of Advanced Programming Language

XIE Jie-hua

(School of Electrical Engineering, Guangxi University, Nanning, Guangxi 530004, China)

Abstract: In order to adapt to the development of information technology, colleges and universities have set up many kinds of computer courses to cultivate talents. Advanced Programming Language, as a computer practice course, aims to consolidate the knowledge learned by students and cultivate students practical ability. This paper analyzes the deficiencies in the traditional model of? the course, and puts forward the suggestion of applying Github, a software project hosting platform, to the course design. It also gives a brief description of the application of Github in the course design by examples, and analyzes the advantages of this new model.

Key words: Advanced Programming Language; Github; software project hosting platform