如何看待大學CS課程中普遍存在的GOP(Github Oriented Programming)現象?

開源潮流的推動下,越來越多的人願意將自己的課程作業、project、或者自己閑暇時間做的好玩的東西在Github上開源出來。現象雖好,但這在另一個方面給了一些學生諸多方便。課堂上布置的作業基本上在Github上都有人完成過,他們需要做的只是不斷的下載、運行,看哪個項目最符合自己的胃口。

雖說代碼能力為成長性的技能屬性,但是在成績反映上並不公平。教師們不會細緻入微的查看代碼究竟寫的如何,究竟是不是自己寫的,而只是看看效果,給個分數。

出分季,題目心裡略有不平。雖然知道這樣的問題終究無解,也不需要有解,但還是希望大家交流下觀點。

比如這個項目中:ideawu/tftpx · GitHub

作者的原話:「這個項目是我在大學學習時開發的, 後來成為幾乎所有人的課堂作業.」

真是好嘲諷。


剛入學的時候那些計算概論什麼的就不說了,刷刷OJ寫寫書面作業就算了。

但是,後來那些以大作業形式出現的作業,難道老師真心相信交了代碼交了書面報告就理解了?我們以前都是每交一次作業就要去和助教面基(哦不是,面測)一次,通過助教問各種奇怪的問題來考察對於作業的理解。倒不是說需要通過這種手段阻止抄襲,而是只有這樣才能有效地評估學生們的知識掌握程度。

如大家的答案所說,有沒有github對於抄作業一點影響都沒有,想抄自然會想盡辦法抄。而且本身大作業就是在造輪子,有了github上的輪子珠玉在前,有想法的學生自然在看過這些東西的基礎上能夠做出更有意思的輪子。所以我倒是覺得github對於大家的作業有提升的效果。


幾年前,有個叫 pudn 的網站,還有 csdn 上面也不少。這些網站上的代碼不少都是為了被抄襲、為了「造福大眾」而上傳的,up主甚至經常不是代碼原作者。更不用說還有數不清的「課程交流QQ群」、軟磨硬泡找學長要代碼等等……

GitHub好歹還有訪問困難233…

嘛總之這個問題短期內的確無解。要麼讓自己足夠出色碾壓這些抄代碼的,要麼放寬心。

順帶一提,浙大部分課程使用的代碼抄襲檢驗系統效果還是不錯的。不僅僅是個字元串匹配。題主是浙大的,可以建議任課老師也使用這套系統,甚至還可以找何陳兩位教授(沒記錯的話)為這套系統做出改進。


所以有些老師就要求交手寫版了。


最近寫 HSY - RGB 空間的轉換(給作業實現開腦洞用到)查資料走投無路,網上各種模糊或者不靠譜的 HSY 轉換的描述,乃至還有人誤把 HSY 當成其他空間的給了不科學的演算法(我終於實現之後反饋那人,那人說他想寫的是 HSL,然而他實際寫成了 HCY…),Wiki 雖然可信但又剛剛缺了 HSY 的 Saturation 定義,坐標變換腦洞不出來啊::&>_&<::,最後靈機一動想起經常用的 KDE Krita 裡面不是有 HSY 取色器來著,遂 Github 上搜其源碼迅速定位到想要的演算法,抄了兩遍才抄對……多少還是學到了點計算的步驟 &>_&<,多虧了源代碼良心注釋的計算思路……為了抄這演算法還把自己的項目也從 MIT 轉到 GPL 了 &>_&< (說的好像自己的項目會有人來抄一樣

開放代碼是希望別人被自己坑的時候能指明一下不科學的地方,就像我對那位想要 HSL 寫出了個

HCY 然後發布說是 HSY 讓我也誤認為是 HSY 驗證發現卻不對的小夥伴一樣,他被我找到正確答案指正之後也反過來尋求正確的姿勢,這算是共同進步吧……&(Github 連擊超爽的&

放開代碼,就是尋求被自己坑的人的第一步。

要搬別人的 repo 也有門檻吧,比如根目錄那一把 dotfile ,不是自己搞過還是不容易說清楚每個文件存在的意義,特別是和 Github 之外的平台用的,作者一般也不會去特地介紹這種文件,用的人都默默在用……自己寫報告的時候偷偷大力介紹每個文件用途湊頁數倒是不錯 &>﹏&<

另外,作業真的那麼好搜到么?!


第一,會用github就算一個合格的cser了

第二,想抄大作業,就算不用github,百度,谷歌還怕不方便?就算不懂百度,谷歌,大不了我去淘寶網買一個啊。別笑。我們學校程序設計實驗周很多人就這麼幹了。


自己寫的代碼總會被各種方式借到。

深刻想到一句話,代碼寫的好不如報告寫的好。


有一個一種軟體可以檢查抄襲的......我上本科的時候很多學生就是被這個軟體搞死的......


面向github編程不是很正常嗎

最近寫伺服器也是看了別人很多的源碼才知道具體怎麼處理一些細節的


我倒是很想知道大學生們都是怎樣在Github上找到自己的作業答案的。我也想找到作業,考試的答案。我是新手,我總是找不到我想要的答案。。。


Plagiarism Detection

這兩年靠這個殺人越貨無數…………


不知道那個原話的作者是怎麼想的,他當初學習編程的時候沒有看別人的源碼?所以呢?做好自己的就好,github這個工具,可以有效的監督你平時寫代碼的狀態,這點對學生來說很重要啊!找工作的時候別人一眼就看出來你幾斤幾兩了!


我們學校的cs已經非常差了 基本211墊底的水平 就這樣……作業都是面基!


做好自己吧,總有一天無法GOP的。

&聽說真一輩子GOP的也可以混得不錯?


檢查抄襲的對照源碼庫加上github不就行了

多大點事


沒github還有QQ和U盤呢


推薦閱讀:

GitHub入門與實踐
Github 歡迎所有的持續集成工具
開啟 Github Pages 自定義域名 HTTPS 和 HTTP/2 支持?

TAG:抄襲 | 編程 | 大學生 | GitHub | 計算機科學 |