关于编程作业与帮助同学

2020-04-10 21:32:26 +08:00
 Wondertainment

题主目前是大一 CS 系学生,目前上过了学校开设的两门编程课( 上学期是 C/C++ 这学期是 Python )。课后的作业普遍富有挑战性。由于题主的基础可能稍好一些,时常会收到同学的求助。一般我总是尽力的提供帮助,当然这种帮助不会是非常直接的。经过了一个学期以后我有些困惑和思考。

学术诚信是必要的吗

学校的编程课非常看重学术诚信,要求了不能直接交流代码、不能抄袭同学和网络等行为。题主看国外大学公开课的时候,甚至发现去“搜索”解决方案的行为也是学术不诚信的一部分。当然我是理解这么做的用意的,独立的思维训练有助于能力的提升,但如果在一个不自知的点上永远的卡住了而无法自行解决呢?

帮助他人是有益的吗

题主学编程的时候也经常接受别人的帮助。比如有一次别人在检查了我的代码以后提出了很多改进意见,让代码风格变得更加简洁,减少了代码复用。还有一次是介绍给我了重载运算符的概念,让我写面对对象的时候能轻松的排序等。有时候别人还会告诉我一些技巧 /黑魔法。我自认为这些帮助对我的提升大过其它,如果别人没有告诉我,形成这些经验的时间可能要等到很久以后了。

而对于那些我帮助的同学来说,我像别人帮助我那样在帮助他们的时候有意的启发 /引导他们自己发现 bug/介绍一些更加有效率的工具和做法。除非 deadline 临近或者对方 debug 接近崩溃的时候我也帮他们找 bug,必要时也会分享代码和提供直接的帮助。经过一个学期以后,他们的提升并没有我想象的大,这时我在想,是不是我提供的帮助可能阻碍了他们的自我提升?

在校和在职场的 V2er 们怎么看?如果别人来问你问题你会怎么解答呢?

2801 次点击
所在节点    程序员
25 条回复
shpkng
2020-04-10 21:38:25 +08:00
我学校里班上同学的作业基本就源自几个人
AngryMagikarp
2020-04-10 21:47:33 +08:00
我们以前是分小组做的,一般四五个人。然后在小组里是我一个人把所有东西都做完,反正对我来说多做一点能提高自己,对别人来说,能不做最好。因此是双赢的结果。
fumichael
2020-04-10 21:50:09 +08:00
作为学渣
成绩很厉害的人,我叫他学霸
成绩很厉害,关键时刻还能发出助攻的,我叫他学神
CismonX
2020-04-10 21:56:26 +08:00
帮助可以,但是要授之以渔,而不是授之以鱼。后者看上去是方便了,但直接拿过去抄,达不到帮助对方的目的,同时还有可能给自己带来麻烦。我曾经有一次把作业拿给同学抄,被老师查到,自己差点挂科。后来再也没把自己的作业给别人过。要么婉拒,要么就给对方讲思路。
Cielsky
2020-04-10 21:56:53 +08:00
@shpkng 一样
stupidchen
2020-04-10 21:58:46 +08:00
iyear
2020-04-10 22:02:26 +08:00
多讲题没坏处,把握好时间,按关系排名,该拒绝就拒绝,别因为没帮谁纠结
我是这么做的
ysoserious
2020-04-10 22:07:23 +08:00
学习靠正确的方法而不是靠禁止搜索...

读书时候我数学很厉害总是单科年级前几, 我也认为我面对每一道压轴题总是能够独立思考所以我很牛逼, 但是成绩很不稳定偶尔也会跌到百来名. 毕业后我才开始反省, 我数学成绩可能还好但是很少总结数学思想, 自己也不是天才, 不能总是快速分析出这个题的本质是什么. 与此同时, 考试完我也宁愿是自己先花上好长一段时间去"独立思考"而不去和别人交流.

现在想来真是浪费了好多时间.

所以吧, 作为普通人趁着读书时候时间多, 遇到难题先自己动动脑子, 给自己设定一个时间, 如果这个时间内你想不出来就去搜, 或者和别人交流, 得到结果后多想想问题的本质是什么. 不要浪费时间也不要应付任务, 你的能力自然会上去.

