1. 程式人生 > >如何使用碼雲高校版佈置小組作業? | 碼雲高校版最佳實踐

如何使用碼雲高校版佈置小組作業? | 碼雲高校版最佳實踐

作者:張朗淇、陳彥呈 指導老師:鄭貴鋒

背景

隨著程式設計類課程在各大高校如火如荼地開展,如何有效地系統化地管理學生作業,瞭解學生學習進度成了這類課程任課教師的關注問題。

目前大多數教師都是採用通過FTP、課程網站等方式佈置作業,但如果需要對作業內容作出一些修改時,這種內容變動學生是很難發現的。

同時,針對程式設計課程,有部分作業是以專案的形式佈置,需要學生組隊完成。但目前大多數學生自發組成作業專案團隊的開發模式都十分隨意,每個人都只知道自己做了什麼,卻沒有對整個專案團隊開發進度的清晰認識,甚至部分成員實際上是沒有作出貢獻的。這種開發進度不透明的專案經驗與佈置團隊作業的初衷背道而馳。

碼雲高校版為解決這些問題提供了一個平臺。教師在碼雲上佈置專案作業,學生Fork這個專案,完成後再將其通過Pull Request傳回源專案中等待批改。當作業內容發生改變時,學生也可以通過文件對比輕易找到修改的內容。同時,在碼雲上佈置團隊協作作業,組長可以利用碼雲提供的任務功能對自己的組員釋出任務,方便組員瞭解任務分配情況和整個專案的進度。這樣的方式讓學生更加準確地提前體驗到實際專案開發過程。

本文將以中山大學某具體專案的佈置作為例來講述教師如何利用碼雲佈置小組作業。

前提條件

班級成員已按照小組作業名單完成分組。

新建專案

教師可以通過碼雲佈置教學任務,建立歸屬為具體班級的課程教學專案,並將小組新增進專案成員當中。新建專案的頁面如下圖所示:

圖1:教師將專案名稱等內容填寫完畢後,新建課程專案

專案結構

在這個教學專案的例子中,將作業的具體要求寫在readme檔案中,將作業需要用到的文字材料、圖片或視訊素材等檔案放置在manual資料夾中,並建立兩個空的資料夾code和report用於存放學生完成的程式碼檔案和實驗報告。專案的結構如下圖所示:

圖2:教師可根據實際需求調整專案的目錄結構

組長Fork專案

教師將專案釋出後,組長可以Fork專案到小組倉庫下。每個小組都在各自的倉庫中提交小組作業的程式碼,使得不同分組的成員不會互相干擾,而同個小組的成員可以協同工作。組長Fork專案如下圖所示:

圖3:組長將源專案fork到小組倉庫下,各小組互不干擾

組長分配任務

組長通過釋出任務的方式將任務指派給組員。組長可以在新建任務的頁面指派任務的負責人、任務的優先順序、任務的工期以及任務要求。組員們在各自的分支內按完成任務,最後由組長將各個分支合併入主分支中,完成小組專案的要求。這有利於組長安排程式設計任務的輕重緩急,優先完成程式碼的主幹部分,將效能優化等需求放到後面完成,使得專案按照計劃時間表有序地完成。新建任務的頁面如下圖所示:

圖4:組長將專案功能需求劃分為幾個任務,並分配給每個組員

教師檢查程式碼貢獻量

教師可以通過檢視各個小組專案的統計來統計組員的工作量和貢獻度,有利於按照每個人的工作量給出相應的分數,防止了一些渾水摸魚的情況發生。檢視程式碼統計的頁面如下圖所示:

圖5:教師可在碼雲上檢視每個小組專案中各成員的貢獻,並以此為評分參考

結束語

1.以專案的形式釋出作業,當後續作業需要在原本的基礎上進行迭代開發時,例如在只有UI的作業一的基礎上,增加業務層的程式設計作業。老師可以直接在原專案上增加需求,讓學生可以循序漸進地完成程式碼作業。

2.老師可以通過任務的進度瞭解當前各小隊的進度、個人任務的量,由此客觀的評估每個學生的參與度和積極度,從而使得作業的分數也更加公平和準確,保證了認真做作業的學生得到應得的分數,也可以防止學生渾水摸魚。

3.在小組作業中,組長可以將整個較大的作業劃分為容易完成的小工作,然後指定一份計劃書,通過分配任務的功能,為組員們安排工作內容,並通過任務當中的預計工期來保證按時完成任務。與此同時,也讓每個組員都能參與到程式碼的編寫當中,避免了專案由一兩個學生全部完成的情況。

4.讓學生提前體驗實際開發過程,在使用碼雲的過程中積累Git的使用經驗,熟悉Git的操作指令,以及對Git版本和分支管理的掌握。