看板 C_and_CPP 關於我們 聯絡資訊
大家好, 我從以前就有一直這個問題, 在大學裡面像是資料結構、演算法這種課程, 一定會希望學生自己去實作一些基礎的功能, 而這些功能又常是STL等等函式庫裡有提供的, 如果作業的批改當中沒有辦法一一的去看學生的code, 要如何避免學生偷懶去使用某些特定的container或function? 最簡單最直觀的方法,就是針對每一份code去移除code裡面這些被include的header, 甚至去把那些lib直接從原本的路徑移開或者重新命名。 可是有什麼比較有效率的做法嗎? 例如在makefile當中去禁止, 或者用寫一些可以讓編譯器預處理掉這些lib的code。 不知道大家有沒有什麼經驗? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.85.135 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1481168767.A.2B5.html
shadow0326: #ifdef _GLIBCXX_VECTOR 就 #error 之類的? 12/08 12:03
Sylveon: 114我不是很想告訴你,可以加-D_GLIBCXX_VECTOR 之類的 12/08 12:49
Sylveon: 把一些東西弄掉 12/08 12:49
Caesar08: 如果學生直接找source code貼上呢? 12/08 12:55
Sylveon: 有人這樣幹過啊,可是那位本來就很強,要不要認真實作是 12/08 13:15
Sylveon: 學生的事,一直搞下去也只會變成補洞大會而已,也有可能 12/08 13:15
Sylveon: 把其他正常的Code搞爛 12/08 13:15
james732: 我之前當助教,程式作業都會一個一個看耶QQ 12/08 13:17
x000032001: 限定只能寫C 12/08 13:19
stupid0319: 會有天才學生寫出神CODE來搞助教的嗎 12/08 13:23
CoNsTaR: 我大一的時候讀了幾本深入剖析 stl 之類的書 資結作業我 12/08 13:34
CoNsTaR: 都比照 SGI stl 的寫 還記得不過是一個 linked list 我寫 12/08 13:34
CoNsTaR: 了兩天 總共 1100 多行 XD 12/08 13:34
Sylveon: 有的~ 12/08 13:35
CoNsTaR: 當時其實還滿擔心助教說我是複製貼上 stl 的,不過還好沒 12/08 13:36
CoNsTaR: 有 12/08 13:36
pttworld: 撰寫簡易讀取資料夾底下程式檔案逐行比對之程式。 12/08 14:03
chchwy: 這種簡單的批次文字掃描用grep吧 12/08 17:03
chchwy: 不然用notepad++也可以對整個目錄搜尋 不需要自己看 12/08 17:03
kipi91718: 感謝大家的意見 貼上整個source code的這個 能成功也只 12/08 18:24
kipi91718: 能說本來就很厲害XD 12/08 18:24
Ommm5566: 有辦法 但是出作業的人負擔會比較大 12/11 13:26
Ommm5566: 你寫好一個template框架 然後要求學生去Inheritance這個 12/11 13:28
Ommm5566: 框架去擴充完成作業 12/11 13:28
Ommm5566: 甚至連main()裡面都寫好,要求這邊不能動 12/11 13:30
Ommm5566: 不過這樣已經有點TDD味道了 12/11 13:32
wtchen: Coursera有些C++的課就是這樣弄的。 12/11 17:40