About Cheating and Plagiarism

我先描述一下这次事件的具体通过。昨天3月15号的晚上十点,是第四次做业的deadline。在15号以前,只有五位同窗提交了做业,而在临近deadline的这几个小时内密密麻麻地提交了二十多份做业。和第三次做业同样,我会去github上把各位的代码clone下来看看(就像各位会看看个人同样),这是栋哥搞博客教学的目的,能让咱们之间有交流的机会,甚至可以领略其余学长、甚至是业界大牛的风采。同窗们的做业当中,有bug的我还给他们提出了意见(例如郁杨的博客下面就有我提的意见)。html

当时我看同窗们的代码,有让我比较震惊的事情发生,有的同窗的一些代码与个人几乎如出一辙git

例如,接下来两张图是我写的。程序员

这下面是一些同窗的代码。github

我发下面这张打过马赛克的图片,主要的目的是想告诉大家,我内心有谱。算法

在看到第一份“雷同”的时候,我却是以为我能帮助到他人,自我感受还不错。可是接连几组的雷同代码出如今个人面前,我坐不住了。我看了这几组“借鉴”了个人代码的同窗们的博客,只有恺翔同窗在博客中明确的标注了有参考个人代码,其余的人并无提到,甚至还说这是本身想出来的思路。网络

因此,我在班群里说了这么一句话。app

很让我难过的是,到目前为止,大部分“借鉴”了个人代码却没有标注的人尚未来找我说明。反却是让一些只是单纯地看了我博客的人以为很差意思来向我道歉。框架

我真的以为,有点悲哀的。函数

我也是重新手走过来的,在以前,我遇到一些问题的时候,我也很但愿有人能来帮助我。若是真的有人能帮到我了,我会很感激他们。此次能有缘分和你们作同窗,我想,既然有这个机会帮助到你们,我就会尽最大的努力提供我能提供的帮助。工具

我确实有点生气,也把这件事情跟几个朋友倾诉了。有的人跟我说干脆之后你把做业写好等到deadline以前再发。说实话这不是个人风格,我并不想把什么事都堆到deadline以前一点点时间再作,那样或许会为了及时完成而应付致使做业质量降低。相反,我每次整理一篇博客大概都会花一两个小时甚至更久的时间。发完以后,我还会从头至尾看几遍,字斟句酌,生怕我哪里写的不通顺,可能让人看不懂;生怕哪里的语义表达不清,或许会产生误导……我对本身整理博客和写的代码有一个要求,那就是能让看我博客的各位看得懂!但是很讽刺的是,我费尽心思写出的博客,费尽心思写出可读性高的代码,确实可读性高了,因此大家也就很轻松地看懂,很轻松地拿去用了(个人方法并非最好,我以为王源、郁杨作的都比我好,但有可能,个人代码是最好借鉴的)。

还有一位朋友建议我只发博文不传代码,或者博客上锁,deadline以前再解锁。这有违个人心里:我不想提防个人同窗们,相反,我很想帮助获得大家。知识须要学习而且分享,那才是你们写博客的意义,才对得起栋哥的苦心。并且我一直以为,主动学习比被动学习更有效果,因此我常常乐于为他人讲解困惑,在主动为他人解惑时,也能让本身的水平提升。我向来不是藏着掖着的人,好久以前作过的各类笔记有人来找我要我也就给他们了。但我以为,免费的才是最贵的。那些笔记,是我本身整理的,我本身的东西。直接向我要笔记的,每每是为了应付考试临时抱佛脚,我也不以为他们能从中学到什么东西,或者整理出本身的东西。相比之下,我更喜欢的是可以来和我一块儿探讨问题的同窗,那样才是我欣赏的态度。

或许有的人以为,我很小气,我太神经质,我是傻逼之类的,我不会去妨碍大家这样想。我并不想表面上装做“和和睦气”,那不是我赵畅的为人,我只是想作我本身心里认为对的事情。我帮助别人也不是为了让别人对我感恩戴德,而是大家这样子作(“借鉴”)并非表明个人博客帮助了大家,相反,我会以为是我害了大家!今天因为临近deadline,因此以为在网上抄一份代码也无所谓,那么考试的时候也能做弊,写论文、作实验的时候也能够造假了?!不要以为我是在危言耸听信誉是一我的最重要的东西,是须要用一生去积累的。如临深渊,如履薄冰!(看看国家的征信制度吧,只要你失去了本身的信用,那么之后买房买车,贷款什么的就别想了,够你吃一壶。)

我很感谢思泳同窗可以直面此次的问题,知错能改善莫大焉。我很乐意为你解答你的疑惑。你提到了:

而对于不关键代码,……复制粘贴也算是抄袭的话,那就是不可理喻的了。

例如百度一下冒泡算法,就会发现不少种方法,若是说咱们学会了其中一种方法,而在以后要用到这种方法发微博就要说明出处的话,那是不可能的。……做为一名程序员或学生,应该要全理解这段代码而后能在脱离网络的状况下写出来,复制粘贴是能够的,只是一种学习过程,固然,你不这么作如今也没有任何惩罚,只是这样自欺欺人是必定要在之后付出代价的

就算你认为这段代码不关键,但那是他人的工做成果。若是你自认为引用一下无所谓,那么请标明你的引用来源,更况且你“引用”过来是为了完成做业,做业的目的是为了让你学习,而不是什么压榨你的时间的存在,因此请认真对待做业。若是看了别人的思路有启发,那很不错,但最好仍是写本身的东西

你举的冒泡排序的算法做为例子,我却是以为没有什么问题,我对于加粗的部分尤为赞同。然而这两件事情是不能够相提并论的,它们的属性不一样。你能够经过百度冒泡算法来学习算法怎么写,但你不能够冠冕堂皇地借鉴别的同窗的代码,这是有关于学术诚信的事情。

若是这种观点不对的话,而且你的观点是全部程序员公认而非某我的的我的观点话,请告诉我,我必定会改正。

最近我在学习CSAPP,我会去CMU的课程网站上使用他们的学习资料。在看他们的的ppt时,有一些东西让我很是的震惊。没错,就是震惊,只有这个词能形容我看到如下这个页面时候的感觉。

Academic Integrity,学术诚信。在这门课尚未正式开讲以前,CMU使用了长达十页的ppt篇幅介绍关于学术诚信的重要性。先学作人,再学其余知识。其中包括的内容有

  • 哪些获取使用信息的行为是不符合学术诚信的要求的?
  • 到底哪些行为属于做弊、抄袭的范围?
  • 哪些行为不属于抄袭和做弊?哪些行为是受到鼓励的?
  • 若是你违反了学术诚信的规定,有什么后果
  • 场景分析,举了不少生动翔实的例子来讲明。

我以为咱们中国的大学有一点理念确实落后于国外的大学,就是关于学术诚信。诸位应该不多有在大学时上过的课,老师有专门为你们科普学术诚信的内容把?到了期末考,做弊什么的现象家常便饭,甚至不少毕业论文的内容也被称为“学术垃圾”。下面我对上面几个内容翻译一些CMU课程条例中的规定,但愿你们可以有所思考

如下都来源于CMU ICS 2017春季课程的PPT和课程条例,我是渣翻译,还请你们上网站看原文

Firstly,Ignorance is not an excuse!

不被容许的使用他人信息(use)的行为:
1.剽窃代码,包括复制、上网搜索、从新输入(注:看着别人的代码重打一遍)、窥视他人文档和代码。

2.重用原先的课程或者网络上的代码或解决方案。

不被容许的使用本身信息(supply)的行为:
1.分享代码(注:我不反对咱们的课程形式,只是但愿你们自觉)

2.口头为他人描述代码(注:这里指的是描述具体的代码段)

3.为他人提供很是细节的指导(注:providing detailed directions,本身意会为何这个是做弊吧)

哪些行为不是做弊,甚至受到鼓励?
1.帮助他人在如何使用各类工具方面,包括但不限于系统、网络、编译器、调试器。

2.帮助他人关于高层次的设计问题(注:Helping others with high-level design issues only,比方说,探讨整个问题的框架,是容许的。若是须要讨论的问题要用代码来描述,那就不是高层次的设计问题)

3.帮助他人关于高层次的debug(Helping others with high-level (not code-based) debugging. 例如:你有一个流程图,但思路受阻,能够请教他人,他人指出你流程图中有一个流程不对)

4.向老师和助教请求帮助。使用老师或助教或课程提供的代码和页面。

特别地,在PPT中,还特别提到This is OK,Googling a man page for fputs。若是你某个函数不会用,是能够去查找它的用法的。

违规的后果

(注:截取几条)

AIV:Academic Integrity Violation,每一个在CMU的大学生若是由于做弊或者诚信问题受处处分会记上一个AIV。

共勉


最后,因祸得福焉知非福。起码说明个人代码和博客写的仍是很好的,可以让你们看得懂。还有就是,很感谢几位支持个人朋友。

推荐几个连接给你们:

相关文章
相关标签/搜索