如果你不是一心搞科研学术的, 没必要做到绝对的学术诚信(自己把握好度), 只要学到本事安全毕业即可.
chizuo
2020-04-10 22:28:33 +08:00
一般只有朋友才会(略频繁,相比 1 次 2 次而言)去问问题 8,如果自己时间充裕的话,我是愿意帮助别人的,一方面当我有疑问的时候可以请教对方,一方面说不定在解决问题的时候自己也能有所收获。

关于学术诚信这块,我们上学期编译大作业,有不少人的代码都是同一套(一套代码恒流传),这个做好自己就行了,如果是有人想 copy 自己代码,只有无利益相关(比如不是同一个课堂老师)又是比较好的朋友,我才会不情愿的分享一份,一般都是婉拒。

另外搜索解决方案应该不属于学术诚信部分,毕竟你做作业问问题还可以和助教讨论呢

另外我在计组实验,关于最后一个实验 cpu,几乎是不到 10 个人推进了整个系的实验进度(某工科还行的 985 )。这个只能说一种妥协,而且大部分人都抄,你不抄(在确实无法独立完成情况下,实验时间有限,自己能力不行),你吃亏啊!
MK0
2020-04-10 23:20:47 +08:00
反正别让人把你纯当工具使就行
himself65
2020-04-10 23:32:47 +08:00
授人以渔不如授人以渔,如果你丢给别人一个可以找到答案的链接(比如问 Cpp 的语法问题给他 Cpp reference 链接)那他不去看的话,基本还是别教了

从目的的角度来说,有些人问问题是为了解决问题,有些人问问题是解决问题的存在
Legroft
2020-04-10 23:52:35 +08:00
认同 11 楼的看法。如果别人直接问我:诶,这个怎么做啊,然后把题目一贴,我会很不乐意,为什么你不先去尝试一下就直接来问我了,如果是把题目一贴,自己写的代码一贴,跟我说清楚自己的思路,打算怎么做,出现了什么 bug,那么我会十分乐意交流。前者属于什么都不会的,甚至你教给他之后,他还要问你一句为什么是 int sum,为什么不是 int i,int j (打个比方),反正问的就很离谱,如果是后者,得确值得去交流。真正想提升的人,不在于你有没有“帮”他们,在于自身的本质,我感觉你不必产生自责的想法
jin7
2020-04-11 00:12:01 +08:00
一个人做几份不同的 然后收费 哈哈
alphatoad
2020-04-11 00:15:35 +08:00
我校禁止搜索
不过教授很有自信你搜了也不会做,事实上也确实搜了也不会做
learningman
2020-04-11 01:11:52 +08:00
是的,有的时候会的人的一句点拨,不会的人要折腾半个月。
别人来问我问题,我看这人对我有没有帮助。比如说某个算法大佬来问我服务器怎么搭,我会一步步教他,他碰到什么坑也会直接告诉他解法,说实话,自己折腾遇到的很多坑都是类似的。因为我知道以后我算法上有问题,我直接问他,他也能帮我省下很多事情。
但要是我觉得是个菜逼的人来问,我就说个思路让他自己去百度了。。。因为没有可预期的回报。
learningman
2020-04-11 01:13:49 +08:00
而且说实话,那些优秀的人的优秀之处是共通的,你告诉他一个方向,他比你理解的还快。
某些菜就不提了,你把源码扔给他,他都不会配环境。
learningman
2020-04-11 01:15:01 +08:00
我觉得互相的 debug 是绝对有必要的,而且很多时候真的是自己看不出来。。。因为代码都是自己写的,自己心里有一套正确的模板,一眼扫过去一些低级错误反而被忽略了。
msg7086
2020-04-11 01:17:13 +08:00
我们编译原理期末作业,除了我自己做的东西以外全年级大概就两个不同的版本。
mazai
2020-04-11 01:40:42 +08:00
帮助别人在是否有益这一点上毫无疑问是肯定的,可以增加你的代码的规范性以及健壮性,做到一个内省的作用,本质来说这件事情双方都是受益的。
MegrezZhu
2020-04-11 01:43:27 +08:00
不会的去问 TA 啊…或者直接问教授

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/661306

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX